????

Your IP : 3.16.154.37


Current Path : C:/inetpub/vhost/donthu.gdtsolutions.vn/api/wwwroot/assets/plugins/pdfjs-dist/
Upload File :
Current File : C:/inetpub/vhost/donthu.gdtsolutions.vn/api/wwwroot/assets/plugins/pdfjs-dist/pdf.worker.min.js

/**
 * @licstart The following is the entire license notice for the
 * JavaScript code in this page
 *
 * Copyright 2023 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @licend The above is the entire license notice for the
 * JavaScript code in this page
 */
!(function webpackUniversalModuleDefinition(e, t) {
  'object' == typeof exports && 'object' == typeof module
    ? (module.exports = t())
    : 'function' == typeof define && define.amd
    ? define('pdfjs-dist/build/pdf.worker', [], t)
    : 'object' == typeof exports
    ? (exports['pdfjs-dist/build/pdf.worker'] = t())
    : (e['pdfjs-dist/build/pdf.worker'] = e.pdfjsWorker = t());
})(globalThis, () =>
  (() => {
    'use strict';
    var e = [
        ,
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.WorkerTask = t.WorkerMessageHandler = void 0;
          var r = a(2),
            n = a(3),
            i = a(4),
            s = a(6),
            o = a(69),
            c = a(63),
            l = a(100),
            h = a(101),
            u = a(102);
          class WorkerTask {
            constructor(e) {
              this.name = e;
              this.terminated = !1;
              this._capability = (0, r.createPromiseCapability)();
            }
            get finished() {
              return this._capability.promise;
            }
            finish() {
              this._capability.resolve();
            }
            terminate() {
              this.terminated = !0;
            }
            ensureNotTerminated() {
              if (this.terminated) throw new Error('Worker task was terminated');
            }
          }
          t.WorkerTask = WorkerTask;
          class WorkerMessageHandler {
            static setup(e, t) {
              let a = !1;
              e.on('test', function (t) {
                if (!a) {
                  a = !0;
                  e.send('test', t instanceof Uint8Array);
                }
              });
              e.on('configure', function (e) {
                (0, r.setVerbosityLevel)(e.verbosity);
              });
              e.on('GetDocRequest', function (e) {
                return WorkerMessageHandler.createDocumentHandler(e, t);
              });
            }
            static createDocumentHandler(e, t) {
              let a,
                d = !1,
                f = null;
              const g = new Set(),
                p = (0, r.getVerbosityLevel)(),
                { docId: m, apiVersion: b } = e,
                y = '3.4.120';
              if (b !== y) throw new Error(`The API version "${b}" does not match the Worker version "${y}".`);
              const w = [];
              for (const e in []) w.push(e);
              if (w.length)
                throw new Error(
                  'The `Array.prototype` contains unexpected enumerable properties: ' +
                    w.join(', ') +
                    '; thus breaking e.g. `for...in` iteration of `Array`s.'
                );
              if ('undefined' == typeof ReadableStream) {
                const e =
                  'The browser/environment lacks native support for critical functionality used by the PDF.js library (e.g. `ReadableStream`); ';
                if (l.isNodeJS) throw new Error(e + 'please use a `legacy`-build instead.');
                throw new Error(e + 'please update to a supported browser.');
              }
              const S = m + '_worker';
              let x = new h.MessageHandler(S, m, t);
              function ensureNotTerminated() {
                if (d) throw new Error('Worker was terminated');
              }
              function startWorkerTask(e) {
                g.add(e);
              }
              function finishWorkerTask(e) {
                e.finish();
                g.delete(e);
              }
              async function loadDocument(e) {
                await a.ensureDoc('checkHeader');
                await a.ensureDoc('parseStartXRef');
                await a.ensureDoc('parse', [e]);
                await a.ensureDoc('checkFirstPage', [e]);
                await a.ensureDoc('checkLastPage', [e]);
                const t = await a.ensureDoc('isPureXfa');
                if (t) {
                  const e = new WorkerTask('loadXfaFonts');
                  startWorkerTask(e);
                  await Promise.all([
                    a
                      .loadXfaFonts(x, e)
                      .catch((e) => {})
                      .then(() => finishWorkerTask(e)),
                    a.loadXfaImages(),
                  ]);
                }
                const [r, n] = await Promise.all([a.ensureDoc('numPages'), a.ensureDoc('fingerprints')]);
                return { numPages: r, fingerprints: n, htmlForXfa: t ? await a.ensureDoc('htmlForXfa') : null };
              }
              function getPdfManager({
                data: e,
                password: t,
                disableAutoFetch: a,
                rangeChunkSize: i,
                length: o,
                docBaseUrl: c,
                enableXfa: l,
                evaluatorOptions: h,
              }) {
                const d = {
                    source: null,
                    disableAutoFetch: a,
                    docBaseUrl: c,
                    docId: m,
                    enableXfa: l,
                    evaluatorOptions: h,
                    handler: x,
                    length: o,
                    password: t,
                    rangeChunkSize: i,
                  },
                  g = (0, r.createPromiseCapability)();
                let p;
                if (e) {
                  try {
                    d.source = e;
                    p = new s.LocalPdfManager(d);
                    g.resolve(p);
                  } catch (e) {
                    g.reject(e);
                  }
                  return g.promise;
                }
                let b,
                  y = [];
                try {
                  b = new u.PDFWorkerStream(x);
                } catch (e) {
                  g.reject(e);
                  return g.promise;
                }
                const w = b.getFullReader();
                w.headersReady
                  .then(function () {
                    if (w.isRangeSupported) {
                      d.source = b;
                      d.length = w.contentLength;
                      d.disableAutoFetch = d.disableAutoFetch || w.isStreamingSupported;
                      p = new s.NetworkPdfManager(d);
                      for (const e of y) p.sendProgressiveData(e);
                      y = [];
                      g.resolve(p);
                      f = null;
                    }
                  })
                  .catch(function (e) {
                    g.reject(e);
                    f = null;
                  });
                let S = 0;
                new Promise(function (e, t) {
                  const readChunk = function ({ value: e, done: a }) {
                    try {
                      ensureNotTerminated();
                      if (a) {
                        p ||
                          (function () {
                            const e = (0, n.arrayBuffersToBytes)(y);
                            o && e.length !== o && (0, r.warn)('reported HTTP length is different from actual');
                            try {
                              d.source = e;
                              p = new s.LocalPdfManager(d);
                              g.resolve(p);
                            } catch (e) {
                              g.reject(e);
                            }
                            y = [];
                          })();
                        f = null;
                        return;
                      }
                      S += e.byteLength;
                      w.isStreamingSupported ||
                        x.send('DocProgress', { loaded: S, total: Math.max(S, w.contentLength || 0) });
                      p ? p.sendProgressiveData(e) : y.push(e);
                      w.read().then(readChunk, t);
                    } catch (e) {
                      t(e);
                    }
                  };
                  w.read().then(readChunk, t);
                }).catch(function (e) {
                  g.reject(e);
                  f = null;
                });
                f = function (e) {
                  b.cancelAllRequests(e);
                };
                return g.promise;
              }
              x.on('GetPage', function (e) {
                return a.getPage(e.pageIndex).then(function (e) {
                  return Promise.all([
                    a.ensure(e, 'rotate'),
                    a.ensure(e, 'ref'),
                    a.ensure(e, 'userUnit'),
                    a.ensure(e, 'view'),
                  ]).then(function ([e, t, a, r]) {
                    return { rotate: e, ref: t, userUnit: a, view: r };
                  });
                });
              });
              x.on('GetPageIndex', function (e) {
                const t = i.Ref.get(e.num, e.gen);
                return a.ensureCatalog('getPageIndex', [t]);
              });
              x.on('GetDestinations', function (e) {
                return a.ensureCatalog('destinations');
              });
              x.on('GetDestination', function (e) {
                return a.ensureCatalog('getDestination', [e.id]);
              });
              x.on('GetPageLabels', function (e) {
                return a.ensureCatalog('pageLabels');
              });
              x.on('GetPageLayout', function (e) {
                return a.ensureCatalog('pageLayout');
              });
              x.on('GetPageMode', function (e) {
                return a.ensureCatalog('pageMode');
              });
              x.on('GetViewerPreferences', function (e) {
                return a.ensureCatalog('viewerPreferences');
              });
              x.on('GetOpenAction', function (e) {
                return a.ensureCatalog('openAction');
              });
              x.on('GetAttachments', function (e) {
                return a.ensureCatalog('attachments');
              });
              x.on('GetJavaScript', function (e) {
                return a.ensureCatalog('javaScript');
              });
              x.on('GetDocJSActions', function (e) {
                return a.ensureCatalog('jsActions');
              });
              x.on('GetPageJSActions', function ({ pageIndex: e }) {
                return a.getPage(e).then(function (e) {
                  return a.ensure(e, 'jsActions');
                });
              });
              x.on('GetOutline', function (e) {
                return a.ensureCatalog('documentOutline');
              });
              x.on('GetOptionalContentConfig', function (e) {
                return a.ensureCatalog('optionalContentConfig');
              });
              x.on('GetPermissions', function (e) {
                return a.ensureCatalog('permissions');
              });
              x.on('GetMetadata', function (e) {
                return Promise.all([a.ensureDoc('documentInfo'), a.ensureCatalog('metadata')]);
              });
              x.on('GetMarkInfo', function (e) {
                return a.ensureCatalog('markInfo');
              });
              x.on('GetData', function (e) {
                return a.requestLoadedStream().then(function (e) {
                  return e.bytes;
                });
              });
              x.on('GetAnnotations', function ({ pageIndex: e, intent: t }) {
                return a.getPage(e).then(function (a) {
                  const r = new WorkerTask(`GetAnnotations: page ${e}`);
                  startWorkerTask(r);
                  return a.getAnnotationsData(x, r, t).then(
                    (e) => {
                      finishWorkerTask(r);
                      return e;
                    },
                    (e) => {
                      finishWorkerTask(r);
                      throw e;
                    }
                  );
                });
              });
              x.on('GetFieldObjects', function (e) {
                return a.ensureDoc('fieldObjects');
              });
              x.on('HasJSActions', function (e) {
                return a.ensureDoc('hasJSActions');
              });
              x.on('GetCalculationOrderIds', function (e) {
                return a.ensureDoc('calculationOrderIds');
              });
              x.on('SaveDocument', function ({ isPureXfa: e, numPages: t, annotationStorage: s, filename: o }) {
                const l = [
                    a.requestLoadedStream(),
                    a.ensureCatalog('acroForm'),
                    a.ensureCatalog('acroFormRef'),
                    a.ensureDoc('xref'),
                    a.ensureDoc('startXRef'),
                  ],
                  h = e ? null : (0, n.getNewAnnotationsMap)(s);
                if (h)
                  for (const [e, t] of h)
                    l.push(
                      a.getPage(e).then((a) => {
                        const r = new WorkerTask(`Save (editor): page ${e}`);
                        return a.saveNewAnnotations(x, r, t).finally(function () {
                          finishWorkerTask(r);
                        });
                      })
                    );
                if (e) l.push(a.serializeXfaData(s));
                else
                  for (let e = 0; e < t; e++)
                    l.push(
                      a.getPage(e).then(function (t) {
                        const a = new WorkerTask(`Save: page ${e}`);
                        return t.save(x, a, s).finally(function () {
                          finishWorkerTask(a);
                        });
                      })
                    );
                return Promise.all(l).then(function ([t, a, n, s, l, ...h]) {
                  let u = [],
                    d = null;
                  if (e) {
                    d = h[0];
                    if (!d) return t.bytes;
                  } else {
                    u = h.flat(2);
                    if (0 === u.length) return t.bytes;
                  }
                  const f = n && a instanceof i.Dict && u.some((e) => e.needAppearances),
                    g = (a instanceof i.Dict && a.get('XFA')) || null;
                  let p = null,
                    m = !1;
                  if (Array.isArray(g)) {
                    for (let e = 0, t = g.length; e < t; e += 2)
                      if ('datasets' === g[e]) {
                        p = g[e + 1];
                        m = !0;
                      }
                    null === p && (p = s.getNewTemporaryRef());
                  } else g && (0, r.warn)('Unsupported XFA type.');
                  let b = Object.create(null);
                  if (s.trailer) {
                    const e = Object.create(null),
                      t = s.trailer.get('Info') || null;
                    t instanceof i.Dict &&
                      t.forEach((t, a) => {
                        'string' == typeof a && (e[t] = (0, r.stringToPDFString)(a));
                      });
                    b = {
                      rootRef: s.trailer.getRaw('Root') || null,
                      encryptRef: s.trailer.getRaw('Encrypt') || null,
                      newRef: s.getNewTemporaryRef(),
                      infoRef: s.trailer.getRaw('Info') || null,
                      info: e,
                      fileIds: s.trailer.get('ID') || null,
                      startXRef: l,
                      filename: o,
                    };
                  }
                  try {
                    return (0,
                    c.incrementalUpdate)({ originalData: t.bytes, xrefInfo: b, newRefs: u, xref: s, hasXfa: !!g, xfaDatasetsRef: p, hasXfaDatasetsEntry: m, needAppearances: f, acroFormRef: n, acroForm: a, xfaData: d });
                  } finally {
                    s.resetNewTemporaryRef();
                  }
                });
              });
              x.on('GetOperatorList', function (e, t) {
                const n = e.pageIndex;
                a.getPage(n).then(function (a) {
                  const i = new WorkerTask(`GetOperatorList: page ${n}`);
                  startWorkerTask(i);
                  const s = p >= r.VerbosityLevel.INFOS ? Date.now() : 0;
                  a.getOperatorList({
                    handler: x,
                    sink: t,
                    task: i,
                    intent: e.intent,
                    cacheKey: e.cacheKey,
                    annotationStorage: e.annotationStorage,
                  }).then(
                    function (e) {
                      finishWorkerTask(i);
                      s && (0, r.info)(`page=${n + 1} - getOperatorList: time=${Date.now() - s}ms, len=${e.length}`);
                      t.close();
                    },
                    function (e) {
                      finishWorkerTask(i);
                      i.terminated || t.error(e);
                    }
                  );
                });
              });
              x.on('GetTextContent', function (e, t) {
                const n = e.pageIndex;
                a.getPage(n).then(function (a) {
                  const i = new WorkerTask('GetTextContent: page ' + n);
                  startWorkerTask(i);
                  const s = p >= r.VerbosityLevel.INFOS ? Date.now() : 0;
                  a.extractTextContent({
                    handler: x,
                    task: i,
                    sink: t,
                    includeMarkedContent: e.includeMarkedContent,
                    combineTextItems: e.combineTextItems,
                  }).then(
                    function () {
                      finishWorkerTask(i);
                      s && (0, r.info)(`page=${n + 1} - getTextContent: time=` + (Date.now() - s) + 'ms');
                      t.close();
                    },
                    function (e) {
                      finishWorkerTask(i);
                      i.terminated || t.error(e);
                    }
                  );
                });
              });
              x.on('GetStructTree', function (e) {
                return a.getPage(e.pageIndex).then(function (e) {
                  return a.ensure(e, 'getStructTree');
                });
              });
              x.on('FontFallback', function (e) {
                return a.fontFallback(e.id, x);
              });
              x.on('Cleanup', function (e) {
                return a.cleanup(!0);
              });
              x.on('Terminate', function (e) {
                d = !0;
                const t = [];
                if (a) {
                  a.terminate(new r.AbortException('Worker was terminated.'));
                  const e = a.cleanup();
                  t.push(e);
                  a = null;
                } else (0, o.clearGlobalCaches)();
                f && f(new r.AbortException('Worker was terminated.'));
                for (const e of g) {
                  t.push(e.finished);
                  e.terminate();
                }
                return Promise.all(t).then(function () {
                  x.destroy();
                  x = null;
                });
              });
              x.on('Ready', function (t) {
                !(function setupDoc(e) {
                  function onSuccess(e) {
                    ensureNotTerminated();
                    x.send('GetDoc', { pdfInfo: e });
                  }
                  function onFailure(e) {
                    ensureNotTerminated();
                    if (e instanceof r.PasswordException) {
                      const t = new WorkerTask(`PasswordException: response ${e.code}`);
                      startWorkerTask(t);
                      x.sendWithPromise('PasswordRequest', e)
                        .then(function ({ password: e }) {
                          finishWorkerTask(t);
                          a.updatePassword(e);
                          pdfManagerReady();
                        })
                        .catch(function () {
                          finishWorkerTask(t);
                          x.send('DocException', e);
                        });
                    } else
                      e instanceof r.InvalidPDFException ||
                      e instanceof r.MissingPDFException ||
                      e instanceof r.UnexpectedResponseException ||
                      e instanceof r.UnknownErrorException
                        ? x.send('DocException', e)
                        : x.send('DocException', new r.UnknownErrorException(e.message, e.toString()));
                  }
                  function pdfManagerReady() {
                    ensureNotTerminated();
                    loadDocument(!1).then(onSuccess, function (e) {
                      ensureNotTerminated();
                      e instanceof n.XRefParseException
                        ? a.requestLoadedStream().then(function () {
                            ensureNotTerminated();
                            loadDocument(!0).then(onSuccess, onFailure);
                          })
                        : onFailure(e);
                    });
                  }
                  ensureNotTerminated();
                  getPdfManager(e)
                    .then(function (e) {
                      if (d) {
                        e.terminate(new r.AbortException('Worker was terminated.'));
                        throw new Error('Worker was terminated');
                      }
                      a = e;
                      a.requestLoadedStream(!0).then((e) => {
                        x.send('DataLoaded', { length: e.bytes.byteLength });
                      });
                    })
                    .then(pdfManagerReady, onFailure);
                })(e);
                e = null;
              });
              return S;
            }
            static initializeFromPort(e) {
              const t = new h.MessageHandler('worker', 'main', e);
              WorkerMessageHandler.setup(t, e);
              t.send('ready', null);
            }
          }
          t.WorkerMessageHandler = WorkerMessageHandler;
          'undefined' == typeof window &&
            !l.isNodeJS &&
            'undefined' != typeof self &&
            (function isMessagePort(e) {
              return 'function' == typeof e.postMessage && 'onmessage' in e;
            })(self) &&
            WorkerMessageHandler.initializeFromPort(self);
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.VerbosityLevel =
            t.Util =
            t.UnknownErrorException =
            t.UnexpectedResponseException =
            t.UNSUPPORTED_FEATURES =
            t.TextRenderingMode =
            t.RenderingIntentFlag =
            t.PermissionFlag =
            t.PasswordResponses =
            t.PasswordException =
            t.PageActionEventType =
            t.OPS =
            t.MissingPDFException =
            t.LINE_FACTOR =
            t.LINE_DESCENT_FACTOR =
            t.InvalidPDFException =
            t.ImageKind =
            t.IDENTITY_MATRIX =
            t.FormatError =
            t.FeatureTest =
            t.FONT_IDENTITY_MATRIX =
            t.DocumentActionEventType =
            t.CMapCompressionType =
            t.BaseException =
            t.BASELINE_FACTOR =
            t.AnnotationType =
            t.AnnotationStateModelType =
            t.AnnotationReviewState =
            t.AnnotationReplyType =
            t.AnnotationMode =
            t.AnnotationMarkedState =
            t.AnnotationFlag =
            t.AnnotationFieldFlag =
            t.AnnotationEditorType =
            t.AnnotationEditorPrefix =
            t.AnnotationEditorParamsType =
            t.AnnotationBorderStyleType =
            t.AnnotationActionEventType =
            t.AbortException =
              void 0;
          t.assert = function assert(e, t) {
            e || unreachable(t);
          };
          t.bytesToString = function bytesToString(e) {
            ('object' == typeof e && null !== e && void 0 !== e.length) ||
              unreachable('Invalid argument for bytesToString');
            const t = e.length,
              a = 8192;
            if (t < a) return String.fromCharCode.apply(null, e);
            const r = [];
            for (let n = 0; n < t; n += a) {
              const i = Math.min(n + a, t),
                s = e.subarray(n, i);
              r.push(String.fromCharCode.apply(null, s));
            }
            return r.join('');
          };
          t.createPromiseCapability = function createPromiseCapability() {
            const e = Object.create(null);
            let t = !1;
            Object.defineProperty(e, 'settled', { get: () => t });
            e.promise = new Promise(function (a, r) {
              e.resolve = function (e) {
                t = !0;
                a(e);
              };
              e.reject = function (e) {
                t = !0;
                r(e);
              };
            });
            return e;
          };
          t.createValidAbsoluteUrl = function createValidAbsoluteUrl(e, t = null, a = null) {
            if (!e) return null;
            try {
              if (a && 'string' == typeof e) {
                if (a.addDefaultProtocol && e.startsWith('www.')) {
                  const t = e.match(/\./g);
                  t && t.length >= 2 && (e = `http://${e}`);
                }
                if (a.tryConvertEncoding)
                  try {
                    e = stringToUTF8String(e);
                  } catch (e) {}
              }
              const r = t ? new URL(e, t) : new URL(e);
              if (
                (function _isValidProtocol(e) {
                  if (!e) return !1;
                  switch (e.protocol) {
                    case 'http:':
                    case 'https:':
                    case 'ftp:':
                    case 'mailto:':
                    case 'tel:':
                      return !0;
                    default:
                      return !1;
                  }
                })(r)
              )
                return r;
            } catch (e) {}
            return null;
          };
          t.getModificationDate = function getModificationDate(e = new Date()) {
            return [
              e.getUTCFullYear().toString(),
              (e.getUTCMonth() + 1).toString().padStart(2, '0'),
              e.getUTCDate().toString().padStart(2, '0'),
              e.getUTCHours().toString().padStart(2, '0'),
              e.getUTCMinutes().toString().padStart(2, '0'),
              e.getUTCSeconds().toString().padStart(2, '0'),
            ].join('');
          };
          t.getVerbosityLevel = function getVerbosityLevel() {
            return r;
          };
          t.info = function info(e) {
            r >= a.INFOS && console.log(`Info: ${e}`);
          };
          t.isArrayBuffer = function isArrayBuffer(e) {
            return 'object' == typeof e && null !== e && void 0 !== e.byteLength;
          };
          t.isArrayEqual = function isArrayEqual(e, t) {
            if (e.length !== t.length) return !1;
            for (let a = 0, r = e.length; a < r; a++) if (e[a] !== t[a]) return !1;
            return !0;
          };
          t.objectFromMap = function objectFromMap(e) {
            const t = Object.create(null);
            for (const [a, r] of e) t[a] = r;
            return t;
          };
          t.objectSize = function objectSize(e) {
            return Object.keys(e).length;
          };
          t.setVerbosityLevel = function setVerbosityLevel(e) {
            Number.isInteger(e) && (r = e);
          };
          t.shadow = shadow;
          t.string32 = function string32(e) {
            return String.fromCharCode((e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, 255 & e);
          };
          t.stringToBytes = stringToBytes;
          t.stringToPDFString = function stringToPDFString(e) {
            if (e[0] >= 'ï') {
              let t;
              'þ' === e[0] && 'ÿ' === e[1]
                ? (t = 'utf-16be')
                : 'ÿ' === e[0] && 'þ' === e[1]
                ? (t = 'utf-16le')
                : 'ï' === e[0] && '»' === e[1] && '¿' === e[2] && (t = 'utf-8');
              if (t)
                try {
                  const a = new TextDecoder(t, { fatal: !0 }),
                    r = stringToBytes(e);
                  return a.decode(r);
                } catch (e) {
                  warn(`stringToPDFString: "${e}".`);
                }
            }
            const t = [];
            for (let a = 0, r = e.length; a < r; a++) {
              const r = s[e.charCodeAt(a)];
              t.push(r ? String.fromCharCode(r) : e.charAt(a));
            }
            return t.join('');
          };
          t.stringToUTF8String = stringToUTF8String;
          t.unreachable = unreachable;
          t.utf8StringToString = function utf8StringToString(e) {
            return unescape(encodeURIComponent(e));
          };
          t.warn = warn;
          t.IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
          t.FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
          t.LINE_FACTOR = 1.35;
          t.LINE_DESCENT_FACTOR = 0.35;
          t.BASELINE_FACTOR = 0.25925925925925924;
          t.RenderingIntentFlag = {
            ANY: 1,
            DISPLAY: 2,
            PRINT: 4,
            SAVE: 8,
            ANNOTATIONS_FORMS: 16,
            ANNOTATIONS_STORAGE: 32,
            ANNOTATIONS_DISABLE: 64,
            OPLIST: 256,
          };
          t.AnnotationMode = { DISABLE: 0, ENABLE: 1, ENABLE_FORMS: 2, ENABLE_STORAGE: 3 };
          t.AnnotationEditorPrefix = 'pdfjs_internal_editor_';
          t.AnnotationEditorType = { DISABLE: -1, NONE: 0, FREETEXT: 3, INK: 15 };
          t.AnnotationEditorParamsType = {
            FREETEXT_SIZE: 1,
            FREETEXT_COLOR: 2,
            FREETEXT_OPACITY: 3,
            INK_COLOR: 11,
            INK_THICKNESS: 12,
            INK_OPACITY: 13,
          };
          t.PermissionFlag = {
            PRINT: 4,
            MODIFY_CONTENTS: 8,
            COPY: 16,
            MODIFY_ANNOTATIONS: 32,
            FILL_INTERACTIVE_FORMS: 256,
            COPY_FOR_ACCESSIBILITY: 512,
            ASSEMBLE: 1024,
            PRINT_HIGH_QUALITY: 2048,
          };
          t.TextRenderingMode = {
            FILL: 0,
            STROKE: 1,
            FILL_STROKE: 2,
            INVISIBLE: 3,
            FILL_ADD_TO_PATH: 4,
            STROKE_ADD_TO_PATH: 5,
            FILL_STROKE_ADD_TO_PATH: 6,
            ADD_TO_PATH: 7,
            FILL_STROKE_MASK: 3,
            ADD_TO_PATH_FLAG: 4,
          };
          t.ImageKind = { GRAYSCALE_1BPP: 1, RGB_24BPP: 2, RGBA_32BPP: 3 };
          t.AnnotationType = {
            TEXT: 1,
            LINK: 2,
            FREETEXT: 3,
            LINE: 4,
            SQUARE: 5,
            CIRCLE: 6,
            POLYGON: 7,
            POLYLINE: 8,
            HIGHLIGHT: 9,
            UNDERLINE: 10,
            SQUIGGLY: 11,
            STRIKEOUT: 12,
            STAMP: 13,
            CARET: 14,
            INK: 15,
            POPUP: 16,
            FILEATTACHMENT: 17,
            SOUND: 18,
            MOVIE: 19,
            WIDGET: 20,
            SCREEN: 21,
            PRINTERMARK: 22,
            TRAPNET: 23,
            WATERMARK: 24,
            THREED: 25,
            REDACT: 26,
          };
          t.AnnotationStateModelType = { MARKED: 'Marked', REVIEW: 'Review' };
          t.AnnotationMarkedState = { MARKED: 'Marked', UNMARKED: 'Unmarked' };
          t.AnnotationReviewState = {
            ACCEPTED: 'Accepted',
            REJECTED: 'Rejected',
            CANCELLED: 'Cancelled',
            COMPLETED: 'Completed',
            NONE: 'None',
          };
          t.AnnotationReplyType = { GROUP: 'Group', REPLY: 'R' };
          t.AnnotationFlag = {
            INVISIBLE: 1,
            HIDDEN: 2,
            PRINT: 4,
            NOZOOM: 8,
            NOROTATE: 16,
            NOVIEW: 32,
            READONLY: 64,
            LOCKED: 128,
            TOGGLENOVIEW: 256,
            LOCKEDCONTENTS: 512,
          };
          t.AnnotationFieldFlag = {
            READONLY: 1,
            REQUIRED: 2,
            NOEXPORT: 4,
            MULTILINE: 4096,
            PASSWORD: 8192,
            NOTOGGLETOOFF: 16384,
            RADIO: 32768,
            PUSHBUTTON: 65536,
            COMBO: 131072,
            EDIT: 262144,
            SORT: 524288,
            FILESELECT: 1048576,
            MULTISELECT: 2097152,
            DONOTSPELLCHECK: 4194304,
            DONOTSCROLL: 8388608,
            COMB: 16777216,
            RICHTEXT: 33554432,
            RADIOSINUNISON: 33554432,
            COMMITONSELCHANGE: 67108864,
          };
          t.AnnotationBorderStyleType = { SOLID: 1, DASHED: 2, BEVELED: 3, INSET: 4, UNDERLINE: 5 };
          t.AnnotationActionEventType = {
            E: 'Mouse Enter',
            X: 'Mouse Exit',
            D: 'Mouse Down',
            U: 'Mouse Up',
            Fo: 'Focus',
            Bl: 'Blur',
            PO: 'PageOpen',
            PC: 'PageClose',
            PV: 'PageVisible',
            PI: 'PageInvisible',
            K: 'Keystroke',
            F: 'Format',
            V: 'Validate',
            C: 'Calculate',
          };
          t.DocumentActionEventType = {
            WC: 'WillClose',
            WS: 'WillSave',
            DS: 'DidSave',
            WP: 'WillPrint',
            DP: 'DidPrint',
          };
          t.PageActionEventType = { O: 'PageOpen', C: 'PageClose' };
          const a = { ERRORS: 0, WARNINGS: 1, INFOS: 5 };
          t.VerbosityLevel = a;
          t.CMapCompressionType = { NONE: 0, BINARY: 1 };
          t.OPS = {
            dependency: 1,
            setLineWidth: 2,
            setLineCap: 3,
            setLineJoin: 4,
            setMiterLimit: 5,
            setDash: 6,
            setRenderingIntent: 7,
            setFlatness: 8,
            setGState: 9,
            save: 10,
            restore: 11,
            transform: 12,
            moveTo: 13,
            lineTo: 14,
            curveTo: 15,
            curveTo2: 16,
            curveTo3: 17,
            closePath: 18,
            rectangle: 19,
            stroke: 20,
            closeStroke: 21,
            fill: 22,
            eoFill: 23,
            fillStroke: 24,
            eoFillStroke: 25,
            closeFillStroke: 26,
            closeEOFillStroke: 27,
            endPath: 28,
            clip: 29,
            eoClip: 30,
            beginText: 31,
            endText: 32,
            setCharSpacing: 33,
            setWordSpacing: 34,
            setHScale: 35,
            setLeading: 36,
            setFont: 37,
            setTextRenderingMode: 38,
            setTextRise: 39,
            moveText: 40,
            setLeadingMoveText: 41,
            setTextMatrix: 42,
            nextLine: 43,
            showText: 44,
            showSpacedText: 45,
            nextLineShowText: 46,
            nextLineSetSpacingShowText: 47,
            setCharWidth: 48,
            setCharWidthAndBounds: 49,
            setStrokeColorSpace: 50,
            setFillColorSpace: 51,
            setStrokeColor: 52,
            setStrokeColorN: 53,
            setFillColor: 54,
            setFillColorN: 55,
            setStrokeGray: 56,
            setFillGray: 57,
            setStrokeRGBColor: 58,
            setFillRGBColor: 59,
            setStrokeCMYKColor: 60,
            setFillCMYKColor: 61,
            shadingFill: 62,
            beginInlineImage: 63,
            beginImageData: 64,
            endInlineImage: 65,
            paintXObject: 66,
            markPoint: 67,
            markPointProps: 68,
            beginMarkedContent: 69,
            beginMarkedContentProps: 70,
            endMarkedContent: 71,
            beginCompat: 72,
            endCompat: 73,
            paintFormXObjectBegin: 74,
            paintFormXObjectEnd: 75,
            beginGroup: 76,
            endGroup: 77,
            beginAnnotation: 80,
            endAnnotation: 81,
            paintImageMaskXObject: 83,
            paintImageMaskXObjectGroup: 84,
            paintImageXObject: 85,
            paintInlineImageXObject: 86,
            paintInlineImageXObjectGroup: 87,
            paintImageXObjectRepeat: 88,
            paintImageMaskXObjectRepeat: 89,
            paintSolidColorImageMask: 90,
            constructPath: 91,
          };
          t.UNSUPPORTED_FEATURES = {
            forms: 'forms',
            javaScript: 'javaScript',
            signatures: 'signatures',
            smask: 'smask',
            shadingPattern: 'shadingPattern',
            errorTilingPattern: 'errorTilingPattern',
            errorExtGState: 'errorExtGState',
            errorXObject: 'errorXObject',
            errorFontLoadType3: 'errorFontLoadType3',
            errorFontState: 'errorFontState',
            errorFontMissing: 'errorFontMissing',
            errorFontTranslate: 'errorFontTranslate',
            errorColorSpace: 'errorColorSpace',
            errorOperatorList: 'errorOperatorList',
            errorFontToUnicode: 'errorFontToUnicode',
            errorFontLoadNative: 'errorFontLoadNative',
            errorFontBuildPath: 'errorFontBuildPath',
            errorFontGetPath: 'errorFontGetPath',
            errorMarkedContent: 'errorMarkedContent',
            errorContentSubStream: 'errorContentSubStream',
          };
          t.PasswordResponses = { NEED_PASSWORD: 1, INCORRECT_PASSWORD: 2 };
          let r = a.WARNINGS;
          function warn(e) {
            r >= a.WARNINGS && console.log(`Warning: ${e}`);
          }
          function unreachable(e) {
            throw new Error(e);
          }
          function shadow(e, t, a, r = !1) {
            Object.defineProperty(e, t, { value: a, enumerable: !r, configurable: !0, writable: !1 });
            return a;
          }
          const n = (function BaseExceptionClosure() {
            function BaseException(e, t) {
              this.constructor === BaseException && unreachable('Cannot initialize BaseException.');
              this.message = e;
              this.name = t;
            }
            BaseException.prototype = new Error();
            BaseException.constructor = BaseException;
            return BaseException;
          })();
          t.BaseException = n;
          t.PasswordException = class PasswordException extends n {
            constructor(e, t) {
              super(e, 'PasswordException');
              this.code = t;
            }
          };
          t.UnknownErrorException = class UnknownErrorException extends n {
            constructor(e, t) {
              super(e, 'UnknownErrorException');
              this.details = t;
            }
          };
          t.InvalidPDFException = class InvalidPDFException extends n {
            constructor(e) {
              super(e, 'InvalidPDFException');
            }
          };
          t.MissingPDFException = class MissingPDFException extends n {
            constructor(e) {
              super(e, 'MissingPDFException');
            }
          };
          t.UnexpectedResponseException = class UnexpectedResponseException extends n {
            constructor(e, t) {
              super(e, 'UnexpectedResponseException');
              this.status = t;
            }
          };
          t.FormatError = class FormatError extends n {
            constructor(e) {
              super(e, 'FormatError');
            }
          };
          t.AbortException = class AbortException extends n {
            constructor(e) {
              super(e, 'AbortException');
            }
          };
          function stringToBytes(e) {
            'string' != typeof e && unreachable('Invalid argument for stringToBytes');
            const t = e.length,
              a = new Uint8Array(t);
            for (let r = 0; r < t; ++r) a[r] = 255 & e.charCodeAt(r);
            return a;
          }
          t.FeatureTest = class FeatureTest {
            static get isLittleEndian() {
              return shadow(
                this,
                'isLittleEndian',
                (function isLittleEndian() {
                  const e = new Uint8Array(4);
                  e[0] = 1;
                  return 1 === new Uint32Array(e.buffer, 0, 1)[0];
                })()
              );
            }
            static get isEvalSupported() {
              return shadow(
                this,
                'isEvalSupported',
                (function isEvalSupported() {
                  try {
                    new Function('');
                    return !0;
                  } catch (e) {
                    return !1;
                  }
                })()
              );
            }
            static get isOffscreenCanvasSupported() {
              return shadow(this, 'isOffscreenCanvasSupported', 'undefined' != typeof OffscreenCanvas);
            }
            static get platform() {
              return 'undefined' == typeof navigator
                ? shadow(this, 'platform', { isWin: !1, isMac: !1 })
                : shadow(this, 'platform', {
                    isWin: navigator.platform.includes('Win'),
                    isMac: navigator.platform.includes('Mac'),
                  });
            }
          };
          const i = [...Array(256).keys()].map((e) => e.toString(16).padStart(2, '0'));
          class Util {
            static makeHexColor(e, t, a) {
              return `#${i[e]}${i[t]}${i[a]}`;
            }
            static scaleMinMax(e, t) {
              let a;
              if (e[0]) {
                if (e[0] < 0) {
                  a = t[0];
                  t[0] = t[1];
                  t[1] = a;
                }
                t[0] *= e[0];
                t[1] *= e[0];
                if (e[3] < 0) {
                  a = t[2];
                  t[2] = t[3];
                  t[3] = a;
                }
                t[2] *= e[3];
                t[3] *= e[3];
              } else {
                a = t[0];
                t[0] = t[2];
                t[2] = a;
                a = t[1];
                t[1] = t[3];
                t[3] = a;
                if (e[1] < 0) {
                  a = t[2];
                  t[2] = t[3];
                  t[3] = a;
                }
                t[2] *= e[1];
                t[3] *= e[1];
                if (e[2] < 0) {
                  a = t[0];
                  t[0] = t[1];
                  t[1] = a;
                }
                t[0] *= e[2];
                t[1] *= e[2];
              }
              t[0] += e[4];
              t[1] += e[4];
              t[2] += e[5];
              t[3] += e[5];
            }
            static transform(e, t) {
              return [
                e[0] * t[0] + e[2] * t[1],
                e[1] * t[0] + e[3] * t[1],
                e[0] * t[2] + e[2] * t[3],
                e[1] * t[2] + e[3] * t[3],
                e[0] * t[4] + e[2] * t[5] + e[4],
                e[1] * t[4] + e[3] * t[5] + e[5],
              ];
            }
            static applyTransform(e, t) {
              return [e[0] * t[0] + e[1] * t[2] + t[4], e[0] * t[1] + e[1] * t[3] + t[5]];
            }
            static applyInverseTransform(e, t) {
              const a = t[0] * t[3] - t[1] * t[2];
              return [
                (e[0] * t[3] - e[1] * t[2] + t[2] * t[5] - t[4] * t[3]) / a,
                (-e[0] * t[1] + e[1] * t[0] + t[4] * t[1] - t[5] * t[0]) / a,
              ];
            }
            static getAxialAlignedBoundingBox(e, t) {
              const a = Util.applyTransform(e, t),
                r = Util.applyTransform(e.slice(2, 4), t),
                n = Util.applyTransform([e[0], e[3]], t),
                i = Util.applyTransform([e[2], e[1]], t);
              return [
                Math.min(a[0], r[0], n[0], i[0]),
                Math.min(a[1], r[1], n[1], i[1]),
                Math.max(a[0], r[0], n[0], i[0]),
                Math.max(a[1], r[1], n[1], i[1]),
              ];
            }
            static inverseTransform(e) {
              const t = e[0] * e[3] - e[1] * e[2];
              return [
                e[3] / t,
                -e[1] / t,
                -e[2] / t,
                e[0] / t,
                (e[2] * e[5] - e[4] * e[3]) / t,
                (e[4] * e[1] - e[5] * e[0]) / t,
              ];
            }
            static singularValueDecompose2dScale(e) {
              const t = [e[0], e[2], e[1], e[3]],
                a = e[0] * t[0] + e[1] * t[2],
                r = e[0] * t[1] + e[1] * t[3],
                n = e[2] * t[0] + e[3] * t[2],
                i = e[2] * t[1] + e[3] * t[3],
                s = (a + i) / 2,
                o = Math.sqrt((a + i) ** 2 - 4 * (a * i - n * r)) / 2,
                c = s + o || 1,
                l = s - o || 1;
              return [Math.sqrt(c), Math.sqrt(l)];
            }
            static normalizeRect(e) {
              const t = e.slice(0);
              if (e[0] > e[2]) {
                t[0] = e[2];
                t[2] = e[0];
              }
              if (e[1] > e[3]) {
                t[1] = e[3];
                t[3] = e[1];
              }
              return t;
            }
            static intersect(e, t) {
              const a = Math.max(Math.min(e[0], e[2]), Math.min(t[0], t[2])),
                r = Math.min(Math.max(e[0], e[2]), Math.max(t[0], t[2]));
              if (a > r) return null;
              const n = Math.max(Math.min(e[1], e[3]), Math.min(t[1], t[3])),
                i = Math.min(Math.max(e[1], e[3]), Math.max(t[1], t[3]));
              return n > i ? null : [a, n, r, i];
            }
            static bezierBoundingBox(e, t, a, r, n, i, s, o) {
              const c = [],
                l = [[], []];
              let h, u, d, f, g, p, m, b;
              for (let l = 0; l < 2; ++l) {
                if (0 === l) {
                  u = 6 * e - 12 * a + 6 * n;
                  h = -3 * e + 9 * a - 9 * n + 3 * s;
                  d = 3 * a - 3 * e;
                } else {
                  u = 6 * t - 12 * r + 6 * i;
                  h = -3 * t + 9 * r - 9 * i + 3 * o;
                  d = 3 * r - 3 * t;
                }
                if (Math.abs(h) < 1e-12) {
                  if (Math.abs(u) < 1e-12) continue;
                  f = -d / u;
                  0 < f && f < 1 && c.push(f);
                } else {
                  m = u * u - 4 * d * h;
                  b = Math.sqrt(m);
                  if (!(m < 0)) {
                    g = (-u + b) / (2 * h);
                    0 < g && g < 1 && c.push(g);
                    p = (-u - b) / (2 * h);
                    0 < p && p < 1 && c.push(p);
                  }
                }
              }
              let y,
                w = c.length;
              const S = w;
              for (; w--; ) {
                f = c[w];
                y = 1 - f;
                l[0][w] = y * y * y * e + 3 * y * y * f * a + 3 * y * f * f * n + f * f * f * s;
                l[1][w] = y * y * y * t + 3 * y * y * f * r + 3 * y * f * f * i + f * f * f * o;
              }
              l[0][S] = e;
              l[1][S] = t;
              l[0][S + 1] = s;
              l[1][S + 1] = o;
              l[0].length = l[1].length = S + 2;
              return [Math.min(...l[0]), Math.min(...l[1]), Math.max(...l[0]), Math.max(...l[1])];
            }
          }
          t.Util = Util;
          const s = [
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 728, 711, 710, 729, 733, 731, 730,
            732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8226, 8224, 8225, 8230, 8212,
            8211, 402, 8260, 8249, 8250, 8722, 8240, 8222, 8220, 8221, 8216, 8217, 8218, 8482, 64257, 64258, 321, 338,
            352, 376, 381, 305, 322, 339, 353, 382, 0, 8364,
          ];
          function stringToUTF8String(e) {
            return decodeURIComponent(escape(e));
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XRefParseException =
            t.XRefEntryException =
            t.ParserEOFException =
            t.PDF_VERSION_REGEXP =
            t.MissingDataException =
              void 0;
          t.arrayBuffersToBytes = function arrayBuffersToBytes(e) {
            const t = e.length;
            if (0 === t) return new Uint8Array(0);
            if (1 === t) return new Uint8Array(e[0]);
            let a = 0;
            for (let r = 0; r < t; r++) a += e[r].byteLength;
            const r = new Uint8Array(a);
            let n = 0;
            for (let a = 0; a < t; a++) {
              const t = new Uint8Array(e[a]);
              r.set(t, n);
              n += t.byteLength;
            }
            return r;
          };
          t.collectActions = function collectActions(e, t, a) {
            const i = Object.create(null),
              s = getInheritableProperty({ dict: t, key: 'AA', stopWhenFound: !1 });
            if (s)
              for (let t = s.length - 1; t >= 0; t--) {
                const r = s[t];
                if (r instanceof n.Dict)
                  for (const t of r.getKeys()) {
                    const s = a[t];
                    if (!s) continue;
                    const o = [];
                    _collectJS(r.getRaw(t), e, o, new n.RefSet());
                    o.length > 0 && (i[s] = o);
                  }
              }
            if (t.has('A')) {
              const a = [];
              _collectJS(t.get('A'), e, a, new n.RefSet());
              a.length > 0 && (i.Action = a);
            }
            return (0, r.objectSize)(i) > 0 ? i : null;
          };
          t.encodeToXmlString = function encodeToXmlString(e) {
            const t = [];
            let a = 0;
            for (let r = 0, n = e.length; r < n; r++) {
              const n = e.codePointAt(r);
              if (32 <= n && n <= 126) {
                const i = o[n];
                if (i) {
                  a < r && t.push(e.substring(a, r));
                  t.push(i);
                  a = r + 1;
                }
              } else {
                a < r && t.push(e.substring(a, r));
                t.push(`&#x${n.toString(16).toUpperCase()};`);
                n > 55295 && (n < 57344 || n > 65533) && r++;
                a = r + 1;
              }
            }
            if (0 === t.length) return e;
            a < e.length && t.push(e.substring(a, e.length));
            return t.join('');
          };
          t.escapePDFName = function escapePDFName(e) {
            const t = [];
            let a = 0;
            for (let r = 0, n = e.length; r < n; r++) {
              const n = e.charCodeAt(r);
              if (
                n < 33 ||
                n > 126 ||
                35 === n ||
                40 === n ||
                41 === n ||
                60 === n ||
                62 === n ||
                91 === n ||
                93 === n ||
                123 === n ||
                125 === n ||
                47 === n ||
                37 === n
              ) {
                a < r && t.push(e.substring(a, r));
                t.push(`#${n.toString(16)}`);
                a = r + 1;
              }
            }
            if (0 === t.length) return e;
            a < e.length && t.push(e.substring(a, e.length));
            return t.join('');
          };
          t.escapeString = function escapeString(e) {
            return e.replace(/([()\\\n\r])/g, (e) => ('\n' === e ? '\\n' : '\r' === e ? '\\r' : `\\${e}`));
          };
          t.getArrayLookupTableFactory = function getArrayLookupTableFactory(e) {
            let t;
            return function () {
              if (e) {
                let a = e();
                e = null;
                t = Object.create(null);
                for (let e = 0, r = a.length; e < r; e += 2) t[a[e]] = a[e + 1];
                a = null;
              }
              return t;
            };
          };
          t.getInheritableProperty = getInheritableProperty;
          t.getLookupTableFactory = function getLookupTableFactory(e) {
            let t;
            return function () {
              if (e) {
                t = Object.create(null);
                e(t);
                e = null;
              }
              return t;
            };
          };
          t.getNewAnnotationsMap = function getNewAnnotationsMap(e) {
            if (!e) return null;
            const t = new Map();
            for (const [a, n] of e) {
              if (!a.startsWith(r.AnnotationEditorPrefix)) continue;
              let e = t.get(n.pageIndex);
              if (!e) {
                e = [];
                t.set(n.pageIndex, e);
              }
              e.push(n);
            }
            return t.size > 0 ? t : null;
          };
          t.getRotationMatrix = function getRotationMatrix(e, t, a) {
            switch (e) {
              case 90:
                return [0, 1, -1, 0, t, 0];
              case 180:
                return [-1, 0, 0, -1, t, a];
              case 270:
                return [0, -1, 1, 0, 0, a];
              default:
                throw new Error('Invalid rotation');
            }
          };
          t.isAscii = function isAscii(e) {
            return /^[\x00-\x7F]*$/.test(e);
          };
          t.isWhiteSpace = function isWhiteSpace(e) {
            return 32 === e || 9 === e || 13 === e || 10 === e;
          };
          t.log2 = function log2(e) {
            if (e <= 0) return 0;
            return Math.ceil(Math.log2(e));
          };
          t.numberToString = function numberToString(e) {
            if (Number.isInteger(e)) return e.toString();
            const t = Math.round(100 * e);
            if (t % 100 == 0) return (t / 100).toString();
            if (t % 10 == 0) return e.toFixed(1);
            return e.toFixed(2);
          };
          t.parseXFAPath = function parseXFAPath(e) {
            const t = /(.+)\[(\d+)\]$/;
            return e.split('.').map((e) => {
              const a = e.match(t);
              return a ? { name: a[1], pos: parseInt(a[2], 10) } : { name: e, pos: 0 };
            });
          };
          t.readInt8 = function readInt8(e, t) {
            return (e[t] << 24) >> 24;
          };
          t.readUint16 = function readUint16(e, t) {
            return (e[t] << 8) | e[t + 1];
          };
          t.readUint32 = function readUint32(e, t) {
            return ((e[t] << 24) | (e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3]) >>> 0;
          };
          t.recoverJsURL = function recoverJsURL(e) {
            const t = new RegExp(
              '^\\s*(' +
                ['app.launchURL', 'window.open', 'xfa.host.gotoURL'].join('|').split('.').join('\\.') +
                ')\\((?:\'|")([^\'"]*)(?:\'|")(?:,\\s*(\\w+)\\)|\\))',
              'i'
            ).exec(e);
            if (t && t[2]) {
              const e = t[2];
              let a = !1;
              'true' === t[3] && 'app.launchURL' === t[1] && (a = !0);
              return { url: e, newWindow: a };
            }
            return null;
          };
          t.stringToUTF16HexString = function stringToUTF16HexString(e) {
            const t = [];
            for (let a = 0, r = e.length; a < r; a++) {
              const r = e.charCodeAt(a);
              t.push(((r >> 8) & 255).toString(16).padStart(2, '0'), (255 & r).toString(16).padStart(2, '0'));
            }
            return t.join('');
          };
          t.stringToUTF16String = function stringToUTF16String(e, t = !1) {
            const a = [];
            t && a.push('þÿ');
            for (let t = 0, r = e.length; t < r; t++) {
              const r = e.charCodeAt(t);
              a.push(String.fromCharCode((r >> 8) & 255), String.fromCharCode(255 & r));
            }
            return a.join('');
          };
          t.toRomanNumerals = function toRomanNumerals(e, t = !1) {
            (0, r.assert)(Number.isInteger(e) && e > 0, 'The number should be a positive integer.');
            const a = [];
            let n;
            for (; e >= 1e3; ) {
              e -= 1e3;
              a.push('M');
            }
            n = (e / 100) | 0;
            e %= 100;
            a.push(s[n]);
            n = (e / 10) | 0;
            e %= 10;
            a.push(s[10 + n]);
            a.push(s[20 + e]);
            const i = a.join('');
            return t ? i.toLowerCase() : i;
          };
          t.validateCSSFont = function validateCSSFont(e) {
            const t = new Set([
                '100',
                '200',
                '300',
                '400',
                '500',
                '600',
                '700',
                '800',
                '900',
                '1000',
                'normal',
                'bold',
                'bolder',
                'lighter',
              ]),
              { fontFamily: a, fontWeight: n, italicAngle: i } = e;
            if (/^".*"$/.test(a)) {
              if (/[^\\]"/.test(a.slice(1, a.length - 1))) {
                (0, r.warn)(`XFA - FontFamily contains some unescaped ": ${a}.`);
                return !1;
              }
            } else if (/^'.*'$/.test(a)) {
              if (/[^\\]'/.test(a.slice(1, a.length - 1))) {
                (0, r.warn)(`XFA - FontFamily contains some unescaped ': ${a}.`);
                return !1;
              }
            } else
              for (const e of a.split(/[ \t]+/))
                if (/^(\d|(-(\d|-)))/.test(e) || !/^[\w-\\]+$/.test(e)) {
                  (0, r.warn)(`XFA - FontFamily contains some invalid <custom-ident>: ${a}.`);
                  return !1;
                }
            const s = n ? n.toString() : '';
            e.fontWeight = t.has(s) ? s : '400';
            const o = parseFloat(i);
            e.italicAngle = isNaN(o) || o < -90 || o > 90 ? '14' : i.toString();
            return !0;
          };
          var r = a(2),
            n = a(4),
            i = a(5);
          t.PDF_VERSION_REGEXP = /^[1-9]\.\d$/;
          class MissingDataException extends r.BaseException {
            constructor(e, t) {
              super(`Missing data [${e}, ${t})`, 'MissingDataException');
              this.begin = e;
              this.end = t;
            }
          }
          t.MissingDataException = MissingDataException;
          class ParserEOFException extends r.BaseException {
            constructor(e) {
              super(e, 'ParserEOFException');
            }
          }
          t.ParserEOFException = ParserEOFException;
          class XRefEntryException extends r.BaseException {
            constructor(e) {
              super(e, 'XRefEntryException');
            }
          }
          t.XRefEntryException = XRefEntryException;
          class XRefParseException extends r.BaseException {
            constructor(e) {
              super(e, 'XRefParseException');
            }
          }
          t.XRefParseException = XRefParseException;
          function getInheritableProperty({ dict: e, key: t, getArray: a = !1, stopWhenFound: r = !0 }) {
            let i;
            const s = new n.RefSet();
            for (; e instanceof n.Dict && (!e.objId || !s.has(e.objId)); ) {
              e.objId && s.put(e.objId);
              const n = a ? e.getArray(t) : e.get(t);
              if (void 0 !== n) {
                if (r) return n;
                i || (i = []);
                i.push(n);
              }
              e = e.get('Parent');
            }
            return i;
          }
          const s = [
            '',
            'C',
            'CC',
            'CCC',
            'CD',
            'D',
            'DC',
            'DCC',
            'DCCC',
            'CM',
            '',
            'X',
            'XX',
            'XXX',
            'XL',
            'L',
            'LX',
            'LXX',
            'LXXX',
            'XC',
            '',
            'I',
            'II',
            'III',
            'IV',
            'V',
            'VI',
            'VII',
            'VIII',
            'IX',
          ];
          function _collectJS(e, t, a, s) {
            if (!e) return;
            let o = null;
            if (e instanceof n.Ref) {
              if (s.has(e)) return;
              o = e;
              s.put(o);
              e = t.fetch(e);
            }
            if (Array.isArray(e)) for (const r of e) _collectJS(r, t, a, s);
            else if (e instanceof n.Dict) {
              if ((0, n.isName)(e.get('S'), 'JavaScript')) {
                const t = e.get('JS');
                let n;
                t instanceof i.BaseStream ? (n = t.getString()) : 'string' == typeof t && (n = t);
                n = n && (0, r.stringToPDFString)(n).replace(/\u0000/g, '');
                n && a.push(n);
              }
              _collectJS(e.getRaw('Next'), t, a, s);
            }
            o && s.remove(o);
          }
          const o = { 60: '&lt;', 62: '&gt;', 38: '&amp;', 34: '&quot;', 39: '&apos;' };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.RefSetCache = t.RefSet = t.Ref = t.Name = t.EOF = t.Dict = t.Cmd = t.CIRCULAR_REF = void 0;
          t.clearPrimitiveCaches = function clearPrimitiveCaches() {
            o._clearCache();
            s._clearCache();
            l._clearCache();
          };
          t.isCmd = function isCmd(e, t) {
            return e instanceof o && (void 0 === t || e.cmd === t);
          };
          t.isDict = function isDict(e, t) {
            return e instanceof Dict && (void 0 === t || isName(e.get('Type'), t));
          };
          t.isName = isName;
          t.isRefsEqual = function isRefsEqual(e, t) {
            return e.num === t.num && e.gen === t.gen;
          };
          var r = a(2);
          const n = Symbol('CIRCULAR_REF');
          t.CIRCULAR_REF = n;
          const i = Symbol('EOF');
          t.EOF = i;
          const s = (function NameClosure() {
            let e = Object.create(null);
            class Name {
              constructor(e) {
                this.name = e;
              }
              static get(t) {
                return e[t] || (e[t] = new Name(t));
              }
              static _clearCache() {
                e = Object.create(null);
              }
            }
            return Name;
          })();
          t.Name = s;
          const o = (function CmdClosure() {
            let e = Object.create(null);
            class Cmd {
              constructor(e) {
                this.cmd = e;
              }
              static get(t) {
                return e[t] || (e[t] = new Cmd(t));
              }
              static _clearCache() {
                e = Object.create(null);
              }
            }
            return Cmd;
          })();
          t.Cmd = o;
          const c = function nonSerializableClosure() {
            return c;
          };
          class Dict {
            constructor(e = null) {
              this._map = Object.create(null);
              this.xref = e;
              this.objId = null;
              this.suppressEncryption = !1;
              this.__nonSerializable__ = c;
            }
            assignXref(e) {
              this.xref = e;
            }
            get size() {
              return Object.keys(this._map).length;
            }
            get(e, t, a) {
              let r = this._map[e];
              if (void 0 === r && void 0 !== t) {
                r = this._map[t];
                void 0 === r && void 0 !== a && (r = this._map[a]);
              }
              return r instanceof l && this.xref ? this.xref.fetch(r, this.suppressEncryption) : r;
            }
            async getAsync(e, t, a) {
              let r = this._map[e];
              if (void 0 === r && void 0 !== t) {
                r = this._map[t];
                void 0 === r && void 0 !== a && (r = this._map[a]);
              }
              return r instanceof l && this.xref ? this.xref.fetchAsync(r, this.suppressEncryption) : r;
            }
            getArray(e, t, a) {
              let r = this._map[e];
              if (void 0 === r && void 0 !== t) {
                r = this._map[t];
                void 0 === r && void 0 !== a && (r = this._map[a]);
              }
              r instanceof l && this.xref && (r = this.xref.fetch(r, this.suppressEncryption));
              if (Array.isArray(r)) {
                r = r.slice();
                for (let e = 0, t = r.length; e < t; e++)
                  r[e] instanceof l && this.xref && (r[e] = this.xref.fetch(r[e], this.suppressEncryption));
              }
              return r;
            }
            getRaw(e) {
              return this._map[e];
            }
            getKeys() {
              return Object.keys(this._map);
            }
            getRawValues() {
              return Object.values(this._map);
            }
            set(e, t) {
              this._map[e] = t;
            }
            has(e) {
              return void 0 !== this._map[e];
            }
            forEach(e) {
              for (const t in this._map) e(t, this.get(t));
            }
            static get empty() {
              const e = new Dict(null);
              e.set = (e, t) => {
                (0, r.unreachable)('Should not call `set` on the empty dictionary.');
              };
              return (0, r.shadow)(this, 'empty', e);
            }
            static merge({ xref: e, dictArray: t, mergeSubDicts: a = !1 }) {
              const r = new Dict(e),
                n = new Map();
              for (const e of t)
                if (e instanceof Dict)
                  for (const [t, r] of Object.entries(e._map)) {
                    let e = n.get(t);
                    if (void 0 === e) {
                      e = [];
                      n.set(t, e);
                    } else if (!(a && r instanceof Dict)) continue;
                    e.push(r);
                  }
              for (const [t, a] of n) {
                if (1 === a.length || !(a[0] instanceof Dict)) {
                  r._map[t] = a[0];
                  continue;
                }
                const n = new Dict(e);
                for (const e of a) for (const [t, a] of Object.entries(e._map)) void 0 === n._map[t] && (n._map[t] = a);
                n.size > 0 && (r._map[t] = n);
              }
              n.clear();
              return r.size > 0 ? r : Dict.empty;
            }
          }
          t.Dict = Dict;
          const l = (function RefClosure() {
            let e = Object.create(null);
            class Ref {
              constructor(e, t) {
                this.num = e;
                this.gen = t;
              }
              toString() {
                return 0 === this.gen ? `${this.num}R` : `${this.num}R${this.gen}`;
              }
              static get(t, a) {
                const r = 0 === a ? `${t}R` : `${t}R${a}`;
                return e[r] || (e[r] = new Ref(t, a));
              }
              static _clearCache() {
                e = Object.create(null);
              }
            }
            return Ref;
          })();
          t.Ref = l;
          class RefSet {
            constructor(e = null) {
              this._set = new Set(e && e._set);
            }
            has(e) {
              return this._set.has(e.toString());
            }
            put(e) {
              this._set.add(e.toString());
            }
            remove(e) {
              this._set.delete(e.toString());
            }
            [Symbol.iterator]() {
              return this._set.values();
            }
            clear() {
              this._set.clear();
            }
          }
          t.RefSet = RefSet;
          class RefSetCache {
            constructor() {
              this._map = new Map();
            }
            get size() {
              return this._map.size;
            }
            get(e) {
              return this._map.get(e.toString());
            }
            has(e) {
              return this._map.has(e.toString());
            }
            put(e, t) {
              this._map.set(e.toString(), t);
            }
            putAlias(e, t) {
              this._map.set(e.toString(), this.get(t));
            }
            [Symbol.iterator]() {
              return this._map.values();
            }
            clear() {
              this._map.clear();
            }
          }
          t.RefSetCache = RefSetCache;
          function isName(e, t) {
            return e instanceof s && (void 0 === t || e.name === t);
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.BaseStream = void 0;
          var r = a(2);
          class BaseStream {
            constructor() {
              this.constructor === BaseStream && (0, r.unreachable)('Cannot initialize BaseStream.');
            }
            get length() {
              (0, r.unreachable)('Abstract getter `length` accessed');
            }
            get isEmpty() {
              (0, r.unreachable)('Abstract getter `isEmpty` accessed');
            }
            get isDataLoaded() {
              return (0, r.shadow)(this, 'isDataLoaded', !0);
            }
            getByte() {
              (0, r.unreachable)('Abstract method `getByte` called');
            }
            getBytes(e) {
              (0, r.unreachable)('Abstract method `getBytes` called');
            }
            peekByte() {
              const e = this.getByte();
              -1 !== e && this.pos--;
              return e;
            }
            peekBytes(e) {
              const t = this.getBytes(e);
              this.pos -= t.length;
              return t;
            }
            getUint16() {
              const e = this.getByte(),
                t = this.getByte();
              return -1 === e || -1 === t ? -1 : (e << 8) + t;
            }
            getInt32() {
              return (this.getByte() << 24) + (this.getByte() << 16) + (this.getByte() << 8) + this.getByte();
            }
            getByteRange(e, t) {
              (0, r.unreachable)('Abstract method `getByteRange` called');
            }
            getString(e) {
              return (0, r.bytesToString)(this.getBytes(e));
            }
            skip(e) {
              this.pos += e || 1;
            }
            reset() {
              (0, r.unreachable)('Abstract method `reset` called');
            }
            moveStart() {
              (0, r.unreachable)('Abstract method `moveStart` called');
            }
            makeSubStream(e, t, a = null) {
              (0, r.unreachable)('Abstract method `makeSubStream` called');
            }
            getBaseStreams() {
              return null;
            }
          }
          t.BaseStream = BaseStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.NetworkPdfManager = t.LocalPdfManager = void 0;
          var r = a(2),
            n = a(7),
            i = a(3),
            s = a(9),
            o = a(8);
          class BasePdfManager {
            constructor(e) {
              this.constructor === BasePdfManager && (0, r.unreachable)('Cannot initialize BasePdfManager.');
              this._docBaseUrl = (function parseDocBaseUrl(e) {
                if (e) {
                  const t = (0, r.createValidAbsoluteUrl)(e);
                  if (t) return t.href;
                  (0, r.warn)(`Invalid absolute docBaseUrl: "${e}".`);
                }
                return null;
              })(e.docBaseUrl);
              this._docId = e.docId;
              this._password = e.password;
              this.enableXfa = e.enableXfa;
              this.evaluatorOptions = e.evaluatorOptions;
            }
            get docId() {
              return this._docId;
            }
            get password() {
              return this._password;
            }
            get docBaseUrl() {
              const e = this.pdfDocument.catalog;
              return (0, r.shadow)(this, 'docBaseUrl', e.baseUrl || this._docBaseUrl);
            }
            ensureDoc(e, t) {
              return this.ensure(this.pdfDocument, e, t);
            }
            ensureXRef(e, t) {
              return this.ensure(this.pdfDocument.xref, e, t);
            }
            ensureCatalog(e, t) {
              return this.ensure(this.pdfDocument.catalog, e, t);
            }
            getPage(e) {
              return this.pdfDocument.getPage(e);
            }
            fontFallback(e, t) {
              return this.pdfDocument.fontFallback(e, t);
            }
            loadXfaFonts(e, t) {
              return this.pdfDocument.loadXfaFonts(e, t);
            }
            loadXfaImages() {
              return this.pdfDocument.loadXfaImages();
            }
            serializeXfaData(e) {
              return this.pdfDocument.serializeXfaData(e);
            }
            cleanup(e = !1) {
              return this.pdfDocument.cleanup(e);
            }
            async ensure(e, t, a) {
              (0, r.unreachable)('Abstract method `ensure` called');
            }
            requestRange(e, t) {
              (0, r.unreachable)('Abstract method `requestRange` called');
            }
            requestLoadedStream(e = !1) {
              (0, r.unreachable)('Abstract method `requestLoadedStream` called');
            }
            sendProgressiveData(e) {
              (0, r.unreachable)('Abstract method `sendProgressiveData` called');
            }
            updatePassword(e) {
              this._password = e;
            }
            terminate(e) {
              (0, r.unreachable)('Abstract method `terminate` called');
            }
          }
          t.LocalPdfManager = class LocalPdfManager extends BasePdfManager {
            constructor(e) {
              super(e);
              const t = new o.Stream(e.source);
              this.pdfDocument = new s.PDFDocument(this, t);
              this._loadedStreamPromise = Promise.resolve(t);
            }
            async ensure(e, t, a) {
              const r = e[t];
              return 'function' == typeof r ? r.apply(e, a) : r;
            }
            requestRange(e, t) {
              return Promise.resolve();
            }
            requestLoadedStream(e = !1) {
              return this._loadedStreamPromise;
            }
            terminate(e) {}
          };
          t.NetworkPdfManager = class NetworkPdfManager extends BasePdfManager {
            constructor(e) {
              super(e);
              this.streamManager = new n.ChunkedStreamManager(e.source, {
                msgHandler: e.handler,
                length: e.length,
                disableAutoFetch: e.disableAutoFetch,
                rangeChunkSize: e.rangeChunkSize,
              });
              this.pdfDocument = new s.PDFDocument(this, this.streamManager.getStream());
            }
            async ensure(e, t, a) {
              try {
                const r = e[t];
                return 'function' == typeof r ? r.apply(e, a) : r;
              } catch (r) {
                if (!(r instanceof i.MissingDataException)) throw r;
                await this.requestRange(r.begin, r.end);
                return this.ensure(e, t, a);
              }
            }
            requestRange(e, t) {
              return this.streamManager.requestRange(e, t);
            }
            requestLoadedStream(e = !1) {
              return this.streamManager.requestAllChunks(e);
            }
            sendProgressiveData(e) {
              this.streamManager.onReceiveData({ chunk: e });
            }
            terminate(e) {
              this.streamManager.abort(e);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ChunkedStreamManager = t.ChunkedStream = void 0;
          var r = a(3),
            n = a(2),
            i = a(8);
          class ChunkedStream extends i.Stream {
            constructor(e, t, a) {
              super(new Uint8Array(e), 0, e, null);
              this.chunkSize = t;
              this._loadedChunks = new Set();
              this.numChunks = Math.ceil(e / t);
              this.manager = a;
              this.progressiveDataLength = 0;
              this.lastSuccessfulEnsureByteChunk = -1;
            }
            getMissingChunks() {
              const e = [];
              for (let t = 0, a = this.numChunks; t < a; ++t) this._loadedChunks.has(t) || e.push(t);
              return e;
            }
            get numChunksLoaded() {
              return this._loadedChunks.size;
            }
            get isDataLoaded() {
              return this.numChunksLoaded === this.numChunks;
            }
            onReceiveData(e, t) {
              const a = this.chunkSize;
              if (e % a != 0) throw new Error(`Bad begin offset: ${e}`);
              const r = e + t.byteLength;
              if (r % a != 0 && r !== this.bytes.length) throw new Error(`Bad end offset: ${r}`);
              this.bytes.set(new Uint8Array(t), e);
              const n = Math.floor(e / a),
                i = Math.floor((r - 1) / a) + 1;
              for (let e = n; e < i; ++e) this._loadedChunks.add(e);
            }
            onReceiveProgressiveData(e) {
              let t = this.progressiveDataLength;
              const a = Math.floor(t / this.chunkSize);
              this.bytes.set(new Uint8Array(e), t);
              t += e.byteLength;
              this.progressiveDataLength = t;
              const r = t >= this.end ? this.numChunks : Math.floor(t / this.chunkSize);
              for (let e = a; e < r; ++e) this._loadedChunks.add(e);
            }
            ensureByte(e) {
              if (e < this.progressiveDataLength) return;
              const t = Math.floor(e / this.chunkSize);
              if (!(t > this.numChunks) && t !== this.lastSuccessfulEnsureByteChunk) {
                if (!this._loadedChunks.has(t)) throw new r.MissingDataException(e, e + 1);
                this.lastSuccessfulEnsureByteChunk = t;
              }
            }
            ensureRange(e, t) {
              if (e >= t) return;
              if (t <= this.progressiveDataLength) return;
              const a = Math.floor(e / this.chunkSize);
              if (a > this.numChunks) return;
              const n = Math.min(Math.floor((t - 1) / this.chunkSize) + 1, this.numChunks);
              for (let i = a; i < n; ++i) if (!this._loadedChunks.has(i)) throw new r.MissingDataException(e, t);
            }
            nextEmptyChunk(e) {
              const t = this.numChunks;
              for (let a = 0; a < t; ++a) {
                const r = (e + a) % t;
                if (!this._loadedChunks.has(r)) return r;
              }
              return null;
            }
            hasChunk(e) {
              return this._loadedChunks.has(e);
            }
            getByte() {
              const e = this.pos;
              if (e >= this.end) return -1;
              e >= this.progressiveDataLength && this.ensureByte(e);
              return this.bytes[this.pos++];
            }
            getBytes(e) {
              const t = this.bytes,
                a = this.pos,
                r = this.end;
              if (!e) {
                r > this.progressiveDataLength && this.ensureRange(a, r);
                return t.subarray(a, r);
              }
              let n = a + e;
              n > r && (n = r);
              n > this.progressiveDataLength && this.ensureRange(a, n);
              this.pos = n;
              return t.subarray(a, n);
            }
            getByteRange(e, t) {
              e < 0 && (e = 0);
              t > this.end && (t = this.end);
              t > this.progressiveDataLength && this.ensureRange(e, t);
              return this.bytes.subarray(e, t);
            }
            makeSubStream(e, t, a = null) {
              t
                ? e + t > this.progressiveDataLength && this.ensureRange(e, e + t)
                : e >= this.progressiveDataLength && this.ensureByte(e);
              function ChunkedStreamSubstream() {}
              ChunkedStreamSubstream.prototype = Object.create(this);
              ChunkedStreamSubstream.prototype.getMissingChunks = function () {
                const e = this.chunkSize,
                  t = Math.floor(this.start / e),
                  a = Math.floor((this.end - 1) / e) + 1,
                  r = [];
                for (let e = t; e < a; ++e) this._loadedChunks.has(e) || r.push(e);
                return r;
              };
              Object.defineProperty(ChunkedStreamSubstream.prototype, 'isDataLoaded', {
                get() {
                  return this.numChunksLoaded === this.numChunks || 0 === this.getMissingChunks().length;
                },
                configurable: !0,
              });
              const r = new ChunkedStreamSubstream();
              r.pos = r.start = e;
              r.end = e + t || this.end;
              r.dict = a;
              return r;
            }
            getBaseStreams() {
              return [this];
            }
          }
          t.ChunkedStream = ChunkedStream;
          t.ChunkedStreamManager = class ChunkedStreamManager {
            constructor(e, t) {
              this.length = t.length;
              this.chunkSize = t.rangeChunkSize;
              this.stream = new ChunkedStream(this.length, this.chunkSize, this);
              this.pdfNetworkStream = e;
              this.disableAutoFetch = t.disableAutoFetch;
              this.msgHandler = t.msgHandler;
              this.currRequestId = 0;
              this._chunksNeededByRequest = new Map();
              this._requestsByChunk = new Map();
              this._promisesByRequest = new Map();
              this.progressiveDataLength = 0;
              this.aborted = !1;
              this._loadedStreamCapability = (0, n.createPromiseCapability)();
            }
            sendRequest(e, t) {
              const a = this.pdfNetworkStream.getRangeReader(e, t);
              a.isStreamingSupported || (a.onProgress = this.onProgress.bind(this));
              let n = [],
                i = 0;
              return new Promise((e, t) => {
                const readChunk = ({ value: s, done: o }) => {
                  try {
                    if (o) {
                      const t = (0, r.arrayBuffersToBytes)(n);
                      n = null;
                      e(t);
                      return;
                    }
                    i += s.byteLength;
                    a.isStreamingSupported && this.onProgress({ loaded: i });
                    n.push(s);
                    a.read().then(readChunk, t);
                  } catch (e) {
                    t(e);
                  }
                };
                a.read().then(readChunk, t);
              }).then((t) => {
                this.aborted || this.onReceiveData({ chunk: t, begin: e });
              });
            }
            requestAllChunks(e = !1) {
              if (!e) {
                const e = this.stream.getMissingChunks();
                this._requestChunks(e);
              }
              return this._loadedStreamCapability.promise;
            }
            _requestChunks(e) {
              const t = this.currRequestId++,
                a = new Set();
              this._chunksNeededByRequest.set(t, a);
              for (const t of e) this.stream.hasChunk(t) || a.add(t);
              if (0 === a.size) return Promise.resolve();
              const r = (0, n.createPromiseCapability)();
              this._promisesByRequest.set(t, r);
              const i = [];
              for (const e of a) {
                let a = this._requestsByChunk.get(e);
                if (!a) {
                  a = [];
                  this._requestsByChunk.set(e, a);
                  i.push(e);
                }
                a.push(t);
              }
              if (i.length > 0) {
                const e = this.groupChunks(i);
                for (const t of e) {
                  const e = t.beginChunk * this.chunkSize,
                    a = Math.min(t.endChunk * this.chunkSize, this.length);
                  this.sendRequest(e, a).catch(r.reject);
                }
              }
              return r.promise.catch((e) => {
                if (!this.aborted) throw e;
              });
            }
            getStream() {
              return this.stream;
            }
            requestRange(e, t) {
              t = Math.min(t, this.length);
              const a = this.getBeginChunk(e),
                r = this.getEndChunk(t),
                n = [];
              for (let e = a; e < r; ++e) n.push(e);
              return this._requestChunks(n);
            }
            requestRanges(e = []) {
              const t = [];
              for (const a of e) {
                const e = this.getBeginChunk(a.begin),
                  r = this.getEndChunk(a.end);
                for (let a = e; a < r; ++a) t.includes(a) || t.push(a);
              }
              t.sort(function (e, t) {
                return e - t;
              });
              return this._requestChunks(t);
            }
            groupChunks(e) {
              const t = [];
              let a = -1,
                r = -1;
              for (let n = 0, i = e.length; n < i; ++n) {
                const i = e[n];
                a < 0 && (a = i);
                if (r >= 0 && r + 1 !== i) {
                  t.push({ beginChunk: a, endChunk: r + 1 });
                  a = i;
                }
                n + 1 === e.length && t.push({ beginChunk: a, endChunk: i + 1 });
                r = i;
              }
              return t;
            }
            onProgress(e) {
              this.msgHandler.send('DocProgress', {
                loaded: this.stream.numChunksLoaded * this.chunkSize + e.loaded,
                total: this.length,
              });
            }
            onReceiveData(e) {
              const t = e.chunk,
                a = void 0 === e.begin,
                r = a ? this.progressiveDataLength : e.begin,
                n = r + t.byteLength,
                i = Math.floor(r / this.chunkSize),
                s = n < this.length ? Math.floor(n / this.chunkSize) : Math.ceil(n / this.chunkSize);
              if (a) {
                this.stream.onReceiveProgressiveData(t);
                this.progressiveDataLength = n;
              } else this.stream.onReceiveData(r, t);
              this.stream.isDataLoaded && this._loadedStreamCapability.resolve(this.stream);
              const o = [];
              for (let e = i; e < s; ++e) {
                const t = this._requestsByChunk.get(e);
                if (t) {
                  this._requestsByChunk.delete(e);
                  for (const a of t) {
                    const t = this._chunksNeededByRequest.get(a);
                    t.has(e) && t.delete(e);
                    t.size > 0 || o.push(a);
                  }
                }
              }
              if (!this.disableAutoFetch && 0 === this._requestsByChunk.size) {
                let e;
                if (1 === this.stream.numChunksLoaded) {
                  const t = this.stream.numChunks - 1;
                  this.stream.hasChunk(t) || (e = t);
                } else e = this.stream.nextEmptyChunk(s);
                Number.isInteger(e) && this._requestChunks([e]);
              }
              for (const e of o) {
                const t = this._promisesByRequest.get(e);
                this._promisesByRequest.delete(e);
                t.resolve();
              }
              this.msgHandler.send('DocProgress', {
                loaded: this.stream.numChunksLoaded * this.chunkSize,
                total: this.length,
              });
            }
            onError(e) {
              this._loadedStreamCapability.reject(e);
            }
            getBeginChunk(e) {
              return Math.floor(e / this.chunkSize);
            }
            getEndChunk(e) {
              return Math.floor((e - 1) / this.chunkSize) + 1;
            }
            abort(e) {
              this.aborted = !0;
              this.pdfNetworkStream && this.pdfNetworkStream.cancelAllRequests(e);
              for (const t of this._promisesByRequest.values()) t.reject(e);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.StringStream = t.Stream = t.NullStream = void 0;
          var r = a(5),
            n = a(2);
          class Stream extends r.BaseStream {
            constructor(e, t, a, r) {
              super();
              this.bytes = e instanceof Uint8Array ? e : new Uint8Array(e);
              this.start = t || 0;
              this.pos = this.start;
              this.end = t + a || this.bytes.length;
              this.dict = r;
            }
            get length() {
              return this.end - this.start;
            }
            get isEmpty() {
              return 0 === this.length;
            }
            getByte() {
              return this.pos >= this.end ? -1 : this.bytes[this.pos++];
            }
            getBytes(e) {
              const t = this.bytes,
                a = this.pos,
                r = this.end;
              if (!e) return t.subarray(a, r);
              let n = a + e;
              n > r && (n = r);
              this.pos = n;
              return t.subarray(a, n);
            }
            getByteRange(e, t) {
              e < 0 && (e = 0);
              t > this.end && (t = this.end);
              return this.bytes.subarray(e, t);
            }
            reset() {
              this.pos = this.start;
            }
            moveStart() {
              this.start = this.pos;
            }
            makeSubStream(e, t, a = null) {
              return new Stream(this.bytes.buffer, e, t, a);
            }
          }
          t.Stream = Stream;
          t.StringStream = class StringStream extends Stream {
            constructor(e) {
              super((0, n.stringToBytes)(e));
            }
          };
          t.NullStream = class NullStream extends Stream {
            constructor() {
              super(new Uint8Array(0));
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Page = t.PDFDocument = void 0;
          var r = a(10),
            n = a(2),
            i = a(3),
            s = a(4),
            o = a(49),
            c = a(5),
            l = a(65),
            h = a(67),
            u = a(69),
            d = a(98),
            f = a(15),
            g = a(8),
            p = a(73),
            m = a(60),
            b = a(13),
            y = a(17),
            w = a(72),
            S = a(63),
            x = a(74),
            C = a(99);
          const k = [0, 0, 612, 792];
          class Page {
            constructor({
              pdfManager: e,
              xref: t,
              pageIndex: a,
              pageDict: r,
              ref: n,
              globalIdFactory: i,
              fontCache: s,
              builtInCMapCache: o,
              standardFontDataCache: c,
              globalImageCache: l,
              nonBlendModesSet: h,
              xfaFactory: u,
            }) {
              this.pdfManager = e;
              this.pageIndex = a;
              this.pageDict = r;
              this.xref = t;
              this.ref = n;
              this.fontCache = s;
              this.builtInCMapCache = o;
              this.standardFontDataCache = c;
              this.globalImageCache = l;
              this.nonBlendModesSet = h;
              this.evaluatorOptions = e.evaluatorOptions;
              this.resourcesPromise = null;
              this.xfaFactory = u;
              const d = { obj: 0 };
              this._localIdFactory = class extends i {
                static createObjId() {
                  return `p${a}_${++d.obj}`;
                }
                static getPageObjId() {
                  return `page${n.toString()}`;
                }
              };
            }
            _getInheritableProperty(e, t = !1) {
              const a = (0, i.getInheritableProperty)({ dict: this.pageDict, key: e, getArray: t, stopWhenFound: !1 });
              return Array.isArray(a)
                ? 1 !== a.length && a[0] instanceof s.Dict
                  ? s.Dict.merge({ xref: this.xref, dictArray: a })
                  : a[0]
                : a;
            }
            get content() {
              return this.pageDict.getArray('Contents');
            }
            get resources() {
              const e = this._getInheritableProperty('Resources');
              return (0, n.shadow)(this, 'resources', e instanceof s.Dict ? e : s.Dict.empty);
            }
            _getBoundingBox(e) {
              if (this.xfaData) return this.xfaData.bbox;
              let t = this._getInheritableProperty(e, !0);
              if (Array.isArray(t) && 4 === t.length) {
                t = n.Util.normalizeRect(t);
                if (t[2] - t[0] > 0 && t[3] - t[1] > 0) return t;
                (0, n.warn)(`Empty, or invalid, /${e} entry.`);
              }
              return null;
            }
            get mediaBox() {
              return (0, n.shadow)(this, 'mediaBox', this._getBoundingBox('MediaBox') || k);
            }
            get cropBox() {
              return (0, n.shadow)(this, 'cropBox', this._getBoundingBox('CropBox') || this.mediaBox);
            }
            get userUnit() {
              let e = this.pageDict.get('UserUnit');
              ('number' != typeof e || e <= 0) && (e = 1);
              return (0, n.shadow)(this, 'userUnit', e);
            }
            get view() {
              const { cropBox: e, mediaBox: t } = this;
              if (e !== t && !(0, n.isArrayEqual)(e, t)) {
                const a = n.Util.intersect(e, t);
                if (a && a[2] - a[0] > 0 && a[3] - a[1] > 0) return (0, n.shadow)(this, 'view', a);
                (0, n.warn)('Empty /CropBox and /MediaBox intersection.');
              }
              return (0, n.shadow)(this, 'view', t);
            }
            get rotate() {
              let e = this._getInheritableProperty('Rotate') || 0;
              e % 90 != 0 ? (e = 0) : e >= 360 ? (e %= 360) : e < 0 && (e = ((e % 360) + 360) % 360);
              return (0, n.shadow)(this, 'rotate', e);
            }
            _onSubStreamError(e, t, a) {
              if (!this.evaluatorOptions.ignoreErrors) throw t;
              e.send('UnsupportedFeature', { featureId: n.UNSUPPORTED_FEATURES.errorContentSubStream });
              (0, n.warn)(`getContentStream - ignoring sub-stream (${a}): "${t}".`);
            }
            getContentStream(e) {
              return this.pdfManager
                .ensure(this, 'content')
                .then((t) =>
                  t instanceof c.BaseStream
                    ? t
                    : Array.isArray(t)
                    ? new y.StreamsSequenceStream(t, this._onSubStreamError.bind(this, e))
                    : new g.NullStream()
                );
            }
            get xfaData() {
              return (0, n.shadow)(
                this,
                'xfaData',
                this.xfaFactory ? { bbox: this.xfaFactory.getBoundingBox(this.pageIndex) } : null
              );
            }
            async saveNewAnnotations(e, t, a) {
              if (this.xfaFactory) throw new Error('XFA: Cannot save new annotations.');
              const n = new b.PartialEvaluator({
                  xref: this.xref,
                  handler: e,
                  pageIndex: this.pageIndex,
                  idFactory: this._localIdFactory,
                  fontCache: this.fontCache,
                  builtInCMapCache: this.builtInCMapCache,
                  standardFontDataCache: this.standardFontDataCache,
                  globalImageCache: this.globalImageCache,
                  options: this.evaluatorOptions,
                }),
                i = this.pageDict,
                s = this.annotations.slice(),
                o = await r.AnnotationFactory.saveNewAnnotations(n, t, a);
              for (const { ref: e } of o.annotations) s.push(e);
              const c = i.get('Annots');
              i.set('Annots', s);
              const l = [];
              let h = null;
              this.xref.encrypt && (h = this.xref.encrypt.createCipherTransform(this.ref.num, this.ref.gen));
              (0, S.writeObject)(this.ref, i, l, h);
              c && i.set('Annots', c);
              const u = o.dependencies;
              u.push({ ref: this.ref, data: l.join('') }, ...o.annotations);
              return u;
            }
            save(e, t, a) {
              const r = new b.PartialEvaluator({
                xref: this.xref,
                handler: e,
                pageIndex: this.pageIndex,
                idFactory: this._localIdFactory,
                fontCache: this.fontCache,
                builtInCMapCache: this.builtInCMapCache,
                standardFontDataCache: this.standardFontDataCache,
                globalImageCache: this.globalImageCache,
                options: this.evaluatorOptions,
              });
              return this._parsedAnnotations.then(function (e) {
                const i = [];
                for (const s of e)
                  s.mustBePrinted(a) &&
                    i.push(
                      s.save(r, t, a).catch(function (e) {
                        (0, n.warn)(`save - ignoring annotation data during "${t.name}" task: "${e}".`);
                        return null;
                      })
                    );
                return Promise.all(i).then(function (e) {
                  return e.filter((e) => !!e);
                });
              });
            }
            loadResources(e) {
              this.resourcesPromise || (this.resourcesPromise = this.pdfManager.ensure(this, 'resources'));
              return this.resourcesPromise.then(() => new p.ObjectLoader(this.resources, e, this.xref).load());
            }
            getOperatorList({ handler: e, sink: t, task: a, intent: s, cacheKey: o, annotationStorage: c = null }) {
              const l = this.getContentStream(e),
                h = this.loadResources([
                  'ColorSpace',
                  'ExtGState',
                  'Font',
                  'Pattern',
                  'Properties',
                  'Shading',
                  'XObject',
                ]),
                u = new b.PartialEvaluator({
                  xref: this.xref,
                  handler: e,
                  pageIndex: this.pageIndex,
                  idFactory: this._localIdFactory,
                  fontCache: this.fontCache,
                  builtInCMapCache: this.builtInCMapCache,
                  standardFontDataCache: this.standardFontDataCache,
                  globalImageCache: this.globalImageCache,
                  options: this.evaluatorOptions,
                }),
                d = this.xfaFactory ? null : (0, i.getNewAnnotationsMap)(c);
              let f = Promise.resolve(null);
              if (d) {
                const e = d.get(this.pageIndex);
                e && (f = r.AnnotationFactory.printNewAnnotations(u, a, e));
              }
              const g = Promise.all([l, h]).then(([r]) => {
                const n = new m.OperatorList(s, t);
                e.send('StartRenderPage', {
                  transparency: u.hasBlendModes(this.resources, this.nonBlendModesSet),
                  pageIndex: this.pageIndex,
                  cacheKey: o,
                });
                return u
                  .getOperatorList({ stream: r, task: a, resources: this.resources, operatorList: n })
                  .then(function () {
                    return n;
                  });
              });
              return Promise.all([g, this._parsedAnnotations, f]).then(function ([e, t, r]) {
                r && (t = t.concat(r));
                if (0 === t.length || s & n.RenderingIntentFlag.ANNOTATIONS_DISABLE) {
                  e.flush(!0);
                  return { length: e.totalLength };
                }
                const i = !!(s & n.RenderingIntentFlag.ANNOTATIONS_FORMS),
                  o = !!(s & n.RenderingIntentFlag.ANY),
                  l = !!(s & n.RenderingIntentFlag.DISPLAY),
                  h = !!(s & n.RenderingIntentFlag.PRINT),
                  d = [];
                for (const e of t)
                  (o || (l && e.mustBeViewed(c)) || (h && e.mustBePrinted(c))) &&
                    d.push(
                      e.getOperatorList(u, a, s, i, c).catch(function (e) {
                        (0, n.warn)(`getOperatorList - ignoring annotation data during "${a.name}" task: "${e}".`);
                        return { opList: null, separateForm: !1, separateCanvas: !1 };
                      })
                    );
                return Promise.all(d).then(function (t) {
                  let a = !1,
                    r = !1;
                  for (const { opList: n, separateForm: i, separateCanvas: s } of t) {
                    e.addOpList(n);
                    i && (a = i);
                    s && (r = s);
                  }
                  e.flush(!0, { form: a, canvas: r });
                  return { length: e.totalLength };
                });
              });
            }
            extractTextContent({ handler: e, task: t, includeMarkedContent: a, sink: r, combineTextItems: n }) {
              const i = this.getContentStream(e),
                s = this.loadResources(['ExtGState', 'Font', 'Properties', 'XObject']);
              return Promise.all([i, s]).then(([i]) =>
                new b.PartialEvaluator({
                  xref: this.xref,
                  handler: e,
                  pageIndex: this.pageIndex,
                  idFactory: this._localIdFactory,
                  fontCache: this.fontCache,
                  builtInCMapCache: this.builtInCMapCache,
                  standardFontDataCache: this.standardFontDataCache,
                  globalImageCache: this.globalImageCache,
                  options: this.evaluatorOptions,
                }).getTextContent({
                  stream: i,
                  task: t,
                  resources: this.resources,
                  includeMarkedContent: a,
                  combineTextItems: n,
                  sink: r,
                  viewBox: this.view,
                })
              );
            }
            async getStructTree() {
              const e = await this.pdfManager.ensureCatalog('structTreeRoot');
              if (!e) return null;
              return (await this.pdfManager.ensure(this, '_parseStructTree', [e])).serializable;
            }
            _parseStructTree(e) {
              const t = new w.StructTreePage(e, this.pageDict);
              t.parse();
              return t;
            }
            async getAnnotationsData(e, t, a) {
              const r = await this._parsedAnnotations;
              if (0 === r.length) return [];
              const i = [],
                s = [];
              let o;
              const c = !!(a & n.RenderingIntentFlag.ANY),
                l = !!(a & n.RenderingIntentFlag.DISPLAY),
                h = !!(a & n.RenderingIntentFlag.PRINT);
              for (const a of r) {
                const r = c || (l && a.viewable);
                (r || (h && a.printable)) && s.push(a.data);
                if (a.hasTextContent && r) {
                  o ||
                    (o = new b.PartialEvaluator({
                      xref: this.xref,
                      handler: e,
                      pageIndex: this.pageIndex,
                      idFactory: this._localIdFactory,
                      fontCache: this.fontCache,
                      builtInCMapCache: this.builtInCMapCache,
                      standardFontDataCache: this.standardFontDataCache,
                      globalImageCache: this.globalImageCache,
                      options: this.evaluatorOptions,
                    }));
                  i.push(
                    a.extractTextContent(o, t, this.view).catch(function (e) {
                      (0, n.warn)(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`);
                    })
                  );
                }
              }
              await Promise.all(i);
              return s;
            }
            get annotations() {
              const e = this._getInheritableProperty('Annots');
              return (0, n.shadow)(this, 'annotations', Array.isArray(e) ? e : []);
            }
            get _parsedAnnotations() {
              const e = this.pdfManager.ensure(this, 'annotations').then(() => {
                const e = [];
                for (const t of this.annotations)
                  e.push(
                    r.AnnotationFactory.create(this.xref, t, this.pdfManager, this._localIdFactory, !1).catch(function (
                      e
                    ) {
                      (0, n.warn)(`_parsedAnnotations: "${e}".`);
                      return null;
                    })
                  );
                return Promise.all(e).then(function (e) {
                  if (0 === e.length) return e;
                  const t = [];
                  let a;
                  for (const n of e)
                    if (n)
                      if (n instanceof r.PopupAnnotation) {
                        a || (a = []);
                        a.push(n);
                      } else t.push(n);
                  a && t.push(...a);
                  return t;
                });
              });
              return (0, n.shadow)(this, '_parsedAnnotations', e);
            }
            get jsActions() {
              const e = (0, i.collectActions)(this.xref, this.pageDict, n.PageActionEventType);
              return (0, n.shadow)(this, 'jsActions', e);
            }
          }
          t.Page = Page;
          const v = new Uint8Array([37, 80, 68, 70, 45]),
            F = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]),
            O = new Uint8Array([101, 110, 100, 111, 98, 106]),
            T = '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0';
          function find(e, t, a = 1024, r = !1) {
            const n = t.length,
              i = e.peekBytes(a),
              s = i.length - n;
            if (s <= 0) return !1;
            if (r) {
              const a = n - 1;
              let r = i.length - 1;
              for (; r >= a; ) {
                let s = 0;
                for (; s < n && i[r - s] === t[a - s]; ) s++;
                if (s >= n) {
                  e.pos += r - a;
                  return !0;
                }
                r--;
              }
            } else {
              let a = 0;
              for (; a <= s; ) {
                let r = 0;
                for (; r < n && i[a + r] === t[r]; ) r++;
                if (r >= n) {
                  e.pos += a;
                  return !0;
                }
                a++;
              }
            }
            return !1;
          }
          t.PDFDocument = class PDFDocument {
            constructor(e, t) {
              if (t.length <= 0) throw new n.InvalidPDFException('The PDF file is empty, i.e. its size is zero bytes.');
              this.pdfManager = e;
              this.stream = t;
              this.xref = new C.XRef(t, e);
              this._pagePromises = new Map();
              this._version = null;
              const a = { font: 0 };
              this._globalIdFactory = class {
                static getDocId() {
                  return `g_${e.docId}`;
                }
                static createFontId() {
                  return 'f' + ++a.font;
                }
                static createObjId() {
                  (0, n.unreachable)('Abstract method `createObjId` called.');
                }
                static getPageObjId() {
                  (0, n.unreachable)('Abstract method `getPageObjId` called.');
                }
              };
            }
            parse(e) {
              this.xref.parse(e);
              this.catalog = new h.Catalog(this.pdfManager, this.xref);
            }
            get linearization() {
              let e = null;
              try {
                e = f.Linearization.create(this.stream);
              } catch (e) {
                if (e instanceof i.MissingDataException) throw e;
                (0, n.info)(e);
              }
              return (0, n.shadow)(this, 'linearization', e);
            }
            get startXRef() {
              const e = this.stream;
              let t = 0;
              if (this.linearization) {
                e.reset();
                find(e, O) && (t = e.pos + 6 - e.start);
              } else {
                const a = 1024,
                  r = F.length;
                let n = !1,
                  s = e.end;
                for (; !n && s > 0; ) {
                  s -= a - r;
                  s < 0 && (s = 0);
                  e.pos = s;
                  n = find(e, F, a, !0);
                }
                if (n) {
                  e.skip(9);
                  let a;
                  do {
                    a = e.getByte();
                  } while ((0, i.isWhiteSpace)(a));
                  let r = '';
                  for (; a >= 32 && a <= 57; ) {
                    r += String.fromCharCode(a);
                    a = e.getByte();
                  }
                  t = parseInt(r, 10);
                  isNaN(t) && (t = 0);
                }
              }
              return (0, n.shadow)(this, 'startXRef', t);
            }
            checkHeader() {
              const e = this.stream;
              e.reset();
              if (!find(e, v)) return;
              e.moveStart();
              e.skip(v.length);
              let t,
                a = '';
              for (; (t = e.getByte()) > 32 && a.length < 7; ) a += String.fromCharCode(t);
              i.PDF_VERSION_REGEXP.test(a) ? (this._version = a) : (0, n.warn)(`Invalid PDF header version: ${a}`);
            }
            parseStartXRef() {
              this.xref.setStartXRef(this.startXRef);
            }
            get numPages() {
              let e = 0;
              e = this.catalog.hasActualNumPages
                ? this.catalog.numPages
                : this.xfaFactory
                ? this.xfaFactory.getNumPages()
                : this.linearization
                ? this.linearization.numPages
                : this.catalog.numPages;
              return (0, n.shadow)(this, 'numPages', e);
            }
            _hasOnlyDocumentSignatures(e, t = 0) {
              return (
                !!Array.isArray(e) &&
                e.every((e) => {
                  if (!((e = this.xref.fetchIfRef(e)) instanceof s.Dict)) return !1;
                  if (e.has('Kids')) {
                    if (++t > 10) {
                      (0, n.warn)('_hasOnlyDocumentSignatures: maximum recursion depth reached');
                      return !1;
                    }
                    return this._hasOnlyDocumentSignatures(e.get('Kids'), t);
                  }
                  const a = (0, s.isName)(e.get('FT'), 'Sig'),
                    r = e.get('Rect'),
                    i = Array.isArray(r) && r.every((e) => 0 === e);
                  return a && i;
                })
              );
            }
            get _xfaStreams() {
              const e = this.catalog.acroForm;
              if (!e) return null;
              const t = e.get('XFA'),
                a = {
                  'xdp:xdp': '',
                  template: '',
                  datasets: '',
                  config: '',
                  connectionSet: '',
                  localeSet: '',
                  stylesheet: '',
                  '/xdp:xdp': '',
                };
              if (t instanceof c.BaseStream && !t.isEmpty) {
                a['xdp:xdp'] = t;
                return a;
              }
              if (!Array.isArray(t) || 0 === t.length) return null;
              for (let e = 0, r = t.length; e < r; e += 2) {
                let n;
                n = 0 === e ? 'xdp:xdp' : e === r - 2 ? '/xdp:xdp' : t[e];
                if (!a.hasOwnProperty(n)) continue;
                const i = this.xref.fetchIfRef(t[e + 1]);
                i instanceof c.BaseStream && !i.isEmpty && (a[n] = i);
              }
              return a;
            }
            get xfaDatasets() {
              const e = this._xfaStreams;
              if (!e) return (0, n.shadow)(this, 'xfaDatasets', null);
              for (const t of ['datasets', 'xdp:xdp']) {
                const a = e[t];
                if (a)
                  try {
                    const e = { [t]: (0, n.stringToUTF8String)(a.getString()) };
                    return (0, n.shadow)(this, 'xfaDatasets', new d.DatasetReader(e));
                  } catch (e) {
                    (0, n.warn)('XFA - Invalid utf-8 string.');
                    break;
                  }
              }
              return (0, n.shadow)(this, 'xfaDatasets', null);
            }
            get xfaData() {
              const e = this._xfaStreams;
              if (!e) return null;
              const t = Object.create(null);
              for (const [a, r] of Object.entries(e))
                if (r)
                  try {
                    t[a] = (0, n.stringToUTF8String)(r.getString());
                  } catch (e) {
                    (0, n.warn)('XFA - Invalid utf-8 string.');
                    return null;
                  }
              return t;
            }
            get xfaFactory() {
              let e;
              this.pdfManager.enableXfa &&
                this.catalog.needsRendering &&
                this.formInfo.hasXfa &&
                !this.formInfo.hasAcroForm &&
                (e = this.xfaData);
              return (0, n.shadow)(this, 'xfaFactory', e ? new x.XFAFactory(e) : null);
            }
            get isPureXfa() {
              return !!this.xfaFactory && this.xfaFactory.isValid();
            }
            get htmlForXfa() {
              return this.xfaFactory ? this.xfaFactory.getPages() : null;
            }
            async loadXfaImages() {
              const e = await this.pdfManager.ensureCatalog('xfaImages');
              if (!e) return;
              const t = e.getKeys(),
                a = new p.ObjectLoader(e, t, this.xref);
              await a.load();
              const r = new Map();
              for (const a of t) {
                const t = e.get(a);
                t instanceof c.BaseStream && r.set(a, t.getBytes());
              }
              this.xfaFactory.setImages(r);
            }
            async loadXfaFonts(e, t) {
              const a = await this.pdfManager.ensureCatalog('acroForm');
              if (!a) return;
              const r = await a.getAsync('DR');
              if (!(r instanceof s.Dict)) return;
              const c = new p.ObjectLoader(r, ['Font'], this.xref);
              await c.load();
              const l = r.get('Font');
              if (!(l instanceof s.Dict)) return;
              const h = Object.assign(Object.create(null), this.pdfManager.evaluatorOptions);
              h.useSystemFonts = !1;
              const u = new b.PartialEvaluator({
                  xref: this.xref,
                  handler: e,
                  pageIndex: -1,
                  idFactory: this._globalIdFactory,
                  fontCache: this.catalog.fontCache,
                  builtInCMapCache: this.catalog.builtInCMapCache,
                  standardFontDataCache: this.catalog.standardFontDataCache,
                  options: h,
                }),
                d = new m.OperatorList(),
                f = [],
                g = {
                  get font() {
                    return f.at(-1);
                  },
                  set font(e) {
                    f.push(e);
                  },
                  clone() {
                    return this;
                  },
                },
                y = new Map();
              l.forEach((e, t) => {
                y.set(e, t);
              });
              const w = [];
              for (const [e, a] of y) {
                const o = a.get('FontDescriptor');
                if (!(o instanceof s.Dict)) continue;
                let c = o.get('FontFamily');
                c = c.replace(/[ ]+(\d)/g, '$1');
                const l = { fontFamily: c, fontWeight: o.get('FontWeight'), italicAngle: -o.get('ItalicAngle') };
                (0, i.validateCSSFont)(l) &&
                  w.push(
                    u.handleSetFont(r, [s.Name.get(e), 1], null, d, t, g, null, l).catch(function (e) {
                      (0, n.warn)(`loadXfaFonts: "${e}".`);
                      return null;
                    })
                  );
              }
              await Promise.all(w);
              const S = this.xfaFactory.setFonts(f);
              if (!S) return;
              h.ignoreErrors = !0;
              w.length = 0;
              f.length = 0;
              const x = new Set();
              for (const e of S) (0, o.getXfaFontName)(`${e}-Regular`) || x.add(e);
              x.size && S.push('PdfJS-Fallback');
              for (const e of S)
                if (!x.has(e))
                  for (const a of [
                    { name: 'Regular', fontWeight: 400, italicAngle: 0 },
                    { name: 'Bold', fontWeight: 700, italicAngle: 0 },
                    { name: 'Italic', fontWeight: 400, italicAngle: 12 },
                    { name: 'BoldItalic', fontWeight: 700, italicAngle: 12 },
                  ]) {
                    const i = `${e}-${a.name}`,
                      c = (0, o.getXfaFontDict)(i);
                    w.push(
                      u
                        .handleSetFont(r, [s.Name.get(i), 1], null, d, t, g, c, {
                          fontFamily: e,
                          fontWeight: a.fontWeight,
                          italicAngle: a.italicAngle,
                        })
                        .catch(function (e) {
                          (0, n.warn)(`loadXfaFonts: "${e}".`);
                          return null;
                        })
                    );
                  }
              await Promise.all(w);
              this.xfaFactory.appendFonts(f, x);
            }
            async serializeXfaData(e) {
              return this.xfaFactory ? this.xfaFactory.serializeData(e) : null;
            }
            get version() {
              return this.catalog.version || this._version;
            }
            get formInfo() {
              const e = { hasFields: !1, hasAcroForm: !1, hasXfa: !1, hasSignatures: !1 },
                t = this.catalog.acroForm;
              if (!t) return (0, n.shadow)(this, 'formInfo', e);
              try {
                const a = t.get('Fields'),
                  r = Array.isArray(a) && a.length > 0;
                e.hasFields = r;
                const n = t.get('XFA');
                e.hasXfa = (Array.isArray(n) && n.length > 0) || (n instanceof c.BaseStream && !n.isEmpty);
                const i = !!(1 & t.get('SigFlags')),
                  s = i && this._hasOnlyDocumentSignatures(a);
                e.hasAcroForm = r && !s;
                e.hasSignatures = i;
              } catch (e) {
                if (e instanceof i.MissingDataException) throw e;
                (0, n.warn)(`Cannot fetch form information: "${e}".`);
              }
              return (0, n.shadow)(this, 'formInfo', e);
            }
            get documentInfo() {
              const e = {
                PDFFormatVersion: this.version,
                Language: this.catalog.lang,
                EncryptFilterName: this.xref.encrypt ? this.xref.encrypt.filterName : null,
                IsLinearized: !!this.linearization,
                IsAcroFormPresent: this.formInfo.hasAcroForm,
                IsXFAPresent: this.formInfo.hasXfa,
                IsCollectionPresent: !!this.catalog.collection,
                IsSignaturesPresent: this.formInfo.hasSignatures,
              };
              let t;
              try {
                t = this.xref.trailer.get('Info');
              } catch (e) {
                if (e instanceof i.MissingDataException) throw e;
                (0, n.info)('The document information dictionary is invalid.');
              }
              if (!(t instanceof s.Dict)) return (0, n.shadow)(this, 'documentInfo', e);
              for (const a of t.getKeys()) {
                const r = t.get(a);
                switch (a) {
                  case 'Title':
                  case 'Author':
                  case 'Subject':
                  case 'Keywords':
                  case 'Creator':
                  case 'Producer':
                  case 'CreationDate':
                  case 'ModDate':
                    if ('string' == typeof r) {
                      e[a] = (0, n.stringToPDFString)(r);
                      continue;
                    }
                    break;
                  case 'Trapped':
                    if (r instanceof s.Name) {
                      e[a] = r;
                      continue;
                    }
                    break;
                  default:
                    let t;
                    switch (typeof r) {
                      case 'string':
                        t = (0, n.stringToPDFString)(r);
                        break;
                      case 'number':
                      case 'boolean':
                        t = r;
                        break;
                      default:
                        r instanceof s.Name && (t = r);
                    }
                    if (void 0 === t) {
                      (0, n.warn)(`Bad value, for custom key "${a}", in Info: ${r}.`);
                      continue;
                    }
                    e.Custom || (e.Custom = Object.create(null));
                    e.Custom[a] = t;
                    continue;
                }
                (0, n.warn)(`Bad value, for key "${a}", in Info: ${r}.`);
              }
              return (0, n.shadow)(this, 'documentInfo', e);
            }
            get fingerprints() {
              function validate(e) {
                return 'string' == typeof e && e.length > 0 && e !== T;
              }
              function hexString(e) {
                const t = [];
                for (const a of e) {
                  const e = a.toString(16);
                  t.push(e.padStart(2, '0'));
                }
                return t.join('');
              }
              const e = this.xref.trailer.get('ID');
              let t, a;
              if (Array.isArray(e) && validate(e[0])) {
                t = (0, n.stringToBytes)(e[0]);
                e[1] !== e[0] && validate(e[1]) && (a = (0, n.stringToBytes)(e[1]));
              } else t = (0, l.calculateMD5)(this.stream.getByteRange(0, 1024), 0, 1024);
              return (0, n.shadow)(this, 'fingerprints', [hexString(t), a ? hexString(a) : null]);
            }
            async _getLinearizationPage(e) {
              const { catalog: t, linearization: a, xref: r } = this,
                i = s.Ref.get(a.objectNumberFirst, 0);
              try {
                const e = await r.fetchAsync(i);
                if (e instanceof s.Dict) {
                  let a = e.getRaw('Type');
                  a instanceof s.Ref && (a = await r.fetchAsync(a));
                  if ((0, s.isName)(a, 'Page') || (!e.has('Type') && !e.has('Kids'))) {
                    t.pageKidsCountCache.has(i) || t.pageKidsCountCache.put(i, 1);
                    t.pageIndexCache.has(i) || t.pageIndexCache.put(i, 0);
                    return [e, i];
                  }
                }
                throw new n.FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.");
              } catch (a) {
                (0, n.warn)(`_getLinearizationPage: "${a.message}".`);
                return t.getPageDict(e);
              }
            }
            getPage(e) {
              const t = this._pagePromises.get(e);
              if (t) return t;
              const { catalog: a, linearization: r, xfaFactory: n } = this;
              let i;
              i = n
                ? Promise.resolve([s.Dict.empty, null])
                : r && r.pageFirst === e
                ? this._getLinearizationPage(e)
                : a.getPageDict(e);
              i = i.then(
                ([t, r]) =>
                  new Page({
                    pdfManager: this.pdfManager,
                    xref: this.xref,
                    pageIndex: e,
                    pageDict: t,
                    ref: r,
                    globalIdFactory: this._globalIdFactory,
                    fontCache: a.fontCache,
                    builtInCMapCache: a.builtInCMapCache,
                    standardFontDataCache: a.standardFontDataCache,
                    globalImageCache: a.globalImageCache,
                    nonBlendModesSet: a.nonBlendModesSet,
                    xfaFactory: n,
                  })
              );
              this._pagePromises.set(e, i);
              return i;
            }
            async checkFirstPage(e = !1) {
              if (!e)
                try {
                  await this.getPage(0);
                } catch (e) {
                  if (e instanceof i.XRefEntryException) {
                    this._pagePromises.delete(0);
                    await this.cleanup();
                    throw new i.XRefParseException();
                  }
                }
            }
            async checkLastPage(e = !1) {
              const { catalog: t, pdfManager: a } = this;
              t.setActualNumPages();
              let r;
              try {
                await Promise.all([
                  a.ensureDoc('xfaFactory'),
                  a.ensureDoc('linearization'),
                  a.ensureCatalog('numPages'),
                ]);
                if (this.xfaFactory) return;
                r = this.linearization ? this.linearization.numPages : t.numPages;
                if (!Number.isInteger(r)) throw new n.FormatError('Page count is not an integer.');
                if (r <= 1) return;
                await this.getPage(r - 1);
              } catch (s) {
                this._pagePromises.delete(r - 1);
                await this.cleanup();
                if (s instanceof i.XRefEntryException && !e) throw new i.XRefParseException();
                (0, n.warn)(`checkLastPage - invalid /Pages tree /Count: ${r}.`);
                let o;
                try {
                  o = await t.getAllPageDicts(e);
                } catch (a) {
                  if (a instanceof i.XRefEntryException && !e) throw new i.XRefParseException();
                  t.setActualNumPages(1);
                  return;
                }
                for (const [e, [r, n]] of o) {
                  let i;
                  if (r instanceof Error) {
                    i = Promise.reject(r);
                    i.catch(() => {});
                  } else
                    i = Promise.resolve(
                      new Page({
                        pdfManager: a,
                        xref: this.xref,
                        pageIndex: e,
                        pageDict: r,
                        ref: n,
                        globalIdFactory: this._globalIdFactory,
                        fontCache: t.fontCache,
                        builtInCMapCache: t.builtInCMapCache,
                        standardFontDataCache: t.standardFontDataCache,
                        globalImageCache: t.globalImageCache,
                        nonBlendModesSet: t.nonBlendModesSet,
                        xfaFactory: null,
                      })
                    );
                  this._pagePromises.set(e, i);
                }
                t.setActualNumPages(o.size);
              }
            }
            fontFallback(e, t) {
              return this.catalog.fontFallback(e, t);
            }
            async cleanup(e = !1) {
              return this.catalog ? this.catalog.cleanup(e) : (0, u.clearGlobalCaches)();
            }
            _collectFieldObjects(e, t, a) {
              const i = this.xref.fetchIfRef(t);
              if (i.has('T')) {
                const t = (0, n.stringToPDFString)(i.get('T'));
                e = '' === e ? t : `${e}.${t}`;
              }
              a.has(e) || a.set(e, []);
              a.get(e).push(
                r.AnnotationFactory.create(this.xref, t, this.pdfManager, this._localIdFactory, !0)
                  .then((e) => e && e.getFieldObject())
                  .catch(function (e) {
                    (0, n.warn)(`_collectFieldObjects: "${e}".`);
                    return null;
                  })
              );
              if (i.has('Kids')) {
                const t = i.get('Kids');
                for (const r of t) this._collectFieldObjects(e, r, a);
              }
            }
            get fieldObjects() {
              if (!this.formInfo.hasFields) return (0, n.shadow)(this, 'fieldObjects', Promise.resolve(null));
              const e = Object.create(null),
                t = new Map();
              for (const e of this.catalog.acroForm.get('Fields')) this._collectFieldObjects('', e, t);
              const a = [];
              for (const [r, n] of t)
                a.push(
                  Promise.all(n).then((t) => {
                    (t = t.filter((e) => !!e)).length > 0 && (e[r] = t);
                  })
                );
              return (0, n.shadow)(
                this,
                'fieldObjects',
                Promise.all(a).then(() => e)
              );
            }
            get hasJSActions() {
              const e = this.pdfManager.ensureDoc('_parseHasJSActions');
              return (0, n.shadow)(this, 'hasJSActions', e);
            }
            async _parseHasJSActions() {
              const [e, t] = await Promise.all([
                this.pdfManager.ensureCatalog('jsActions'),
                this.pdfManager.ensureDoc('fieldObjects'),
              ]);
              return !!e || (!!t && Object.values(t).some((e) => e.some((e) => null !== e.actions)));
            }
            get calculationOrderIds() {
              const e = this.catalog.acroForm;
              if (!e || !e.has('CO')) return (0, n.shadow)(this, 'calculationOrderIds', null);
              const t = e.get('CO');
              if (!Array.isArray(t) || 0 === t.length) return (0, n.shadow)(this, 'calculationOrderIds', null);
              const a = [];
              for (const e of t) e instanceof s.Ref && a.push(e.toString());
              return 0 === a.length
                ? (0, n.shadow)(this, 'calculationOrderIds', null)
                : (0, n.shadow)(this, 'calculationOrderIds', a);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PopupAnnotation =
            t.MarkupAnnotation =
            t.AnnotationFactory =
            t.AnnotationBorderStyle =
            t.Annotation =
              void 0;
          t.getQuadPoints = getQuadPoints;
          var r = a(2),
            n = a(3),
            i = a(11),
            s = a(4),
            o = a(63),
            c = a(5),
            l = a(58),
            h = a(67),
            u = a(12),
            d = a(70),
            f = a(73),
            g = a(60),
            p = a(8),
            m = a(74);
          t.AnnotationFactory = class AnnotationFactory {
            static create(e, t, a, r, n) {
              return Promise.all([
                a.ensureCatalog('acroForm'),
                a.ensureCatalog('baseUrl'),
                a.ensureCatalog('attachments'),
                a.ensureDoc('xfaDatasets'),
                n ? this._getPageIndex(e, t, a) : -1,
              ]).then(([i, s, o, c, l]) => a.ensure(this, '_create', [e, t, a, r, i, o, c, n, l]));
            }
            static _create(e, t, a, i, o, c = null, l, h, u = -1) {
              const d = e.fetchIfRef(t);
              if (!(d instanceof s.Dict)) return;
              const f = t instanceof s.Ref ? t.toString() : `annot_${i.createObjId()}`;
              let g = d.get('Subtype');
              g = g instanceof s.Name ? g.name : null;
              const p = o instanceof s.Dict ? o : s.Dict.empty,
                m = {
                  xref: e,
                  ref: t,
                  dict: d,
                  subtype: g,
                  id: f,
                  pdfManager: a,
                  acroForm: p,
                  attachments: c,
                  xfaDatasets: l,
                  collectFields: h,
                  needAppearances: !h && !0 === p.get('NeedAppearances'),
                  pageIndex: u,
                  isOffscreenCanvasSupported:
                    r.FeatureTest.isOffscreenCanvasSupported && a.evaluatorOptions.isOffscreenCanvasSupported,
                };
              switch (g) {
                case 'Link':
                  return new LinkAnnotation(m);
                case 'Text':
                  return new TextAnnotation(m);
                case 'Widget':
                  let e = (0, n.getInheritableProperty)({ dict: d, key: 'FT' });
                  e = e instanceof s.Name ? e.name : null;
                  switch (e) {
                    case 'Tx':
                      return new TextWidgetAnnotation(m);
                    case 'Btn':
                      return new ButtonWidgetAnnotation(m);
                    case 'Ch':
                      return new ChoiceWidgetAnnotation(m);
                    case 'Sig':
                      return new SignatureWidgetAnnotation(m);
                  }
                  (0, r.warn)(`Unimplemented widget field type "${e}", falling back to base field type.`);
                  return new WidgetAnnotation(m);
                case 'Popup':
                  return new PopupAnnotation(m);
                case 'FreeText':
                  return new FreeTextAnnotation(m);
                case 'Line':
                  return new LineAnnotation(m);
                case 'Square':
                  return new SquareAnnotation(m);
                case 'Circle':
                  return new CircleAnnotation(m);
                case 'PolyLine':
                  return new PolylineAnnotation(m);
                case 'Polygon':
                  return new PolygonAnnotation(m);
                case 'Caret':
                  return new CaretAnnotation(m);
                case 'Ink':
                  return new InkAnnotation(m);
                case 'Highlight':
                  return new HighlightAnnotation(m);
                case 'Underline':
                  return new UnderlineAnnotation(m);
                case 'Squiggly':
                  return new SquigglyAnnotation(m);
                case 'StrikeOut':
                  return new StrikeOutAnnotation(m);
                case 'Stamp':
                  return new StampAnnotation(m);
                case 'FileAttachment':
                  return new FileAttachmentAnnotation(m);
                default:
                  h ||
                    (g
                      ? (0, r.warn)(`Unimplemented annotation type "${g}", falling back to base annotation.`)
                      : (0, r.warn)('Annotation is missing the required /Subtype.'));
                  return new Annotation(m);
              }
            }
            static async _getPageIndex(e, t, a) {
              try {
                const r = await e.fetchIfRefAsync(t);
                if (!(r instanceof s.Dict)) return -1;
                const n = r.getRaw('P');
                if (!(n instanceof s.Ref)) return -1;
                return await a.ensureCatalog('getPageIndex', [n]);
              } catch (e) {
                (0, r.warn)(`_getPageIndex: "${e}".`);
                return -1;
              }
            }
            static async saveNewAnnotations(e, t, a) {
              const n = e.xref;
              let i;
              const c = [],
                l = [];
              for (const h of a)
                switch (h.annotationType) {
                  case r.AnnotationEditorType.FREETEXT:
                    if (!i) {
                      const e = new s.Dict(n);
                      e.set('BaseFont', s.Name.get('Helvetica'));
                      e.set('Type', s.Name.get('Font'));
                      e.set('Subtype', s.Name.get('Type1'));
                      e.set('Encoding', s.Name.get('WinAnsiEncoding'));
                      const t = [];
                      i = n.getNewTemporaryRef();
                      (0, o.writeObject)(i, e, t, null);
                      c.push({ ref: i, data: t.join('') });
                    }
                    l.push(FreeTextAnnotation.createNewAnnotation(n, h, c, { evaluator: e, task: t, baseFontRef: i }));
                    break;
                  case r.AnnotationEditorType.INK:
                    l.push(InkAnnotation.createNewAnnotation(n, h, c));
                }
              return { annotations: await Promise.all(l), dependencies: c };
            }
            static async printNewAnnotations(e, t, a) {
              if (!a) return null;
              const n = e.xref,
                i = [],
                s = r.FeatureTest.isOffscreenCanvasSupported && e.options.isOffscreenCanvasSupported;
              for (const o of a)
                switch (o.annotationType) {
                  case r.AnnotationEditorType.FREETEXT:
                    i.push(
                      FreeTextAnnotation.createNewPrintAnnotation(n, o, {
                        evaluator: e,
                        task: t,
                        isOffscreenCanvasSupported: s,
                      })
                    );
                    break;
                  case r.AnnotationEditorType.INK:
                    i.push(InkAnnotation.createNewPrintAnnotation(n, o, { isOffscreenCanvasSupported: s }));
                }
              return Promise.all(i);
            }
          };
          function getRgbColor(e, t = new Uint8ClampedArray(3)) {
            if (!Array.isArray(e)) return t;
            const a = t || new Uint8ClampedArray(3);
            switch (e.length) {
              case 0:
                return null;
              case 1:
                u.ColorSpace.singletons.gray.getRgbItem(e, 0, a, 0);
                return a;
              case 3:
                u.ColorSpace.singletons.rgb.getRgbItem(e, 0, a, 0);
                return a;
              case 4:
                u.ColorSpace.singletons.cmyk.getRgbItem(e, 0, a, 0);
                return a;
              default:
                return t;
            }
          }
          function getPdfColorArray(e) {
            return Array.from(e, (e) => e / 255);
          }
          function getQuadPoints(e, t) {
            const a = e.getArray('QuadPoints');
            if (!Array.isArray(a) || 0 === a.length || a.length % 8 > 0) return null;
            const r = [];
            for (let e = 0, n = a.length / 8; e < n; e++) {
              let n = 1 / 0,
                i = -1 / 0,
                s = 1 / 0,
                o = -1 / 0;
              for (let t = 8 * e, r = 8 * e + 8; t < r; t += 2) {
                const e = a[t],
                  r = a[t + 1];
                n = Math.min(e, n);
                i = Math.max(e, i);
                s = Math.min(r, s);
                o = Math.max(r, o);
              }
              if (null !== t && (n < t[0] || i > t[2] || s < t[1] || o > t[3])) return null;
              r.push([
                { x: n, y: o },
                { x: i, y: o },
                { x: n, y: s },
                { x: i, y: s },
              ]);
            }
            return r;
          }
          function getTransformMatrix(e, t, a) {
            const [n, i, s, o] = r.Util.getAxialAlignedBoundingBox(t, a);
            if (n === s || i === o) return [1, 0, 0, 1, e[0], e[1]];
            const c = (e[2] - e[0]) / (s - n),
              l = (e[3] - e[1]) / (o - i);
            return [c, 0, 0, l, e[0] - n * c, e[1] - i * l];
          }
          class Annotation {
            constructor(e) {
              const { dict: t, xref: a } = e;
              this.setTitle(t.get('T'));
              this.setContents(t.get('Contents'));
              this.setModificationDate(t.get('M'));
              this.setFlags(t.get('F'));
              this.setRectangle(t.getArray('Rect'));
              this.setColor(t.getArray('C'));
              this.setBorderStyle(t);
              this.setAppearance(t);
              this.setOptionalContent(t);
              const i = t.get('MK');
              this.setBorderAndBackgroundColors(i);
              this.setRotation(i);
              this._streams = [];
              this.appearance && this._streams.push(this.appearance);
              this.data = {
                annotationFlags: this.flags,
                borderStyle: this.borderStyle,
                color: this.color,
                backgroundColor: this.backgroundColor,
                borderColor: this.borderColor,
                rotation: this.rotation,
                contentsObj: this._contents,
                hasAppearance: !!this.appearance,
                id: e.id,
                modificationDate: this.modificationDate,
                rect: this.rectangle,
                subtype: e.subtype,
                hasOwnCanvas: !1,
              };
              if (e.collectFields) {
                const i = t.get('Kids');
                if (Array.isArray(i)) {
                  const e = [];
                  for (const t of i) t instanceof s.Ref && e.push(t.toString());
                  0 !== e.length && (this.data.kidIds = e);
                }
                this.data.actions = (0, n.collectActions)(a, t, r.AnnotationActionEventType);
                this.data.fieldName = this._constructFieldName(t);
                this.data.pageIndex = e.pageIndex;
              }
              this._isOffscreenCanvasSupported = e.isOffscreenCanvasSupported;
              this._fallbackFontDict = null;
              this._needAppearances = !1;
            }
            _hasFlag(e, t) {
              return !!(e & t);
            }
            _isViewable(e) {
              return !this._hasFlag(e, r.AnnotationFlag.INVISIBLE) && !this._hasFlag(e, r.AnnotationFlag.NOVIEW);
            }
            _isPrintable(e) {
              return this._hasFlag(e, r.AnnotationFlag.PRINT) && !this._hasFlag(e, r.AnnotationFlag.INVISIBLE);
            }
            mustBeViewed(e) {
              const t = e && e.get(this.data.id);
              return t && void 0 !== t.hidden
                ? !t.hidden
                : this.viewable && !this._hasFlag(this.flags, r.AnnotationFlag.HIDDEN);
            }
            mustBePrinted(e) {
              const t = e && e.get(this.data.id);
              return t && void 0 !== t.print ? t.print : this.printable;
            }
            get viewable() {
              return null !== this.data.quadPoints && (0 === this.flags || this._isViewable(this.flags));
            }
            get printable() {
              return null !== this.data.quadPoints && 0 !== this.flags && this._isPrintable(this.flags);
            }
            _parseStringHelper(e) {
              const t = 'string' == typeof e ? (0, r.stringToPDFString)(e) : '';
              return { str: t, dir: t && 'rtl' === (0, l.bidi)(t).dir ? 'rtl' : 'ltr' };
            }
            setDefaultAppearance(e) {
              const t = (0, n.getInheritableProperty)({ dict: e.dict, key: 'DA' }) || e.acroForm.get('DA');
              this._defaultAppearance = 'string' == typeof t ? t : '';
              this.data.defaultAppearanceData = (0, i.parseDefaultAppearance)(this._defaultAppearance);
            }
            setTitle(e) {
              this._title = this._parseStringHelper(e);
            }
            setContents(e) {
              this._contents = this._parseStringHelper(e);
            }
            setModificationDate(e) {
              this.modificationDate = 'string' == typeof e ? e : null;
            }
            setFlags(e) {
              this.flags = Number.isInteger(e) && e > 0 ? e : 0;
            }
            hasFlag(e) {
              return this._hasFlag(this.flags, e);
            }
            setRectangle(e) {
              Array.isArray(e) && 4 === e.length
                ? (this.rectangle = r.Util.normalizeRect(e))
                : (this.rectangle = [0, 0, 0, 0]);
            }
            setColor(e) {
              this.color = getRgbColor(e);
            }
            setLineEndings(e) {
              this.lineEndings = ['None', 'None'];
              if (Array.isArray(e) && 2 === e.length)
                for (let t = 0; t < 2; t++) {
                  const a = e[t];
                  if (a instanceof s.Name)
                    switch (a.name) {
                      case 'None':
                        continue;
                      case 'Square':
                      case 'Circle':
                      case 'Diamond':
                      case 'OpenArrow':
                      case 'ClosedArrow':
                      case 'Butt':
                      case 'ROpenArrow':
                      case 'RClosedArrow':
                      case 'Slash':
                        this.lineEndings[t] = a.name;
                        continue;
                    }
                  (0, r.warn)(`Ignoring invalid lineEnding: ${a}`);
                }
            }
            setRotation(e) {
              this.rotation = 0;
              if (e instanceof s.Dict) {
                let t = e.get('R') || 0;
                if (Number.isInteger(t) && 0 !== t) {
                  t %= 360;
                  t < 0 && (t += 360);
                  t % 90 == 0 && (this.rotation = t);
                }
              }
            }
            setBorderAndBackgroundColors(e) {
              if (e instanceof s.Dict) {
                this.borderColor = getRgbColor(e.getArray('BC'), null);
                this.backgroundColor = getRgbColor(e.getArray('BG'), null);
              } else this.borderColor = this.backgroundColor = null;
            }
            setBorderStyle(e) {
              this.borderStyle = new AnnotationBorderStyle();
              if (e instanceof s.Dict)
                if (e.has('BS')) {
                  const t = e.get('BS'),
                    a = t.get('Type');
                  if (!a || (0, s.isName)(a, 'Border')) {
                    this.borderStyle.setWidth(t.get('W'), this.rectangle);
                    this.borderStyle.setStyle(t.get('S'));
                    this.borderStyle.setDashArray(t.getArray('D'));
                  }
                } else if (e.has('Border')) {
                  const t = e.getArray('Border');
                  if (Array.isArray(t) && t.length >= 3) {
                    this.borderStyle.setHorizontalCornerRadius(t[0]);
                    this.borderStyle.setVerticalCornerRadius(t[1]);
                    this.borderStyle.setWidth(t[2], this.rectangle);
                    4 === t.length && this.borderStyle.setDashArray(t[3], !0);
                  }
                } else this.borderStyle.setWidth(0);
            }
            setAppearance(e) {
              this.appearance = null;
              const t = e.get('AP');
              if (!(t instanceof s.Dict)) return;
              const a = t.get('N');
              if (a instanceof c.BaseStream) {
                this.appearance = a;
                return;
              }
              if (!(a instanceof s.Dict)) return;
              const r = e.get('AS');
              if (!(r instanceof s.Name && a.has(r.name))) return;
              const n = a.get(r.name);
              n instanceof c.BaseStream && (this.appearance = n);
            }
            setOptionalContent(e) {
              this.oc = null;
              const t = e.get('OC');
              t instanceof s.Name
                ? (0, r.warn)('setOptionalContent: Support for /Name-entry is not implemented.')
                : t instanceof s.Dict && (this.oc = t);
            }
            loadResources(e, t) {
              return t.dict.getAsync('Resources').then((t) => {
                if (!t) return;
                return new f.ObjectLoader(t, e, t.xref).load().then(function () {
                  return t;
                });
              });
            }
            async getOperatorList(e, t, a, n, i) {
              const o = this.data;
              let c = this.appearance;
              const l = !!(this.data.hasOwnCanvas && a & r.RenderingIntentFlag.DISPLAY);
              if (!c) {
                if (!l) return { opList: new g.OperatorList(), separateForm: !1, separateCanvas: !1 };
                c = new p.StringStream('');
                c.dict = new s.Dict();
              }
              const h = c.dict,
                u = await this.loadResources(['ExtGState', 'ColorSpace', 'Pattern', 'Shading', 'XObject', 'Font'], c),
                d = h.getArray('BBox') || [0, 0, 1, 1],
                f = h.getArray('Matrix') || [1, 0, 0, 1, 0, 0],
                m = getTransformMatrix(o.rect, d, f),
                b = new g.OperatorList();
              let y;
              this.oc && (y = await e.parseMarkedContentProps(this.oc, null));
              void 0 !== y && b.addOp(r.OPS.beginMarkedContentProps, ['OC', y]);
              b.addOp(r.OPS.beginAnnotation, [o.id, o.rect, m, f, l]);
              await e.getOperatorList({
                stream: c,
                task: t,
                resources: u,
                operatorList: b,
                fallbackFontDict: this._fallbackFontDict,
              });
              b.addOp(r.OPS.endAnnotation, []);
              void 0 !== y && b.addOp(r.OPS.endMarkedContent, []);
              this.reset();
              return { opList: b, separateForm: !1, separateCanvas: l };
            }
            async save(e, t, a) {
              return null;
            }
            get hasTextContent() {
              return !1;
            }
            async extractTextContent(e, t, a) {
              if (!this.appearance) return;
              const r = await this.loadResources(['ExtGState', 'Font', 'Properties', 'XObject'], this.appearance),
                n = [],
                i = [],
                s = {
                  desiredSize: Math.Infinity,
                  ready: !0,
                  enqueue(e, t) {
                    for (const t of e.items) {
                      i.push(t.str);
                      if (t.hasEOL) {
                        n.push(i.join(''));
                        i.length = 0;
                      }
                    }
                  },
                };
              await e.getTextContent({
                stream: this.appearance,
                task: t,
                resources: r,
                includeMarkedContent: !0,
                combineTextItems: !0,
                sink: s,
                viewBox: a,
              });
              this.reset();
              i.length && n.push(i.join(''));
              n.length > 0 && (this.data.textContent = n);
            }
            getFieldObject() {
              return this.data.kidIds
                ? {
                    id: this.data.id,
                    actions: this.data.actions,
                    name: this.data.fieldName,
                    strokeColor: this.data.borderColor,
                    fillColor: this.data.backgroundColor,
                    type: '',
                    kidIds: this.data.kidIds,
                    page: this.data.pageIndex,
                    rotation: this.rotation,
                  }
                : null;
            }
            reset() {
              for (const e of this._streams) e.reset();
            }
            _constructFieldName(e) {
              if (!e.has('T') && !e.has('Parent')) {
                (0, r.warn)('Unknown field name, falling back to empty field name.');
                return '';
              }
              if (!e.has('Parent')) return (0, r.stringToPDFString)(e.get('T'));
              const t = [];
              e.has('T') && t.unshift((0, r.stringToPDFString)(e.get('T')));
              let a = e;
              const n = new s.RefSet();
              e.objId && n.put(e.objId);
              for (; a.has('Parent'); ) {
                a = a.get('Parent');
                if (!(a instanceof s.Dict) || (a.objId && n.has(a.objId))) break;
                a.objId && n.put(a.objId);
                if (a.has('T')) {
                  const e = (0, r.stringToPDFString)(a.get('T'));
                  e.startsWith('#') || t.unshift(e);
                }
              }
              return t.join('.');
            }
          }
          t.Annotation = Annotation;
          class AnnotationBorderStyle {
            constructor() {
              this.width = 1;
              this.style = r.AnnotationBorderStyleType.SOLID;
              this.dashArray = [3];
              this.horizontalCornerRadius = 0;
              this.verticalCornerRadius = 0;
            }
            setWidth(e, t = [0, 0, 0, 0]) {
              if (e instanceof s.Name) this.width = 0;
              else if ('number' == typeof e) {
                if (e > 0) {
                  const a = (t[2] - t[0]) / 2,
                    n = (t[3] - t[1]) / 2;
                  if (a > 0 && n > 0 && (e > a || e > n)) {
                    (0, r.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);
                    e = 1;
                  }
                }
                this.width = e;
              }
            }
            setStyle(e) {
              if (e instanceof s.Name)
                switch (e.name) {
                  case 'S':
                    this.style = r.AnnotationBorderStyleType.SOLID;
                    break;
                  case 'D':
                    this.style = r.AnnotationBorderStyleType.DASHED;
                    break;
                  case 'B':
                    this.style = r.AnnotationBorderStyleType.BEVELED;
                    break;
                  case 'I':
                    this.style = r.AnnotationBorderStyleType.INSET;
                    break;
                  case 'U':
                    this.style = r.AnnotationBorderStyleType.UNDERLINE;
                }
            }
            setDashArray(e, t = !1) {
              if (Array.isArray(e) && e.length > 0) {
                let a = !0,
                  r = !0;
                for (const t of e) {
                  if (!(+t >= 0)) {
                    a = !1;
                    break;
                  }
                  t > 0 && (r = !1);
                }
                if (a && !r) {
                  this.dashArray = e;
                  t && this.setStyle(s.Name.get('D'));
                } else this.width = 0;
              } else e && (this.width = 0);
            }
            setHorizontalCornerRadius(e) {
              Number.isInteger(e) && (this.horizontalCornerRadius = e);
            }
            setVerticalCornerRadius(e) {
              Number.isInteger(e) && (this.verticalCornerRadius = e);
            }
          }
          t.AnnotationBorderStyle = AnnotationBorderStyle;
          class MarkupAnnotation extends Annotation {
            constructor(e) {
              super(e);
              const { dict: t } = e;
              if (t.has('IRT')) {
                const e = t.getRaw('IRT');
                this.data.inReplyTo = e instanceof s.Ref ? e.toString() : null;
                const a = t.get('RT');
                this.data.replyType = a instanceof s.Name ? a.name : r.AnnotationReplyType.REPLY;
              }
              if (this.data.replyType === r.AnnotationReplyType.GROUP) {
                const e = t.get('IRT');
                this.setTitle(e.get('T'));
                this.data.titleObj = this._title;
                this.setContents(e.get('Contents'));
                this.data.contentsObj = this._contents;
                if (e.has('CreationDate')) {
                  this.setCreationDate(e.get('CreationDate'));
                  this.data.creationDate = this.creationDate;
                } else this.data.creationDate = null;
                if (e.has('M')) {
                  this.setModificationDate(e.get('M'));
                  this.data.modificationDate = this.modificationDate;
                } else this.data.modificationDate = null;
                this.data.hasPopup = e.has('Popup');
                if (e.has('C')) {
                  this.setColor(e.getArray('C'));
                  this.data.color = this.color;
                } else this.data.color = null;
              } else {
                this.data.titleObj = this._title;
                this.setCreationDate(t.get('CreationDate'));
                this.data.creationDate = this.creationDate;
                this.data.hasPopup = t.has('Popup');
                t.has('C') || (this.data.color = null);
              }
              t.has('RC') && (this.data.richText = m.XFAFactory.getRichTextAsHtml(t.get('RC')));
            }
            setCreationDate(e) {
              this.creationDate = 'string' == typeof e ? e : null;
            }
            _setDefaultAppearance({
              xref: e,
              extra: t,
              strokeColor: a,
              fillColor: r,
              blendMode: n,
              strokeAlpha: i,
              fillAlpha: o,
              pointsCallback: c,
            }) {
              let l = Number.MAX_VALUE,
                h = Number.MAX_VALUE,
                u = Number.MIN_VALUE,
                d = Number.MIN_VALUE;
              const f = ['q'];
              t && f.push(t);
              a && f.push(`${a[0]} ${a[1]} ${a[2]} RG`);
              r && f.push(`${r[0]} ${r[1]} ${r[2]} rg`);
              let g = this.data.quadPoints;
              g ||
                (g = [
                  [
                    { x: this.rectangle[0], y: this.rectangle[3] },
                    { x: this.rectangle[2], y: this.rectangle[3] },
                    { x: this.rectangle[0], y: this.rectangle[1] },
                    { x: this.rectangle[2], y: this.rectangle[1] },
                  ],
                ]);
              for (const e of g) {
                const [t, a, r, n] = c(f, e);
                l = Math.min(l, t);
                u = Math.max(u, a);
                h = Math.min(h, r);
                d = Math.max(d, n);
              }
              f.push('Q');
              const m = new s.Dict(e),
                b = new s.Dict(e);
              b.set('Subtype', s.Name.get('Form'));
              const y = new p.StringStream(f.join(' '));
              y.dict = b;
              m.set('Fm0', y);
              const w = new s.Dict(e);
              n && w.set('BM', s.Name.get(n));
              'number' == typeof i && w.set('CA', i);
              'number' == typeof o && w.set('ca', o);
              const S = new s.Dict(e);
              S.set('GS0', w);
              const x = new s.Dict(e);
              x.set('ExtGState', S);
              x.set('XObject', m);
              const C = new s.Dict(e);
              C.set('Resources', x);
              const k = (this.data.rect = [l, h, u, d]);
              C.set('BBox', k);
              this.appearance = new p.StringStream('/GS0 gs /Fm0 Do');
              this.appearance.dict = C;
              this._streams.push(this.appearance, y);
            }
            static async createNewAnnotation(e, t, a, r) {
              const n = e.getNewTemporaryRef(),
                i = await this.createNewAppearanceStream(t, e, r),
                s = [];
              let c;
              if (i) {
                const r = e.getNewTemporaryRef();
                c = this.createNewDict(t, e, { apRef: r });
                const n = e.encrypt ? e.encrypt.createCipherTransform(r.num, r.gen) : null;
                (0, o.writeObject)(r, i, s, n);
                a.push({ ref: r, data: s.join('') });
              } else c = this.createNewDict(t, e, {});
              s.length = 0;
              const l = e.encrypt ? e.encrypt.createCipherTransform(n.num, n.gen) : null;
              (0, o.writeObject)(n, c, s, l);
              return { ref: n, data: s.join('') };
            }
            static async createNewPrintAnnotation(e, t, a) {
              const r = await this.createNewAppearanceStream(t, e, a),
                n = this.createNewDict(t, e, { ap: r });
              return new this.prototype.constructor({
                dict: n,
                xref: e,
                isOffscreenCanvasSupported: a.isOffscreenCanvasSupported,
              });
            }
          }
          t.MarkupAnnotation = MarkupAnnotation;
          class WidgetAnnotation extends Annotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e,
                i = this.data;
              this.ref = e.ref;
              this._needAppearances = e.needAppearances;
              i.annotationType = r.AnnotationType.WIDGET;
              void 0 === i.fieldName && (i.fieldName = this._constructFieldName(t));
              void 0 === i.actions && (i.actions = (0, n.collectActions)(a, t, r.AnnotationActionEventType));
              let o = (0, n.getInheritableProperty)({ dict: t, key: 'V', getArray: !0 });
              i.fieldValue = this._decodeFormValue(o);
              const c = (0, n.getInheritableProperty)({ dict: t, key: 'DV', getArray: !0 });
              i.defaultFieldValue = this._decodeFormValue(c);
              if (void 0 === o && e.xfaDatasets) {
                const t = this._title.str;
                if (t) {
                  this._hasValueFromXFA = !0;
                  i.fieldValue = o = e.xfaDatasets.getValue(t);
                }
              }
              void 0 === o && null !== i.defaultFieldValue && (i.fieldValue = i.defaultFieldValue);
              i.alternativeText = (0, r.stringToPDFString)(t.get('TU') || '');
              this.setDefaultAppearance(e);
              i.hasAppearance =
                (this._needAppearances && void 0 !== i.fieldValue && null !== i.fieldValue) || i.hasAppearance;
              const l = (0, n.getInheritableProperty)({ dict: t, key: 'FT' });
              i.fieldType = l instanceof s.Name ? l.name : null;
              const h = (0, n.getInheritableProperty)({ dict: t, key: 'DR' }),
                u = e.acroForm.get('DR'),
                d = this.appearance && this.appearance.dict.get('Resources');
              this._fieldResources = {
                localResources: h,
                acroFormResources: u,
                appearanceResources: d,
                mergedResources: s.Dict.merge({ xref: a, dictArray: [h, d, u], mergeSubDicts: !0 }),
              };
              i.fieldFlags = (0, n.getInheritableProperty)({ dict: t, key: 'Ff' });
              (!Number.isInteger(i.fieldFlags) || i.fieldFlags < 0) && (i.fieldFlags = 0);
              i.readOnly = this.hasFieldFlag(r.AnnotationFieldFlag.READONLY);
              i.required = this.hasFieldFlag(r.AnnotationFieldFlag.REQUIRED);
              i.hidden = this._hasFlag(i.annotationFlags, r.AnnotationFlag.HIDDEN);
            }
            _decodeFormValue(e) {
              return Array.isArray(e)
                ? e.filter((e) => 'string' == typeof e).map((e) => (0, r.stringToPDFString)(e))
                : e instanceof s.Name
                ? (0, r.stringToPDFString)(e.name)
                : 'string' == typeof e
                ? (0, r.stringToPDFString)(e)
                : null;
            }
            hasFieldFlag(e) {
              return !!(this.data.fieldFlags & e);
            }
            getRotationMatrix(e) {
              const t = e ? e.get(this.data.id) : void 0;
              let a = t && t.rotation;
              void 0 === a && (a = this.rotation);
              if (0 === a) return r.IDENTITY_MATRIX;
              const i = this.data.rect[2] - this.data.rect[0],
                s = this.data.rect[3] - this.data.rect[1];
              return (0, n.getRotationMatrix)(a, i, s);
            }
            getBorderAndBackgroundAppearances(e) {
              const t = e ? e.get(this.data.id) : void 0;
              let a = t && t.rotation;
              void 0 === a && (a = this.rotation);
              if (!this.backgroundColor && !this.borderColor) return '';
              const r = this.data.rect[2] - this.data.rect[0],
                n = this.data.rect[3] - this.data.rect[1],
                s = 0 === a || 180 === a ? `0 0 ${r} ${n} re` : `0 0 ${n} ${r} re`;
              let o = '';
              this.backgroundColor && (o = `${(0, i.getPdfColor)(this.backgroundColor, !0)} ${s} f `);
              if (this.borderColor) {
                o += `${this.borderStyle.width || 1} w ${(0, i.getPdfColor)(this.borderColor, !1)} ${s} S `;
              }
              return o;
            }
            async getOperatorList(e, t, a, n, i) {
              if (n && !(this instanceof SignatureWidgetAnnotation))
                return { opList: new g.OperatorList(), separateForm: !0, separateCanvas: !1 };
              if (!this._hasText) return super.getOperatorList(e, t, a, n, i);
              const s = await this._getAppearance(e, t, a, i);
              if (this.appearance && null === s) return super.getOperatorList(e, t, a, n, i);
              const o = new g.OperatorList();
              if (!this._defaultAppearance || null === s) return { opList: o, separateForm: !1, separateCanvas: !1 };
              const c = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]],
                l = getTransformMatrix(this.data.rect, c, [1, 0, 0, 1, 0, 0]);
              let h;
              this.oc && (h = await e.parseMarkedContentProps(this.oc, null));
              void 0 !== h && o.addOp(r.OPS.beginMarkedContentProps, ['OC', h]);
              o.addOp(r.OPS.beginAnnotation, [this.data.id, this.data.rect, l, this.getRotationMatrix(i), !1]);
              const u = new p.StringStream(s);
              await e.getOperatorList({
                stream: u,
                task: t,
                resources: this._fieldResources.mergedResources,
                operatorList: o,
              });
              o.addOp(r.OPS.endAnnotation, []);
              void 0 !== h && o.addOp(r.OPS.endMarkedContent, []);
              return { opList: o, separateForm: !1, separateCanvas: !1 };
            }
            _getMKDict(e) {
              const t = new s.Dict(null);
              e && t.set('R', e);
              this.borderColor && t.set('BC', getPdfColorArray(this.borderColor));
              this.backgroundColor && t.set('BG', getPdfColorArray(this.backgroundColor));
              return t.size > 0 ? t : null;
            }
            amendSavedDict(e, t) {}
            async save(e, t, a) {
              const i = a ? a.get(this.data.id) : void 0;
              let c = i && i.value,
                l = i && i.rotation;
              if (c === this.data.fieldValue || void 0 === c) {
                if (!this._hasValueFromXFA && void 0 === l) return null;
                c = c || this.data.fieldValue;
              }
              if (
                void 0 === l &&
                !this._hasValueFromXFA &&
                Array.isArray(c) &&
                Array.isArray(this.data.fieldValue) &&
                c.length === this.data.fieldValue.length &&
                c.every((e, t) => e === this.data.fieldValue[t])
              )
                return null;
              void 0 === l && (l = this.rotation);
              let h = null;
              if (!this._needAppearances) {
                h = await this._getAppearance(e, t, r.RenderingIntentFlag.SAVE, a);
                if (null === h) return null;
              }
              let u = !1;
              if (h && h.needAppearances) {
                u = !0;
                h = null;
              }
              const { xref: d } = e,
                f = d.fetchIfRef(this.ref);
              if (!(f instanceof s.Dict)) return null;
              const g = new s.Dict(d);
              for (const e of f.getKeys()) 'AP' !== e && g.set(e, f.getRaw(e));
              const m = { path: this.data.fieldName, value: c },
                encoder = (e) => ((0, n.isAscii)(e) ? e : (0, n.stringToUTF16String)(e, !0));
              g.set('V', Array.isArray(c) ? c.map(encoder) : encoder(c));
              this.amendSavedDict(a, g);
              const b = this._getMKDict(l);
              b && g.set('MK', b);
              const y = d.encrypt,
                w = y ? y.createCipherTransform(this.ref.num, this.ref.gen) : null,
                S = [],
                x = [{ ref: this.ref, data: '', xfa: m, needAppearances: u }];
              if (null !== h) {
                const e = d.getNewTemporaryRef(),
                  t = new s.Dict(d);
                g.set('AP', t);
                t.set('N', e);
                let n = null;
                y && (n = y.createCipherTransform(e.num, e.gen));
                const i = this._getSaveFieldResources(d),
                  c = new p.StringStream(h),
                  l = (c.dict = new s.Dict(d));
                l.set('Subtype', s.Name.get('Form'));
                l.set('Resources', i);
                l.set('BBox', [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]]);
                const u = this.getRotationMatrix(a);
                u !== r.IDENTITY_MATRIX && l.set('Matrix', u);
                (0, o.writeObject)(e, c, S, n);
                x.push({ ref: e, data: S.join(''), xfa: null, needAppearances: !1 });
                S.length = 0;
              }
              g.set('M', `D:${(0, r.getModificationDate)()}`);
              (0, o.writeObject)(this.ref, g, S, w);
              x[0].data = S.join('');
              return x;
            }
            async _getAppearance(e, t, a, s) {
              if (this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD)) return null;
              const o = s ? s.get(this.data.id) : void 0;
              let c, l;
              if (o) {
                c = o.formattedValue || o.value;
                l = o.rotation;
              }
              if (void 0 === l && void 0 === c && !this._needAppearances && (!this._hasValueFromXFA || this.appearance))
                return null;
              const h = this.getBorderAndBackgroundAppearances(s);
              if (void 0 === c) {
                c = this.data.fieldValue;
                if (!c) return `/Tx BMC q ${h}Q EMC`;
              }
              Array.isArray(c) && 1 === c.length && (c = c[0]);
              (0, r.assert)('string' == typeof c, 'Expected `value` to be a string.');
              c = c.trim();
              if (this.data.combo) {
                const e = this.data.options.find(({ exportValue: e }) => c === e);
                c = (e && e.displayValue) || c;
              }
              if ('' === c) return `/Tx BMC q ${h}Q EMC`;
              void 0 === l && (l = this.rotation);
              let u,
                d = -1;
              if (this.data.multiLine) {
                u = c.split(/\r\n?|\n/).map((e) => e.normalize('NFC'));
                d = u.length;
              } else u = [c.replace(/\r\n?|\n/, '').normalize('NFC')];
              let f = this.data.rect[3] - this.data.rect[1],
                g = this.data.rect[2] - this.data.rect[0];
              (90 !== l && 270 !== l) || ([g, f] = [f, g]);
              this._defaultAppearance ||
                (this.data.defaultAppearanceData = (0, i.parseDefaultAppearance)(
                  (this._defaultAppearance = '/Helvetica 0 Tf 0 g')
                ));
              let p,
                m,
                b,
                y = await WidgetAnnotation._getFontData(
                  e,
                  t,
                  this.data.defaultAppearanceData,
                  this._fieldResources.mergedResources
                );
              const w = [];
              let S = !1;
              for (const e of u) {
                const t = y.encodeString(e);
                t.length > 1 && (S = !0);
                w.push(t.join(''));
              }
              if (S && a & r.RenderingIntentFlag.SAVE) return { needAppearances: !0 };
              if (S && this._isOffscreenCanvasSupported) {
                const a = this.data.comb ? 'monospace' : 'sans-serif',
                  r = new i.FakeUnicodeFont(e.xref, a),
                  s = r.createFontResources(u.join('')),
                  o = s.getRaw('Font');
                if (this._fieldResources.mergedResources.has('Font')) {
                  const e = this._fieldResources.mergedResources.get('Font');
                  for (const t of o.getKeys()) e.set(t, o.getRaw(t));
                } else this._fieldResources.mergedResources.set('Font', o);
                const l = r.fontName.name;
                y = await WidgetAnnotation._getFontData(e, t, { fontName: l, fontSize: 0 }, s);
                for (let e = 0, t = w.length; e < t; e++) w[e] = (0, n.stringToUTF16String)(u[e]);
                const h = Object.assign(Object.create(null), this.data.defaultAppearanceData);
                this.data.defaultAppearanceData.fontSize = 0;
                this.data.defaultAppearanceData.fontName = l;
                [p, m, b] = this._computeFontSize(f - 2, g - 4, c, y, d);
                this.data.defaultAppearanceData = h;
              } else {
                this._isOffscreenCanvasSupported ||
                  (0, r.warn)('_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly.');
                [p, m, b] = this._computeFontSize(f - 2, g - 4, c, y, d);
              }
              let x = y.descent;
              x = isNaN(x) ? r.BASELINE_FACTOR * b : Math.max(r.BASELINE_FACTOR * b, Math.abs(x) * m);
              const C = Math.min(Math.floor((f - m) / 2), 1),
                k = this.data.textAlignment;
              if (this.data.multiLine) return this._getMultilineAppearance(p, w, y, m, g, f, k, 2, C, x, b, s);
              if (this.data.comb) return this._getCombAppearance(p, y, w[0], m, g, f, 2, C, x, b, s);
              const v = C + x;
              if (0 === k || k > 2)
                return (
                  `/Tx BMC q ${h}BT ` +
                  p +
                  ` 1 0 0 1 ${(0, n.numberToString)(2)} ${(0, n.numberToString)(v)} Tm (${(0, n.escapeString)(
                    w[0]
                  )}) Tj ET Q EMC`
                );
              return (
                `/Tx BMC q ${h}BT ` +
                p +
                ` 1 0 0 1 0 0 Tm ${this._renderText(w[0], y, m, g, k, { shift: 0 }, 2, v)} ET Q EMC`
              );
            }
            static async _getFontData(e, t, a, r) {
              const n = new g.OperatorList(),
                i = {
                  font: null,
                  clone() {
                    return this;
                  },
                },
                { fontName: o, fontSize: c } = a;
              await e.handleSetFont(r, [o && s.Name.get(o), c], null, n, t, i, null);
              return i.font;
            }
            _getTextWidth(e, t) {
              return t.charsToGlyphs(e).reduce((e, t) => e + t.width, 0) / 1e3;
            }
            _computeFontSize(e, t, a, n, s) {
              let { fontSize: o } = this.data.defaultAppearanceData,
                c = (o || 12) * r.LINE_FACTOR,
                l = Math.round(e / c);
              if (!o) {
                const roundWithTwoDigits = (e) => Math.floor(100 * e) / 100;
                if (-1 === s) {
                  const i = this._getTextWidth(a, n);
                  o = roundWithTwoDigits(Math.min(e / r.LINE_FACTOR, i > t ? t / i : 1 / 0));
                  l = 1;
                } else {
                  const i = a.split(/\r\n?|\n/),
                    h = [];
                  for (const e of i) {
                    const t = n.encodeString(e).join(''),
                      a = n.charsToGlyphs(t),
                      r = n.getCharPositions(t);
                    h.push({ line: t, glyphs: a, positions: r });
                  }
                  const isTooBig = (a) => {
                    let r = 0;
                    for (const i of h) {
                      r += this._splitLine(null, n, a, t, i).length * a;
                      if (r > e) return !0;
                    }
                    return !1;
                  };
                  l = Math.max(l, s);
                  for (;;) {
                    c = e / l;
                    o = roundWithTwoDigits(c / r.LINE_FACTOR);
                    if (!isTooBig(o)) break;
                    l++;
                  }
                }
                const { fontName: h, fontColor: u } = this.data.defaultAppearanceData;
                this._defaultAppearance = (0, i.createDefaultAppearance)({ fontSize: o, fontName: h, fontColor: u });
              }
              return [this._defaultAppearance, o, e / l];
            }
            _renderText(e, t, a, r, i, s, o, c) {
              let l;
              if (1 === i) {
                l = (r - this._getTextWidth(e, t) * a) / 2;
              } else if (2 === i) {
                l = r - this._getTextWidth(e, t) * a - o;
              } else l = o;
              const h = (0, n.numberToString)(l - s.shift);
              s.shift = l;
              return `${h} ${(c = (0, n.numberToString)(c))} Td (${(0, n.escapeString)(e)}) Tj`;
            }
            _getSaveFieldResources(e) {
              const { localResources: t, appearanceResources: a, acroFormResources: r } = this._fieldResources,
                n = this.data.defaultAppearanceData && this.data.defaultAppearanceData.fontName;
              if (!n) return t || s.Dict.empty;
              for (const e of [t, a])
                if (e instanceof s.Dict) {
                  const t = e.get('Font');
                  if (t instanceof s.Dict && t.has(n)) return e;
                }
              if (r instanceof s.Dict) {
                const a = r.get('Font');
                if (a instanceof s.Dict && a.has(n)) {
                  const r = new s.Dict(e);
                  r.set(n, a.getRaw(n));
                  const i = new s.Dict(e);
                  i.set('Font', r);
                  return s.Dict.merge({ xref: e, dictArray: [i, t], mergeSubDicts: !0 });
                }
              }
              return t || s.Dict.empty;
            }
            getFieldObject() {
              return null;
            }
          }
          class TextWidgetAnnotation extends WidgetAnnotation {
            constructor(e) {
              super(e);
              this._hasText = !0;
              const t = e.dict;
              'string' != typeof this.data.fieldValue && (this.data.fieldValue = '');
              let a = (0, n.getInheritableProperty)({ dict: t, key: 'Q' });
              (!Number.isInteger(a) || a < 0 || a > 2) && (a = null);
              this.data.textAlignment = a;
              let i = (0, n.getInheritableProperty)({ dict: t, key: 'MaxLen' });
              (!Number.isInteger(i) || i < 0) && (i = 0);
              this.data.maxLen = i;
              this.data.multiLine = this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE);
              this.data.comb =
                this.hasFieldFlag(r.AnnotationFieldFlag.COMB) &&
                !this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE) &&
                !this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD) &&
                !this.hasFieldFlag(r.AnnotationFieldFlag.FILESELECT) &&
                0 !== this.data.maxLen;
              this.data.doNotScroll = this.hasFieldFlag(r.AnnotationFieldFlag.DONOTSCROLL);
            }
            _getCombAppearance(e, t, a, r, i, s, o, c, l, h, u) {
              const d = i / this.data.maxLen,
                f = this.getBorderAndBackgroundAppearances(u),
                g = [],
                p = t.getCharPositions(a);
              for (const [e, t] of p) g.push(`(${(0, n.escapeString)(a.substring(e, t))}) Tj`);
              const m = g.join(` ${(0, n.numberToString)(d)} 0 Td `);
              return (
                `/Tx BMC q ${f}BT ` +
                e +
                ` 1 0 0 1 ${(0, n.numberToString)(o)} ${(0, n.numberToString)(c + l)} Tm ${m} ET Q EMC`
              );
            }
            _getMultilineAppearance(e, t, a, r, i, s, o, c, l, h, u, d) {
              const f = [],
                g = i - 2 * c,
                p = { shift: 0 };
              for (let e = 0, n = t.length; e < n; e++) {
                const n = t[e],
                  s = this._splitLine(n, a, r, g);
                for (let t = 0, n = s.length; t < n; t++) {
                  const n = s[t],
                    d = 0 === e && 0 === t ? -l - (u - h) : -u;
                  f.push(this._renderText(n, a, r, i, o, p, c, d));
                }
              }
              const m = this.getBorderAndBackgroundAppearances(d),
                b = f.join('\n');
              return `/Tx BMC q ${m}BT ` + e + ` 1 0 0 1 0 ${(0, n.numberToString)(s)} Tm ${b} ET Q EMC`;
            }
            _splitLine(e, t, a, r, n = {}) {
              e = n.line || e;
              const i = n.glyphs || t.charsToGlyphs(e);
              if (i.length <= 1) return [e];
              const s = n.positions || t.getCharPositions(e),
                o = a / 1e3,
                c = [];
              let l = -1,
                h = -1,
                u = -1,
                d = 0,
                f = 0;
              for (let t = 0, a = i.length; t < a; t++) {
                const [a, n] = s[t],
                  g = i[t],
                  p = g.width * o;
                if (' ' === g.unicode)
                  if (f + p > r) {
                    c.push(e.substring(d, a));
                    d = a;
                    f = p;
                    l = -1;
                    u = -1;
                  } else {
                    f += p;
                    l = a;
                    h = n;
                    u = t;
                  }
                else if (f + p > r)
                  if (-1 !== l) {
                    c.push(e.substring(d, h));
                    d = h;
                    t = u + 1;
                    l = -1;
                    f = 0;
                  } else {
                    c.push(e.substring(d, a));
                    d = a;
                    f = p;
                  }
                else f += p;
              }
              d < e.length && c.push(e.substring(d, e.length));
              return c;
            }
            getFieldObject() {
              return {
                id: this.data.id,
                value: this.data.fieldValue,
                defaultValue: this.data.defaultFieldValue || '',
                multiline: this.data.multiLine,
                password: this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD),
                charLimit: this.data.maxLen,
                comb: this.data.comb,
                editable: !this.data.readOnly,
                hidden: this.data.hidden,
                name: this.data.fieldName,
                rect: this.data.rect,
                actions: this.data.actions,
                page: this.data.pageIndex,
                strokeColor: this.data.borderColor,
                fillColor: this.data.backgroundColor,
                rotation: this.rotation,
                type: 'text',
              };
            }
          }
          class ButtonWidgetAnnotation extends WidgetAnnotation {
            constructor(e) {
              super(e);
              this.checkedAppearance = null;
              this.uncheckedAppearance = null;
              this.data.checkBox =
                !this.hasFieldFlag(r.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(r.AnnotationFieldFlag.PUSHBUTTON);
              this.data.radioButton =
                this.hasFieldFlag(r.AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(r.AnnotationFieldFlag.PUSHBUTTON);
              this.data.pushButton = this.hasFieldFlag(r.AnnotationFieldFlag.PUSHBUTTON);
              this.data.isTooltipOnly = !1;
              if (this.data.checkBox) this._processCheckBox(e);
              else if (this.data.radioButton) this._processRadioButton(e);
              else if (this.data.pushButton) {
                this.data.hasOwnCanvas = !0;
                this._processPushButton(e);
              } else (0, r.warn)('Invalid field flags for button widget annotation');
            }
            async getOperatorList(e, t, a, n, i) {
              if (this.data.pushButton) return super.getOperatorList(e, t, a, !1, i);
              let s = null,
                o = null;
              if (i) {
                const e = i.get(this.data.id);
                s = e ? e.value : null;
                o = e ? e.rotation : null;
              }
              if (null === s && this.appearance) return super.getOperatorList(e, t, a, n, i);
              null == s &&
                (s = this.data.checkBox
                  ? this.data.fieldValue === this.data.exportValue
                  : this.data.fieldValue === this.data.buttonValue);
              const c = s ? this.checkedAppearance : this.uncheckedAppearance;
              if (c) {
                const s = this.appearance,
                  l = c.dict.getArray('Matrix') || r.IDENTITY_MATRIX;
                o && c.dict.set('Matrix', this.getRotationMatrix(i));
                this.appearance = c;
                const h = super.getOperatorList(e, t, a, n, i);
                this.appearance = s;
                c.dict.set('Matrix', l);
                return h;
              }
              return { opList: new g.OperatorList(), separateForm: !1, separateCanvas: !1 };
            }
            async save(e, t, a) {
              return this.data.checkBox
                ? this._saveCheckbox(e, t, a)
                : this.data.radioButton
                ? this._saveRadioButton(e, t, a)
                : null;
            }
            async _saveCheckbox(e, t, a) {
              if (!a) return null;
              const n = a.get(this.data.id);
              let i = n && n.rotation,
                c = n && n.value;
              if (void 0 === i) {
                if (void 0 === c) return null;
                if ((this.data.fieldValue === this.data.exportValue) === c) return null;
              }
              const l = e.xref.fetchIfRef(this.ref);
              if (!(l instanceof s.Dict)) return null;
              void 0 === i && (i = this.rotation);
              void 0 === c && (c = this.data.fieldValue === this.data.exportValue);
              const h = { path: this.data.fieldName, value: c ? this.data.exportValue : '' },
                u = s.Name.get(c ? this.data.exportValue : 'Off');
              l.set('V', u);
              l.set('AS', u);
              l.set('M', `D:${(0, r.getModificationDate)()}`);
              const d = this._getMKDict(i);
              d && l.set('MK', d);
              const f = e.xref.encrypt;
              let g = null;
              f && (g = f.createCipherTransform(this.ref.num, this.ref.gen));
              const p = [`${this.ref.num} ${this.ref.gen} obj\n`];
              (0, o.writeDict)(l, p, g);
              p.push('\nendobj\n');
              return [{ ref: this.ref, data: p.join(''), xfa: h }];
            }
            async _saveRadioButton(e, t, a) {
              if (!a) return null;
              const n = a.get(this.data.id);
              let i = n && n.rotation,
                c = n && n.value;
              if (void 0 === i) {
                if (void 0 === c) return null;
                if ((this.data.fieldValue === this.data.buttonValue) === c) return null;
              }
              const l = e.xref.fetchIfRef(this.ref);
              if (!(l instanceof s.Dict)) return null;
              void 0 === c && (c = this.data.fieldValue === this.data.buttonValue);
              void 0 === i && (i = this.rotation);
              const h = { path: this.data.fieldName, value: c ? this.data.buttonValue : '' },
                u = s.Name.get(c ? this.data.buttonValue : 'Off');
              let d = null;
              const f = e.xref.encrypt;
              if (c)
                if (this.parent instanceof s.Ref) {
                  const t = e.xref.fetch(this.parent);
                  let a = null;
                  f && (a = f.createCipherTransform(this.parent.num, this.parent.gen));
                  t.set('V', u);
                  d = [`${this.parent.num} ${this.parent.gen} obj\n`];
                  (0, o.writeDict)(t, d, a);
                  d.push('\nendobj\n');
                } else this.parent instanceof s.Dict && this.parent.set('V', u);
              l.set('AS', u);
              l.set('M', `D:${(0, r.getModificationDate)()}`);
              const g = this._getMKDict(i);
              g && l.set('MK', g);
              let p = null;
              f && (p = f.createCipherTransform(this.ref.num, this.ref.gen));
              const m = [`${this.ref.num} ${this.ref.gen} obj\n`];
              (0, o.writeDict)(l, m, p);
              m.push('\nendobj\n');
              const b = [{ ref: this.ref, data: m.join(''), xfa: h }];
              null !== d && b.push({ ref: this.parent, data: d.join(''), xfa: null });
              return b;
            }
            _getDefaultCheckedAppearance(e, t) {
              const a = this.data.rect[2] - this.data.rect[0],
                i = this.data.rect[3] - this.data.rect[1],
                o = [0, 0, a, i],
                c = 0.8 * Math.min(a, i);
              let l, h;
              if ('check' === t) {
                l = { width: 0.755 * c, height: 0.705 * c };
                h = '3';
              } else if ('disc' === t) {
                l = { width: 0.791 * c, height: 0.705 * c };
                h = 'l';
              } else (0, r.unreachable)(`_getDefaultCheckedAppearance - unsupported type: ${t}`);
              const u = `q BT /PdfJsZaDb ${c} Tf 0 g ${(0, n.numberToString)((a - l.width) / 2)} ${(0,
                n.numberToString)((i - l.height) / 2)} Td (${h}) Tj ET Q`,
                d = new s.Dict(e.xref);
              d.set('FormType', 1);
              d.set('Subtype', s.Name.get('Form'));
              d.set('Type', s.Name.get('XObject'));
              d.set('BBox', o);
              d.set('Matrix', [1, 0, 0, 1, 0, 0]);
              d.set('Length', u.length);
              const f = new s.Dict(e.xref),
                g = new s.Dict(e.xref);
              g.set('PdfJsZaDb', this.fallbackFontDict);
              f.set('Font', g);
              d.set('Resources', f);
              this.checkedAppearance = new p.StringStream(u);
              this.checkedAppearance.dict = d;
              this._streams.push(this.checkedAppearance);
            }
            _processCheckBox(e) {
              const t = e.dict.get('AP');
              if (!(t instanceof s.Dict)) return;
              const a = t.get('N');
              if (!(a instanceof s.Dict)) return;
              const r = this._decodeFormValue(e.dict.get('AS'));
              'string' == typeof r && (this.data.fieldValue = r);
              const n = null !== this.data.fieldValue && 'Off' !== this.data.fieldValue ? this.data.fieldValue : 'Yes',
                i = a.getKeys();
              if (0 === i.length) i.push('Off', n);
              else if (1 === i.length) 'Off' === i[0] ? i.push(n) : i.unshift('Off');
              else if (i.includes(n)) {
                i.length = 0;
                i.push('Off', n);
              } else {
                const e = i.find((e) => 'Off' !== e);
                i.length = 0;
                i.push('Off', e);
              }
              i.includes(this.data.fieldValue) || (this.data.fieldValue = 'Off');
              this.data.exportValue = i[1];
              const o = a.get(this.data.exportValue);
              this.checkedAppearance = o instanceof c.BaseStream ? o : null;
              const l = a.get('Off');
              this.uncheckedAppearance = l instanceof c.BaseStream ? l : null;
              this.checkedAppearance
                ? this._streams.push(this.checkedAppearance)
                : this._getDefaultCheckedAppearance(e, 'check');
              this.uncheckedAppearance && this._streams.push(this.uncheckedAppearance);
              this._fallbackFontDict = this.fallbackFontDict;
            }
            _processRadioButton(e) {
              this.data.fieldValue = this.data.buttonValue = null;
              const t = e.dict.get('Parent');
              if (t instanceof s.Dict) {
                this.parent = e.dict.getRaw('Parent');
                const a = t.get('V');
                a instanceof s.Name && (this.data.fieldValue = this._decodeFormValue(a));
              }
              const a = e.dict.get('AP');
              if (!(a instanceof s.Dict)) return;
              const r = a.get('N');
              if (!(r instanceof s.Dict)) return;
              for (const e of r.getKeys())
                if ('Off' !== e) {
                  this.data.buttonValue = this._decodeFormValue(e);
                  break;
                }
              const n = r.get(this.data.buttonValue);
              this.checkedAppearance = n instanceof c.BaseStream ? n : null;
              const i = r.get('Off');
              this.uncheckedAppearance = i instanceof c.BaseStream ? i : null;
              this.checkedAppearance
                ? this._streams.push(this.checkedAppearance)
                : this._getDefaultCheckedAppearance(e, 'disc');
              this.uncheckedAppearance && this._streams.push(this.uncheckedAppearance);
              this._fallbackFontDict = this.fallbackFontDict;
            }
            _processPushButton(e) {
              if (e.dict.has('A') || e.dict.has('AA') || this.data.alternativeText) {
                this.data.isTooltipOnly = !e.dict.has('A') && !e.dict.has('AA');
                h.Catalog.parseDestDictionary({
                  destDict: e.dict,
                  resultObj: this.data,
                  docBaseUrl: e.pdfManager.docBaseUrl,
                  docAttachments: e.attachments,
                });
              } else (0, r.warn)('Push buttons without action dictionaries are not supported');
            }
            getFieldObject() {
              let e,
                t = 'button';
              if (this.data.checkBox) {
                t = 'checkbox';
                e = this.data.exportValue;
              } else if (this.data.radioButton) {
                t = 'radiobutton';
                e = this.data.buttonValue;
              }
              return {
                id: this.data.id,
                value: this.data.fieldValue || 'Off',
                defaultValue: this.data.defaultFieldValue,
                exportValues: e,
                editable: !this.data.readOnly,
                name: this.data.fieldName,
                rect: this.data.rect,
                hidden: this.data.hidden,
                actions: this.data.actions,
                page: this.data.pageIndex,
                strokeColor: this.data.borderColor,
                fillColor: this.data.backgroundColor,
                rotation: this.rotation,
                type: t,
              };
            }
            get fallbackFontDict() {
              const e = new s.Dict();
              e.set('BaseFont', s.Name.get('ZapfDingbats'));
              e.set('Type', s.Name.get('FallbackType'));
              e.set('Subtype', s.Name.get('FallbackType'));
              e.set('Encoding', s.Name.get('ZapfDingbatsEncoding'));
              return (0, r.shadow)(this, 'fallbackFontDict', e);
            }
          }
          class ChoiceWidgetAnnotation extends WidgetAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.indices = t.getArray('I');
              this.hasIndices = Array.isArray(this.indices) && this.indices.length > 0;
              this.data.options = [];
              const i = (0, n.getInheritableProperty)({ dict: t, key: 'Opt' });
              if (Array.isArray(i))
                for (let e = 0, t = i.length; e < t; e++) {
                  const t = a.fetchIfRef(i[e]),
                    r = Array.isArray(t);
                  this.data.options[e] = {
                    exportValue: this._decodeFormValue(r ? a.fetchIfRef(t[0]) : t),
                    displayValue: this._decodeFormValue(r ? a.fetchIfRef(t[1]) : t),
                  };
                }
              if (this.hasIndices) {
                this.data.fieldValue = [];
                const e = this.data.options.length;
                for (const t of this.indices)
                  Number.isInteger(t) && t >= 0 && t < e && this.data.fieldValue.push(this.data.options[t].exportValue);
              } else
                'string' == typeof this.data.fieldValue
                  ? (this.data.fieldValue = [this.data.fieldValue])
                  : this.data.fieldValue || (this.data.fieldValue = []);
              this.data.combo = this.hasFieldFlag(r.AnnotationFieldFlag.COMBO);
              this.data.multiSelect = this.hasFieldFlag(r.AnnotationFieldFlag.MULTISELECT);
              this._hasText = !0;
            }
            getFieldObject() {
              const e = this.data.combo ? 'combobox' : 'listbox',
                t = this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null;
              return {
                id: this.data.id,
                value: t,
                defaultValue: this.data.defaultFieldValue,
                editable: !this.data.readOnly,
                name: this.data.fieldName,
                rect: this.data.rect,
                numItems: this.data.fieldValue.length,
                multipleSelection: this.data.multiSelect,
                hidden: this.data.hidden,
                actions: this.data.actions,
                items: this.data.options,
                page: this.data.pageIndex,
                strokeColor: this.data.borderColor,
                fillColor: this.data.backgroundColor,
                rotation: this.rotation,
                type: e,
              };
            }
            amendSavedDict(e, t) {
              if (!this.hasIndices) return;
              const a = e ? e.get(this.data.id) : void 0;
              let r = a && a.value;
              Array.isArray(r) || (r = [r]);
              const n = [],
                { options: i } = this.data;
              for (let e = 0, t = 0, a = i.length; e < a; e++)
                if (i[e].exportValue === r[t]) {
                  n.push(e);
                  t += 1;
                }
              t.set('I', n);
            }
            async _getAppearance(e, t, a, n) {
              if (this.data.combo) return super._getAppearance(e, t, a, n);
              let s, o;
              const c = n ? n.get(this.data.id) : void 0;
              if (c) {
                o = c.rotation;
                s = c.value;
              }
              if (void 0 === o && void 0 === s && !this._needAppearances) return null;
              void 0 === s ? (s = this.data.fieldValue) : Array.isArray(s) || (s = [s]);
              let l = this.data.rect[3] - this.data.rect[1],
                h = this.data.rect[2] - this.data.rect[0];
              (90 !== o && 270 !== o) || ([h, l] = [l, h]);
              const u = this.data.options.length,
                d = [];
              for (let e = 0; e < u; e++) {
                const { exportValue: t } = this.data.options[e];
                s.includes(t) && d.push(e);
              }
              this._defaultAppearance ||
                (this.data.defaultAppearanceData = (0, i.parseDefaultAppearance)(
                  (this._defaultAppearance = '/Helvetica 0 Tf 0 g')
                ));
              const f = await WidgetAnnotation._getFontData(
                e,
                t,
                this.data.defaultAppearanceData,
                this._fieldResources.mergedResources
              );
              let g,
                { fontSize: p } = this.data.defaultAppearanceData;
              if (p) g = this._defaultAppearance;
              else {
                const e = (l - 1) / u;
                let t,
                  a = -1;
                for (const { displayValue: e } of this.data.options) {
                  const r = this._getTextWidth(e, f);
                  if (r > a) {
                    a = r;
                    t = e;
                  }
                }
                [g, p] = this._computeFontSize(e, h - 4, t, f, -1);
              }
              const m = p * r.LINE_FACTOR,
                b = (m - p) / 2,
                y = Math.floor(l / m);
              let w;
              if (1 === d.length) {
                const e = d[0];
                w = e - (e % y);
              } else w = d.length ? d[0] : 0;
              const S = Math.min(w + y + 1, u),
                x = ['/Tx BMC q', `1 1 ${h} ${l} re W n`];
              if (d.length) {
                x.push('0.600006 0.756866 0.854904 rg');
                for (const e of d) w <= e && e < S && x.push(`1 ${l - (e - w + 1) * m} ${h} ${m} re f`);
              }
              x.push('BT', g, `1 0 0 1 0 ${l} Tm`);
              const C = { shift: 0 };
              for (let e = w; e < S; e++) {
                const { displayValue: t } = this.data.options[e],
                  a = e === w ? b : 0;
                x.push(this._renderText(t, f, p, h, 0, C, 2, -m + a));
              }
              x.push('ET Q EMC');
              return x.join('\n');
            }
          }
          class SignatureWidgetAnnotation extends WidgetAnnotation {
            constructor(e) {
              super(e);
              this.data.fieldValue = null;
            }
            getFieldObject() {
              return { id: this.data.id, value: null, page: this.data.pageIndex, type: 'signature' };
            }
          }
          class TextAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t } = e;
              this.data.annotationType = r.AnnotationType.TEXT;
              if (this.data.hasAppearance) this.data.name = 'NoIcon';
              else {
                this.data.rect[1] = this.data.rect[3] - 22;
                this.data.rect[2] = this.data.rect[0] + 22;
                this.data.name = t.has('Name') ? t.get('Name').name : 'Note';
              }
              if (t.has('State')) {
                this.data.state = t.get('State') || null;
                this.data.stateModel = t.get('StateModel') || null;
              } else {
                this.data.state = null;
                this.data.stateModel = null;
              }
            }
          }
          class LinkAnnotation extends Annotation {
            constructor(e) {
              super(e);
              this.data.annotationType = r.AnnotationType.LINK;
              const t = getQuadPoints(e.dict, this.rectangle);
              t && (this.data.quadPoints = t);
              this.data.borderColor = this.data.borderColor || this.data.color;
              h.Catalog.parseDestDictionary({
                destDict: e.dict,
                resultObj: this.data,
                docBaseUrl: e.pdfManager.docBaseUrl,
                docAttachments: e.attachments,
              });
            }
          }
          class PopupAnnotation extends Annotation {
            constructor(e) {
              super(e);
              const { dict: t } = e;
              this.data.annotationType = r.AnnotationType.POPUP;
              let a = t.get('Parent');
              if (!a) {
                (0, r.warn)('Popup annotation has a missing or invalid parent annotation.');
                return;
              }
              const n = a.get('Subtype');
              this.data.parentType = n instanceof s.Name ? n.name : null;
              const i = t.getRaw('Parent');
              this.data.parentId = i instanceof s.Ref ? i.toString() : null;
              const o = a.getArray('Rect');
              Array.isArray(o) && 4 === o.length
                ? (this.data.parentRect = r.Util.normalizeRect(o))
                : (this.data.parentRect = [0, 0, 0, 0]);
              const c = a.get('RT');
              (0, s.isName)(c, r.AnnotationReplyType.GROUP) && (a = a.get('IRT'));
              if (a.has('M')) {
                this.setModificationDate(a.get('M'));
                this.data.modificationDate = this.modificationDate;
              } else this.data.modificationDate = null;
              if (a.has('C')) {
                this.setColor(a.getArray('C'));
                this.data.color = this.color;
              } else this.data.color = null;
              if (!this.viewable) {
                const e = a.get('F');
                this._isViewable(e) && this.setFlags(e);
              }
              this.setTitle(a.get('T'));
              this.data.titleObj = this._title;
              this.setContents(a.get('Contents'));
              this.data.contentsObj = this._contents;
              a.has('RC') && (this.data.richText = m.XFAFactory.getRichTextAsHtml(a.get('RC')));
            }
          }
          t.PopupAnnotation = PopupAnnotation;
          class FreeTextAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { xref: t } = e;
              this.data.annotationType = r.AnnotationType.FREETEXT;
              this.setDefaultAppearance(e);
              if (!this.appearance && this._isOffscreenCanvasSupported) {
                const a = e.dict.get('CA'),
                  r = new i.FakeUnicodeFont(t, 'sans-serif'),
                  n = this.data.defaultAppearanceData;
                this.appearance = r.createAppearance(
                  this._contents.str,
                  this.rectangle,
                  this.rotation,
                  n.fontSize || 10,
                  n.fontColor,
                  a
                );
                this._streams.push(this.appearance, i.FakeUnicodeFont.toUnicodeStream);
              } else
                this._isOffscreenCanvasSupported ||
                  (0, r.warn)(
                    'FreeTextAnnotation: OffscreenCanvas is not supported, annotation may not render correctly.'
                  );
            }
            get hasTextContent() {
              return !!this.appearance;
            }
            static createNewDict(e, t, { apRef: a, ap: o }) {
              const { color: c, fontSize: l, rect: h, rotation: u, user: d, value: f } = e,
                g = new s.Dict(t);
              g.set('Type', s.Name.get('Annot'));
              g.set('Subtype', s.Name.get('FreeText'));
              g.set('CreationDate', `D:${(0, r.getModificationDate)()}`);
              g.set('Rect', h);
              const p = `/Helv ${l} Tf ${(0, i.getPdfColor)(c, !0)}`;
              g.set('DA', p);
              g.set('Contents', (0, n.isAscii)(f) ? f : (0, n.stringToUTF16String)(f, !0));
              g.set('F', 4);
              g.set('Border', [0, 0, 0]);
              g.set('Rotate', u);
              d && g.set('T', (0, n.isAscii)(d) ? d : (0, n.stringToUTF16String)(d, !0));
              if (a || o) {
                const e = new s.Dict(t);
                g.set('AP', e);
                a ? e.set('N', a) : e.set('N', o);
              }
              return g;
            }
            static async createNewAppearanceStream(e, t, a) {
              const { baseFontRef: o, evaluator: c, task: l } = a,
                { color: h, fontSize: u, rect: d, rotation: f, value: g } = e,
                m = new s.Dict(t),
                b = new s.Dict(t);
              if (o) b.set('Helv', o);
              else {
                const e = new s.Dict(t);
                e.set('BaseFont', s.Name.get('Helvetica'));
                e.set('Type', s.Name.get('Font'));
                e.set('Subtype', s.Name.get('Type1'));
                e.set('Encoding', s.Name.get('WinAnsiEncoding'));
                b.set('Helv', e);
              }
              m.set('Font', b);
              const y = await WidgetAnnotation._getFontData(c, l, { fontName: 'Helvetica', fontSize: u }, m),
                [w, S, x, C] = d;
              let k = x - w,
                v = C - S;
              f % 180 != 0 && ([k, v] = [v, k]);
              const F = g.split('\n'),
                O = u / 1e3;
              let T = -1 / 0;
              const M = [];
              for (let e of F) {
                const t = y.encodeString(e);
                if (t.length > 1) return null;
                e = t.join('');
                M.push(e);
                let a = 0;
                const r = y.charsToGlyphs(e);
                for (const e of r) a += e.width * O;
                T = Math.max(T, a);
              }
              let E = 1;
              T > k && (E = k / T);
              let D = 1;
              const N = r.LINE_FACTOR * u,
                R = r.LINE_DESCENT_FACTOR * u,
                L = N * F.length;
              L > v && (D = v / L);
              const j = u * Math.min(E, D),
                $ = [
                  'q',
                  `0 0 ${(0, n.numberToString)(k)} ${(0, n.numberToString)(v)} re W n`,
                  'BT',
                  `1 0 0 1 0 ${(0, n.numberToString)(v + R)} Tm 0 Tc ${(0, i.getPdfColor)(h, !0)}`,
                  `/Helv ${(0, n.numberToString)(j)} Tf`,
                ],
                _ = (0, n.numberToString)(N);
              for (const e of M) $.push(`0 -${_} Td (${(0, n.escapeString)(e)}) Tj`);
              $.push('ET', 'Q');
              const U = $.join('\n'),
                X = new s.Dict(t);
              X.set('FormType', 1);
              X.set('Subtype', s.Name.get('Form'));
              X.set('Type', s.Name.get('XObject'));
              X.set('BBox', [0, 0, k, v]);
              X.set('Resources', m);
              if (f) {
                const e = (0, n.getRotationMatrix)(f, k, v);
                X.set('Matrix', e);
              }
              const H = new p.StringStream(U);
              H.dict = X;
              return H;
            }
          }
          class LineAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.LINE;
              const n = t.getArray('L');
              this.data.lineCoordinates = r.Util.normalizeRect(n);
              this.setLineEndings(t.getArray('LE'));
              this.data.lineEndings = this.lineEndings;
              if (!this.appearance) {
                const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                  i = t.get('CA'),
                  s = getRgbColor(t.getArray('IC'), null),
                  o = s ? getPdfColorArray(s) : null,
                  c = o ? i : null,
                  l = this.borderStyle.width || 1,
                  h = 2 * l,
                  u = [
                    this.data.lineCoordinates[0] - h,
                    this.data.lineCoordinates[1] - h,
                    this.data.lineCoordinates[2] + h,
                    this.data.lineCoordinates[3] + h,
                  ];
                r.Util.intersect(this.rectangle, u) || (this.rectangle = u);
                this._setDefaultAppearance({
                  xref: a,
                  extra: `${l} w`,
                  strokeColor: e,
                  fillColor: o,
                  strokeAlpha: i,
                  fillAlpha: c,
                  pointsCallback: (e, t) => {
                    e.push(`${n[0]} ${n[1]} m`, `${n[2]} ${n[3]} l`, 'S');
                    return [t[0].x - l, t[1].x + l, t[3].y - l, t[1].y + l];
                  },
                });
              }
            }
          }
          class SquareAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.SQUARE;
              if (!this.appearance) {
                const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                  r = t.get('CA'),
                  n = getRgbColor(t.getArray('IC'), null),
                  i = n ? getPdfColorArray(n) : null,
                  s = i ? r : null;
                if (0 === this.borderStyle.width && !i) return;
                this._setDefaultAppearance({
                  xref: a,
                  extra: `${this.borderStyle.width} w`,
                  strokeColor: e,
                  fillColor: i,
                  strokeAlpha: r,
                  fillAlpha: s,
                  pointsCallback: (e, t) => {
                    const a = t[2].x + this.borderStyle.width / 2,
                      r = t[2].y + this.borderStyle.width / 2,
                      n = t[3].x - t[2].x - this.borderStyle.width,
                      s = t[1].y - t[3].y - this.borderStyle.width;
                    e.push(`${a} ${r} ${n} ${s} re`);
                    i ? e.push('B') : e.push('S');
                    return [t[0].x, t[1].x, t[3].y, t[1].y];
                  },
                });
              }
            }
          }
          class CircleAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.CIRCLE;
              if (!this.appearance) {
                const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                  r = t.get('CA'),
                  n = getRgbColor(t.getArray('IC'), null),
                  i = n ? getPdfColorArray(n) : null,
                  s = i ? r : null;
                if (0 === this.borderStyle.width && !i) return;
                const o = (4 / 3) * Math.tan(Math.PI / 8);
                this._setDefaultAppearance({
                  xref: a,
                  extra: `${this.borderStyle.width} w`,
                  strokeColor: e,
                  fillColor: i,
                  strokeAlpha: r,
                  fillAlpha: s,
                  pointsCallback: (e, t) => {
                    const a = t[0].x + this.borderStyle.width / 2,
                      r = t[0].y - this.borderStyle.width / 2,
                      n = t[3].x - this.borderStyle.width / 2,
                      s = t[3].y + this.borderStyle.width / 2,
                      c = a + (n - a) / 2,
                      l = r + (s - r) / 2,
                      h = ((n - a) / 2) * o,
                      u = ((s - r) / 2) * o;
                    e.push(
                      `${c} ${s} m`,
                      `${c + h} ${s} ${n} ${l + u} ${n} ${l} c`,
                      `${n} ${l - u} ${c + h} ${r} ${c} ${r} c`,
                      `${c - h} ${r} ${a} ${l - u} ${a} ${l} c`,
                      `${a} ${l + u} ${c - h} ${s} ${c} ${s} c`,
                      'h'
                    );
                    i ? e.push('B') : e.push('S');
                    return [t[0].x, t[1].x, t[3].y, t[1].y];
                  },
                });
              }
            }
          }
          class PolylineAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.POLYLINE;
              this.data.vertices = [];
              if (!(this instanceof PolygonAnnotation)) {
                this.setLineEndings(t.getArray('LE'));
                this.data.lineEndings = this.lineEndings;
              }
              const n = t.getArray('Vertices');
              if (Array.isArray(n)) {
                for (let e = 0, t = n.length; e < t; e += 2) this.data.vertices.push({ x: n[e], y: n[e + 1] });
                if (!this.appearance) {
                  const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                    n = t.get('CA'),
                    i = this.borderStyle.width || 1,
                    s = 2 * i,
                    o = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
                  for (const e of this.data.vertices) {
                    o[0] = Math.min(o[0], e.x - s);
                    o[1] = Math.min(o[1], e.y - s);
                    o[2] = Math.max(o[2], e.x + s);
                    o[3] = Math.max(o[3], e.y + s);
                  }
                  r.Util.intersect(this.rectangle, o) || (this.rectangle = o);
                  this._setDefaultAppearance({
                    xref: a,
                    extra: `${i} w`,
                    strokeColor: e,
                    strokeAlpha: n,
                    pointsCallback: (e, t) => {
                      const a = this.data.vertices;
                      for (let t = 0, r = a.length; t < r; t++) e.push(`${a[t].x} ${a[t].y} ${0 === t ? 'm' : 'l'}`);
                      e.push('S');
                      return [t[0].x, t[1].x, t[3].y, t[1].y];
                    },
                  });
                }
              }
            }
          }
          class PolygonAnnotation extends PolylineAnnotation {
            constructor(e) {
              super(e);
              this.data.annotationType = r.AnnotationType.POLYGON;
            }
          }
          class CaretAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              this.data.annotationType = r.AnnotationType.CARET;
            }
          }
          class InkAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.INK;
              this.data.inkLists = [];
              const n = t.getArray('InkList');
              if (Array.isArray(n)) {
                for (let e = 0, t = n.length; e < t; ++e) {
                  this.data.inkLists.push([]);
                  for (let t = 0, r = n[e].length; t < r; t += 2)
                    this.data.inkLists[e].push({ x: a.fetchIfRef(n[e][t]), y: a.fetchIfRef(n[e][t + 1]) });
                }
                if (!this.appearance) {
                  const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                    n = t.get('CA'),
                    i = this.borderStyle.width || 1,
                    s = 2 * i,
                    o = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
                  for (const e of this.data.inkLists)
                    for (const t of e) {
                      o[0] = Math.min(o[0], t.x - s);
                      o[1] = Math.min(o[1], t.y - s);
                      o[2] = Math.max(o[2], t.x + s);
                      o[3] = Math.max(o[3], t.y + s);
                    }
                  r.Util.intersect(this.rectangle, o) || (this.rectangle = o);
                  this._setDefaultAppearance({
                    xref: a,
                    extra: `${i} w`,
                    strokeColor: e,
                    strokeAlpha: n,
                    pointsCallback: (e, t) => {
                      for (const t of this.data.inkLists) {
                        for (let a = 0, r = t.length; a < r; a++) e.push(`${t[a].x} ${t[a].y} ${0 === a ? 'm' : 'l'}`);
                        e.push('S');
                      }
                      return [t[0].x, t[1].x, t[3].y, t[1].y];
                    },
                  });
                }
              }
            }
            static createNewDict(e, t, { apRef: a, ap: n }) {
              const { paths: i, rect: o, rotation: c } = e,
                l = new s.Dict(t);
              l.set('Type', s.Name.get('Annot'));
              l.set('Subtype', s.Name.get('Ink'));
              l.set('CreationDate', `D:${(0, r.getModificationDate)()}`);
              l.set('Rect', o);
              l.set(
                'InkList',
                i.map((e) => e.points)
              );
              l.set('F', 4);
              l.set('Border', [0, 0, 0]);
              l.set('Rotate', c);
              const h = new s.Dict(t);
              l.set('AP', h);
              a ? h.set('N', a) : h.set('N', n);
              return l;
            }
            static async createNewAppearanceStream(e, t, a) {
              const { color: r, rect: o, rotation: c, paths: l, thickness: h, opacity: u } = e,
                [d, f, g, m] = o;
              let b = g - d,
                y = m - f;
              c % 180 != 0 && ([b, y] = [y, b]);
              const w = [`${h} w 1 J 1 j`, `${(0, i.getPdfColor)(r, !1)}`];
              1 !== u && w.push('/R0 gs');
              const S = [];
              for (const { bezier: e } of l) {
                S.length = 0;
                S.push(`${(0, n.numberToString)(e[0])} ${(0, n.numberToString)(e[1])} m`);
                for (let t = 2, a = e.length; t < a; t += 6) {
                  const a = e
                    .slice(t, t + 6)
                    .map(n.numberToString)
                    .join(' ');
                  S.push(`${a} c`);
                }
                S.push('S');
                w.push(S.join('\n'));
              }
              const x = w.join('\n'),
                C = new s.Dict(t);
              C.set('FormType', 1);
              C.set('Subtype', s.Name.get('Form'));
              C.set('Type', s.Name.get('XObject'));
              C.set('BBox', [0, 0, b, y]);
              C.set('Length', x.length);
              if (c) {
                const e = (0, n.getRotationMatrix)(c, b, y);
                C.set('Matrix', e);
              }
              if (1 !== u) {
                const e = new s.Dict(t),
                  a = new s.Dict(t),
                  r = new s.Dict(t);
                r.set('CA', u);
                r.set('Type', s.Name.get('ExtGState'));
                a.set('R0', r);
                e.set('ExtGState', a);
                C.set('Resources', e);
              }
              const k = new p.StringStream(x);
              k.dict = C;
              return k;
            }
          }
          class HighlightAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.HIGHLIGHT;
              if ((this.data.quadPoints = getQuadPoints(t, null))) {
                const e = this.appearance && this.appearance.dict.get('Resources');
                if (!this.appearance || !e || !e.has('ExtGState')) {
                  this.appearance && (0, r.warn)('HighlightAnnotation - ignoring built-in appearance stream.');
                  const e = this.color ? getPdfColorArray(this.color) : [1, 1, 0],
                    n = t.get('CA');
                  this._setDefaultAppearance({
                    xref: a,
                    fillColor: e,
                    blendMode: 'Multiply',
                    fillAlpha: n,
                    pointsCallback: (e, t) => {
                      e.push(
                        `${t[0].x} ${t[0].y} m`,
                        `${t[1].x} ${t[1].y} l`,
                        `${t[3].x} ${t[3].y} l`,
                        `${t[2].x} ${t[2].y} l`,
                        'f'
                      );
                      return [t[0].x, t[1].x, t[3].y, t[1].y];
                    },
                  });
                }
              } else this.data.hasPopup = !1;
            }
          }
          class UnderlineAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.UNDERLINE;
              if ((this.data.quadPoints = getQuadPoints(t, null))) {
                if (!this.appearance) {
                  const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                    r = t.get('CA');
                  this._setDefaultAppearance({
                    xref: a,
                    extra: '[] 0 d 1 w',
                    strokeColor: e,
                    strokeAlpha: r,
                    pointsCallback: (e, t) => {
                      e.push(`${t[2].x} ${t[2].y} m`, `${t[3].x} ${t[3].y} l`, 'S');
                      return [t[0].x, t[1].x, t[3].y, t[1].y];
                    },
                  });
                }
              } else this.data.hasPopup = !1;
            }
          }
          class SquigglyAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.SQUIGGLY;
              if ((this.data.quadPoints = getQuadPoints(t, null))) {
                if (!this.appearance) {
                  const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                    r = t.get('CA');
                  this._setDefaultAppearance({
                    xref: a,
                    extra: '[] 0 d 1 w',
                    strokeColor: e,
                    strokeAlpha: r,
                    pointsCallback: (e, t) => {
                      const a = (t[0].y - t[2].y) / 6;
                      let r = a,
                        n = t[2].x;
                      const i = t[2].y,
                        s = t[3].x;
                      e.push(`${n} ${i + r} m`);
                      do {
                        n += 2;
                        r = 0 === r ? a : 0;
                        e.push(`${n} ${i + r} l`);
                      } while (n < s);
                      e.push('S');
                      return [t[2].x, s, i - 2 * a, i + 2 * a];
                    },
                  });
                }
              } else this.data.hasPopup = !1;
            }
          }
          class StrikeOutAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e;
              this.data.annotationType = r.AnnotationType.STRIKEOUT;
              if ((this.data.quadPoints = getQuadPoints(t, null))) {
                if (!this.appearance) {
                  const e = this.color ? getPdfColorArray(this.color) : [0, 0, 0],
                    r = t.get('CA');
                  this._setDefaultAppearance({
                    xref: a,
                    extra: '[] 0 d 1 w',
                    strokeColor: e,
                    strokeAlpha: r,
                    pointsCallback: (e, t) => {
                      e.push(
                        (t[0].x + t[2].x) / 2 + ' ' + (t[0].y + t[2].y) / 2 + ' m',
                        (t[1].x + t[3].x) / 2 + ' ' + (t[1].y + t[3].y) / 2 + ' l',
                        'S'
                      );
                      return [t[0].x, t[1].x, t[3].y, t[1].y];
                    },
                  });
                }
              } else this.data.hasPopup = !1;
            }
          }
          class StampAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              this.data.annotationType = r.AnnotationType.STAMP;
            }
          }
          class FileAttachmentAnnotation extends MarkupAnnotation {
            constructor(e) {
              super(e);
              const { dict: t, xref: a } = e,
                n = new d.FileSpec(t.get('FS'), a);
              this.data.annotationType = r.AnnotationType.FILEATTACHMENT;
              this.data.file = n.serializable;
              const i = t.get('Name');
              this.data.name = i instanceof s.Name ? (0, r.stringToPDFString)(i.name) : 'PushPin';
            }
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.FakeUnicodeFont = void 0;
          t.createDefaultAppearance = function createDefaultAppearance({ fontSize: e, fontName: t, fontColor: a }) {
            return `/${(0, n.escapePDFName)(t)} ${e} Tf ${getPdfColor(a, !0)}`;
          };
          t.getPdfColor = getPdfColor;
          t.parseDefaultAppearance = function parseDefaultAppearance(e) {
            return new DefaultAppearanceEvaluator(e).parse();
          };
          var r = a(4),
            n = a(3),
            i = a(2),
            s = a(12),
            o = a(13),
            c = a(8);
          class DefaultAppearanceEvaluator extends o.EvaluatorPreprocessor {
            constructor(e) {
              super(new c.StringStream(e));
            }
            parse() {
              const e = { fn: 0, args: [] },
                t = { fontSize: 0, fontName: '', fontColor: new Uint8ClampedArray(3) };
              try {
                for (;;) {
                  e.args.length = 0;
                  if (!this.read(e)) break;
                  if (0 !== this.savedStatesDepth) continue;
                  const { fn: a, args: n } = e;
                  switch (0 | a) {
                    case i.OPS.setFont:
                      const [e, a] = n;
                      e instanceof r.Name && (t.fontName = e.name);
                      'number' == typeof a && a > 0 && (t.fontSize = a);
                      break;
                    case i.OPS.setFillRGBColor:
                      s.ColorSpace.singletons.rgb.getRgbItem(n, 0, t.fontColor, 0);
                      break;
                    case i.OPS.setFillGray:
                      s.ColorSpace.singletons.gray.getRgbItem(n, 0, t.fontColor, 0);
                      break;
                    case i.OPS.setFillColorSpace:
                      s.ColorSpace.singletons.cmyk.getRgbItem(n, 0, t.fontColor, 0);
                  }
                }
              } catch (e) {
                (0, i.warn)(`parseDefaultAppearance - ignoring errors: "${e}".`);
              }
              return t;
            }
          }
          function getPdfColor(e, t) {
            if (e[0] === e[1] && e[1] === e[2]) {
              const a = e[0] / 255;
              return `${(0, n.numberToString)(a)} ${t ? 'g' : 'G'}`;
            }
            return Array.from(e, (e) => (0, n.numberToString)(e / 255)).join(' ') + ' ' + (t ? 'rg' : 'RG');
          }
          class FakeUnicodeFont {
            constructor(e, t) {
              this.xref = e;
              this.widths = null;
              this.firstChar = 1 / 0;
              this.lastChar = -1 / 0;
              this.fontFamily = t;
              const a = new OffscreenCanvas(1, 1);
              this.ctxMeasure = a.getContext('2d');
              FakeUnicodeFont._fontNameId || (FakeUnicodeFont._fontNameId = 1);
              this.fontName = r.Name.get(`InvalidPDFjsFont_${t}_${FakeUnicodeFont._fontNameId++}`);
            }
            get toUnicodeRef() {
              if (!FakeUnicodeFont._toUnicodeRef) {
                const e =
                    '/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo\n<< /Registry (Adobe)\n/Ordering (UCS) /Supplement 0 >> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000> <FFFF>\nendcodespacerange\n1 beginbfrange\n<0000> <FFFF> <0000>\nendbfrange\nendcmap CMapName currentdict /CMap defineresource pop end end',
                  t = (FakeUnicodeFont.toUnicodeStream = new c.StringStream(e)),
                  a = new r.Dict(this.xref);
                t.dict = a;
                a.set('Length', e.length);
                FakeUnicodeFont._toUnicodeRef = this.xref.getNewPersistentRef(t);
              }
              return FakeUnicodeFont._toUnicodeRef;
            }
            get fontDescriptorRef() {
              if (!FakeUnicodeFont._fontDescriptorRef) {
                const e = new r.Dict(this.xref);
                e.set('Type', r.Name.get('FontDescriptor'));
                e.set('FontName', this.fontName);
                e.set('FontFamily', 'MyriadPro Regular');
                e.set('FontBBox', [0, 0, 0, 0]);
                e.set('FontStretch', r.Name.get('Normal'));
                e.set('FontWeight', 400);
                e.set('ItalicAngle', 0);
                FakeUnicodeFont._fontDescriptorRef = this.xref.getNewPersistentRef(e);
              }
              return FakeUnicodeFont._fontDescriptorRef;
            }
            get descendantFontRef() {
              const e = new r.Dict(this.xref);
              e.set('BaseFont', this.fontName);
              e.set('Type', r.Name.get('Font'));
              e.set('Subtype', r.Name.get('CIDFontType0'));
              e.set('CIDToGIDMap', r.Name.get('Identity'));
              e.set('FirstChar', this.firstChar);
              e.set('LastChar', this.lastChar);
              e.set('FontDescriptor', this.fontDescriptorRef);
              e.set('DW', 1e3);
              const t = [],
                a = [...this.widths.entries()].sort();
              let n = null,
                i = null;
              for (const [e, r] of a)
                if (n)
                  if (e === n + i.length) i.push(r);
                  else {
                    t.push(n, i);
                    n = e;
                    i = [r];
                  }
                else {
                  n = e;
                  i = [r];
                }
              n && t.push(n, i);
              e.set('W', t);
              const s = new r.Dict(this.xref);
              s.set('Ordering', 'Identity');
              s.set('Registry', 'Adobe');
              s.set('Supplement', 0);
              e.set('CIDSystemInfo', s);
              return this.xref.getNewPersistentRef(e);
            }
            get baseFontRef() {
              const e = new r.Dict(this.xref);
              e.set('BaseFont', this.fontName);
              e.set('Type', r.Name.get('Font'));
              e.set('Subtype', r.Name.get('Type0'));
              e.set('Encoding', r.Name.get('Identity-H'));
              e.set('DescendantFonts', [this.descendantFontRef]);
              e.set('ToUnicode', this.toUnicodeRef);
              return this.xref.getNewPersistentRef(e);
            }
            get resources() {
              const e = new r.Dict(this.xref),
                t = new r.Dict(this.xref);
              t.set(this.fontName.name, this.baseFontRef);
              e.set('Font', t);
              return e;
            }
            _createContext() {
              this.widths = new Map();
              this.ctxMeasure.font = `1000px ${this.fontFamily}`;
              return this.ctxMeasure;
            }
            createFontResources(e) {
              const t = this._createContext();
              for (const a of e.split(/\r\n?|\n/))
                for (const e of a.split('')) {
                  const a = e.charCodeAt(0);
                  if (this.widths.has(a)) continue;
                  const r = t.measureText(e),
                    n = Math.ceil(r.width);
                  this.widths.set(a, n);
                  this.firstChar = Math.min(a, this.firstChar);
                  this.lastChar = Math.max(a, this.lastChar);
                }
              return this.resources;
            }
            createAppearance(e, t, a, s, o, l) {
              const h = this._createContext(),
                u = [];
              let d = -1 / 0;
              for (const t of e.split(/\r\n?|\n/)) {
                u.push(t);
                const e = h.measureText(t).width;
                d = Math.max(d, e);
                for (const e of t.split('')) {
                  const t = e.charCodeAt(0);
                  let a = this.widths.get(t);
                  if (void 0 === a) {
                    const r = h.measureText(e);
                    a = Math.ceil(r.width);
                    this.widths.set(t, a);
                    this.firstChar = Math.min(t, this.firstChar);
                    this.lastChar = Math.max(t, this.lastChar);
                  }
                }
              }
              d *= s / 1e3;
              const [f, g, p, m] = t;
              let b = p - f,
                y = m - g;
              a % 180 != 0 && ([b, y] = [y, b]);
              let w = 1;
              d > b && (w = b / d);
              let S = 1;
              const x = i.LINE_FACTOR * s,
                C = i.LINE_DESCENT_FACTOR * s,
                k = x * u.length;
              k > y && (S = y / k);
              const v = s * Math.min(w, S),
                F = [
                  'q',
                  `0 0 ${(0, n.numberToString)(b)} ${(0, n.numberToString)(y)} re W n`,
                  'BT',
                  `1 0 0 1 0 ${(0, n.numberToString)(y + C)} Tm 0 Tc ${getPdfColor(o, !0)}`,
                  `/${this.fontName.name} ${(0, n.numberToString)(v)} Tf`,
                ],
                { resources: O } = this;
              if (1 !== (l = 'number' == typeof l && l >= 0 && l <= 1 ? l : 1)) {
                F.push('/R0 gs');
                const e = new r.Dict(this.xref),
                  t = new r.Dict(this.xref);
                t.set('ca', l);
                t.set('CA', l);
                t.set('Type', r.Name.get('ExtGState'));
                e.set('R0', t);
                O.set('ExtGState', e);
              }
              const T = (0, n.numberToString)(x);
              for (const e of u) F.push(`0 -${T} Td <${(0, n.stringToUTF16HexString)(e)}> Tj`);
              F.push('ET', 'Q');
              const M = F.join('\n'),
                E = new r.Dict(this.xref);
              E.set('Subtype', r.Name.get('Form'));
              E.set('Type', r.Name.get('XObject'));
              E.set('BBox', [0, 0, b, y]);
              E.set('Length', M.length);
              E.set('Resources', O);
              if (a) {
                const e = (0, n.getRotationMatrix)(a, b, y);
                E.set('Matrix', e);
              }
              const D = new c.StringStream(M);
              D.dict = E;
              return D;
            }
          }
          t.FakeUnicodeFont = FakeUnicodeFont;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ColorSpace = void 0;
          var r = a(2),
            n = a(4),
            i = a(5),
            s = a(3);
          class ColorSpace {
            constructor(e, t) {
              this.constructor === ColorSpace && (0, r.unreachable)('Cannot initialize ColorSpace.');
              this.name = e;
              this.numComps = t;
            }
            getRgb(e, t) {
              const a = new Uint8ClampedArray(3);
              this.getRgbItem(e, t, a, 0);
              return a;
            }
            getRgbItem(e, t, a, n) {
              (0, r.unreachable)('Should not call ColorSpace.getRgbItem');
            }
            getRgbBuffer(e, t, a, n, i, s, o) {
              (0, r.unreachable)('Should not call ColorSpace.getRgbBuffer');
            }
            getOutputLength(e, t) {
              (0, r.unreachable)('Should not call ColorSpace.getOutputLength');
            }
            isPassthrough(e) {
              return !1;
            }
            isDefaultDecode(e, t) {
              return ColorSpace.isDefaultDecode(e, this.numComps);
            }
            fillRgb(e, t, a, r, n, i, s, o, c) {
              const l = t * a;
              let h = null;
              const u = 1 << s,
                d = a !== n || t !== r;
              if (this.isPassthrough(s)) h = o;
              else if (1 === this.numComps && l > u && 'DeviceGray' !== this.name && 'DeviceRGB' !== this.name) {
                const t = s <= 8 ? new Uint8Array(u) : new Uint16Array(u);
                for (let e = 0; e < u; e++) t[e] = e;
                const a = new Uint8ClampedArray(3 * u);
                this.getRgbBuffer(t, 0, u, a, 0, s, 0);
                if (d) {
                  h = new Uint8Array(3 * l);
                  let e = 0;
                  for (let t = 0; t < l; ++t) {
                    const r = 3 * o[t];
                    h[e++] = a[r];
                    h[e++] = a[r + 1];
                    h[e++] = a[r + 2];
                  }
                } else {
                  let t = 0;
                  for (let r = 0; r < l; ++r) {
                    const n = 3 * o[r];
                    e[t++] = a[n];
                    e[t++] = a[n + 1];
                    e[t++] = a[n + 2];
                    t += c;
                  }
                }
              } else if (d) {
                h = new Uint8ClampedArray(3 * l);
                this.getRgbBuffer(o, 0, l, h, 0, s, 0);
              } else this.getRgbBuffer(o, 0, r * i, e, 0, s, c);
              if (h)
                if (d)
                  !(function resizeRgbImage(e, t, a, r, n, i, s) {
                    s = 1 !== s ? 0 : s;
                    const o = a / n,
                      c = r / i;
                    let l,
                      h = 0;
                    const u = new Uint16Array(n),
                      d = 3 * a;
                    for (let e = 0; e < n; e++) u[e] = 3 * Math.floor(e * o);
                    for (let a = 0; a < i; a++) {
                      const r = Math.floor(a * c) * d;
                      for (let a = 0; a < n; a++) {
                        l = r + u[a];
                        t[h++] = e[l++];
                        t[h++] = e[l++];
                        t[h++] = e[l++];
                        h += s;
                      }
                    }
                  })(h, e, t, a, r, n, c);
                else {
                  let t = 0,
                    a = 0;
                  for (let n = 0, s = r * i; n < s; n++) {
                    e[t++] = h[a++];
                    e[t++] = h[a++];
                    e[t++] = h[a++];
                    t += c;
                  }
                }
            }
            get usesZeroToOneRange() {
              return (0, r.shadow)(this, 'usesZeroToOneRange', !0);
            }
            static _cache(e, t, a, r) {
              if (!a) throw new Error('ColorSpace._cache - expected "localColorSpaceCache" argument.');
              if (!r) throw new Error('ColorSpace._cache - expected "parsedColorSpace" argument.');
              let i, s;
              if (e instanceof n.Ref) {
                s = e;
                e = t.fetch(e);
              }
              e instanceof n.Name && (i = e.name);
              (i || s) && a.set(i, s, r);
            }
            static getCached(e, t, a) {
              if (!a) throw new Error('ColorSpace.getCached - expected "localColorSpaceCache" argument.');
              if (e instanceof n.Ref) {
                const r = a.getByRef(e);
                if (r) return r;
                try {
                  e = t.fetch(e);
                } catch (e) {
                  if (e instanceof s.MissingDataException) throw e;
                }
              }
              if (e instanceof n.Name) {
                const t = a.getByName(e.name);
                if (t) return t;
              }
              return null;
            }
            static async parseAsync({
              cs: e,
              xref: t,
              resources: a = null,
              pdfFunctionFactory: r,
              localColorSpaceCache: n,
            }) {
              const i = this._parse(e, t, a, r);
              this._cache(e, t, n, i);
              return i;
            }
            static parse({ cs: e, xref: t, resources: a = null, pdfFunctionFactory: r, localColorSpaceCache: n }) {
              const i = this.getCached(e, t, n);
              if (i) return i;
              const s = this._parse(e, t, a, r);
              this._cache(e, t, n, s);
              return s;
            }
            static _parse(e, t, a = null, i) {
              if ((e = t.fetchIfRef(e)) instanceof n.Name)
                switch (e.name) {
                  case 'G':
                  case 'DeviceGray':
                    return this.singletons.gray;
                  case 'RGB':
                  case 'DeviceRGB':
                    return this.singletons.rgb;
                  case 'CMYK':
                  case 'DeviceCMYK':
                    return this.singletons.cmyk;
                  case 'Pattern':
                    return new PatternCS(null);
                  default:
                    if (a instanceof n.Dict) {
                      const r = a.get('ColorSpace');
                      if (r instanceof n.Dict) {
                        const s = r.get(e.name);
                        if (s) {
                          if (s instanceof n.Name) return this._parse(s, t, a, i);
                          e = s;
                          break;
                        }
                      }
                    }
                    throw new r.FormatError(`Unrecognized ColorSpace: ${e.name}`);
                }
              if (Array.isArray(e)) {
                const n = t.fetchIfRef(e[0]).name;
                let s, o, u, d, f, g;
                switch (n) {
                  case 'G':
                  case 'DeviceGray':
                    return this.singletons.gray;
                  case 'RGB':
                  case 'DeviceRGB':
                    return this.singletons.rgb;
                  case 'CMYK':
                  case 'DeviceCMYK':
                    return this.singletons.cmyk;
                  case 'CalGray':
                    s = t.fetchIfRef(e[1]);
                    d = s.getArray('WhitePoint');
                    f = s.getArray('BlackPoint');
                    g = s.get('Gamma');
                    return new c(d, f, g);
                  case 'CalRGB':
                    s = t.fetchIfRef(e[1]);
                    d = s.getArray('WhitePoint');
                    f = s.getArray('BlackPoint');
                    g = s.getArray('Gamma');
                    const p = s.getArray('Matrix');
                    return new l(d, f, g, p);
                  case 'ICCBased':
                    const m = t.fetchIfRef(e[1]).dict;
                    o = m.get('N');
                    const b = m.get('Alternate');
                    if (b) {
                      const e = this._parse(b, t, a, i);
                      if (e.numComps === o) return e;
                      (0, r.warn)('ICCBased color space: Ignoring incorrect /Alternate entry.');
                    }
                    if (1 === o) return this.singletons.gray;
                    if (3 === o) return this.singletons.rgb;
                    if (4 === o) return this.singletons.cmyk;
                    break;
                  case 'Pattern':
                    u = e[1] || null;
                    u && (u = this._parse(u, t, a, i));
                    return new PatternCS(u);
                  case 'I':
                  case 'Indexed':
                    u = this._parse(e[1], t, a, i);
                    const y = t.fetchIfRef(e[2]) + 1,
                      w = t.fetchIfRef(e[3]);
                    return new IndexedCS(u, y, w);
                  case 'Separation':
                  case 'DeviceN':
                    const S = t.fetchIfRef(e[1]);
                    o = Array.isArray(S) ? S.length : 1;
                    u = this._parse(e[2], t, a, i);
                    const x = i.create(e[3]);
                    return new AlternateCS(o, u, x);
                  case 'Lab':
                    s = t.fetchIfRef(e[1]);
                    d = s.getArray('WhitePoint');
                    f = s.getArray('BlackPoint');
                    const C = s.getArray('Range');
                    return new h(d, f, C);
                  default:
                    throw new r.FormatError(`Unimplemented ColorSpace object: ${n}`);
                }
              }
              throw new r.FormatError(`Unrecognized ColorSpace object: ${e}`);
            }
            static isDefaultDecode(e, t) {
              if (!Array.isArray(e)) return !0;
              if (2 * t !== e.length) {
                (0, r.warn)('The decode map is not the correct length');
                return !0;
              }
              for (let t = 0, a = e.length; t < a; t += 2) if (0 !== e[t] || 1 !== e[t + 1]) return !1;
              return !0;
            }
            static get singletons() {
              return (0, r.shadow)(this, 'singletons', {
                get gray() {
                  return (0, r.shadow)(this, 'gray', new DeviceGrayCS());
                },
                get rgb() {
                  return (0, r.shadow)(this, 'rgb', new DeviceRgbCS());
                },
                get cmyk() {
                  return (0, r.shadow)(this, 'cmyk', new o());
                },
              });
            }
          }
          t.ColorSpace = ColorSpace;
          class AlternateCS extends ColorSpace {
            constructor(e, t, a) {
              super('Alternate', e);
              this.base = t;
              this.tintFn = a;
              this.tmpBuf = new Float32Array(t.numComps);
            }
            getRgbItem(e, t, a, r) {
              const n = this.tmpBuf;
              this.tintFn(e, t, n, 0);
              this.base.getRgbItem(n, 0, a, r);
            }
            getRgbBuffer(e, t, a, r, n, i, s) {
              const o = this.tintFn,
                c = this.base,
                l = 1 / ((1 << i) - 1),
                h = c.numComps,
                u = c.usesZeroToOneRange,
                d = (c.isPassthrough(8) || !u) && 0 === s;
              let f = d ? n : 0;
              const g = d ? r : new Uint8ClampedArray(h * a),
                p = this.numComps,
                m = new Float32Array(p),
                b = new Float32Array(h);
              let y, w;
              for (y = 0; y < a; y++) {
                for (w = 0; w < p; w++) m[w] = e[t++] * l;
                o(m, 0, b, 0);
                if (u) for (w = 0; w < h; w++) g[f++] = 255 * b[w];
                else {
                  c.getRgbItem(b, 0, g, f);
                  f += h;
                }
              }
              d || c.getRgbBuffer(g, 0, a, r, n, 8, s);
            }
            getOutputLength(e, t) {
              return this.base.getOutputLength((e * this.base.numComps) / this.numComps, t);
            }
          }
          class PatternCS extends ColorSpace {
            constructor(e) {
              super('Pattern', null);
              this.base = e;
            }
            isDefaultDecode(e, t) {
              (0, r.unreachable)('Should not call PatternCS.isDefaultDecode');
            }
          }
          class IndexedCS extends ColorSpace {
            constructor(e, t, a) {
              super('Indexed', 1);
              this.base = e;
              this.highVal = t;
              const n = e.numComps * t;
              this.lookup = new Uint8Array(n);
              if (a instanceof i.BaseStream) {
                const e = a.getBytes(n);
                this.lookup.set(e);
              } else {
                if ('string' != typeof a) throw new r.FormatError(`IndexedCS - unrecognized lookup table: ${a}`);
                for (let e = 0; e < n; ++e) this.lookup[e] = 255 & a.charCodeAt(e);
              }
            }
            getRgbItem(e, t, a, r) {
              const n = this.base.numComps,
                i = e[t] * n;
              this.base.getRgbBuffer(this.lookup, i, 1, a, r, 8, 0);
            }
            getRgbBuffer(e, t, a, r, n, i, s) {
              const o = this.base,
                c = o.numComps,
                l = o.getOutputLength(c, s),
                h = this.lookup;
              for (let i = 0; i < a; ++i) {
                const a = e[t++] * c;
                o.getRgbBuffer(h, a, 1, r, n, 8, s);
                n += l;
              }
            }
            getOutputLength(e, t) {
              return this.base.getOutputLength(e * this.base.numComps, t);
            }
            isDefaultDecode(e, t) {
              if (!Array.isArray(e)) return !0;
              if (2 !== e.length) {
                (0, r.warn)('Decode map length is not correct');
                return !0;
              }
              if (!Number.isInteger(t) || t < 1) {
                (0, r.warn)('Bits per component is not correct');
                return !0;
              }
              return 0 === e[0] && e[1] === (1 << t) - 1;
            }
          }
          class DeviceGrayCS extends ColorSpace {
            constructor() {
              super('DeviceGray', 1);
            }
            getRgbItem(e, t, a, r) {
              const n = 255 * e[t];
              a[r] = a[r + 1] = a[r + 2] = n;
            }
            getRgbBuffer(e, t, a, r, n, i, s) {
              const o = 255 / ((1 << i) - 1);
              let c = t,
                l = n;
              for (let t = 0; t < a; ++t) {
                const t = o * e[c++];
                r[l++] = t;
                r[l++] = t;
                r[l++] = t;
                l += s;
              }
            }
            getOutputLength(e, t) {
              return e * (3 + t);
            }
          }
          class DeviceRgbCS extends ColorSpace {
            constructor() {
              super('DeviceRGB', 3);
            }
            getRgbItem(e, t, a, r) {
              a[r] = 255 * e[t];
              a[r + 1] = 255 * e[t + 1];
              a[r + 2] = 255 * e[t + 2];
            }
            getRgbBuffer(e, t, a, r, n, i, s) {
              if (8 === i && 0 === s) {
                r.set(e.subarray(t, t + 3 * a), n);
                return;
              }
              const o = 255 / ((1 << i) - 1);
              let c = t,
                l = n;
              for (let t = 0; t < a; ++t) {
                r[l++] = o * e[c++];
                r[l++] = o * e[c++];
                r[l++] = o * e[c++];
                l += s;
              }
            }
            getOutputLength(e, t) {
              return ((e * (3 + t)) / 3) | 0;
            }
            isPassthrough(e) {
              return 8 === e;
            }
          }
          const o = (function DeviceCmykCSClosure() {
              function convertToRgb(e, t, a, r, n) {
                const i = e[t] * a,
                  s = e[t + 1] * a,
                  o = e[t + 2] * a,
                  c = e[t + 3] * a;
                r[n] =
                  255 +
                  i *
                    (-4.387332384609988 * i +
                      54.48615194189176 * s +
                      18.82290502165302 * o +
                      212.25662451639585 * c -
                      285.2331026137004) +
                  s * (1.7149763477362134 * s - 5.6096736904047315 * o + -17.873870861415444 * c - 5.497006427196366) +
                  o * (-2.5217340131683033 * o - 21.248923337353073 * c + 17.5119270841813) +
                  c * (-21.86122147463605 * c - 189.48180835922747);
                r[n + 1] =
                  255 +
                  i *
                    (8.841041422036149 * i +
                      60.118027045597366 * s +
                      6.871425592049007 * o +
                      31.159100130055922 * c -
                      79.2970844816548) +
                  s * (-15.310361306967817 * s + 17.575251261109482 * o + 131.35250912493976 * c - 190.9453302588951) +
                  o * (4.444339102852739 * o + 9.8632861493405 * c - 24.86741582555878) +
                  c * (-20.737325471181034 * c - 187.80453709719578);
                r[n + 2] =
                  255 +
                  i *
                    (0.8842522430003296 * i +
                      8.078677503112928 * s +
                      30.89978309703729 * o -
                      0.23883238689178934 * c -
                      14.183576799673286) +
                  s * (10.49593273432072 * s + 63.02378494754052 * o + 50.606957656360734 * c - 112.23884253719248) +
                  o * (0.03296041114873217 * o + 115.60384449646641 * c - 193.58209356861505) +
                  c * (-22.33816807309886 * c - 180.12613974708367);
              }
              return class DeviceCmykCS extends ColorSpace {
                constructor() {
                  super('DeviceCMYK', 4);
                }
                getRgbItem(e, t, a, r) {
                  convertToRgb(e, t, 1, a, r);
                }
                getRgbBuffer(e, t, a, r, n, i, s) {
                  const o = 1 / ((1 << i) - 1);
                  for (let i = 0; i < a; i++) {
                    convertToRgb(e, t, o, r, n);
                    t += 4;
                    n += 3 + s;
                  }
                }
                getOutputLength(e, t) {
                  return ((e / 4) * (3 + t)) | 0;
                }
              };
            })(),
            c = (function CalGrayCSClosure() {
              function convertToRgb(e, t, a, r, n, i) {
                const s = (t[a] * i) ** e.G,
                  o = e.YW * s,
                  c = Math.max(295.8 * o ** 0.3333333333333333 - 40.8, 0);
                r[n] = c;
                r[n + 1] = c;
                r[n + 2] = c;
              }
              return class CalGrayCS extends ColorSpace {
                constructor(e, t, a) {
                  super('CalGray', 1);
                  if (!e) throw new r.FormatError('WhitePoint missing - required for color space CalGray');
                  t = t || [0, 0, 0];
                  a = a || 1;
                  this.XW = e[0];
                  this.YW = e[1];
                  this.ZW = e[2];
                  this.XB = t[0];
                  this.YB = t[1];
                  this.ZB = t[2];
                  this.G = a;
                  if (this.XW < 0 || this.ZW < 0 || 1 !== this.YW)
                    throw new r.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);
                  if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
                    (0, r.info)(`Invalid BlackPoint for ${this.name}, falling back to default.`);
                    this.XB = this.YB = this.ZB = 0;
                  }
                  (0 === this.XB && 0 === this.YB && 0 === this.ZB) ||
                    (0, r.warn)(
                      `${this.name}, BlackPoint: XB: ${this.XB}, YB: ${this.YB}, ZB: ${this.ZB}, only default values are supported.`
                    );
                  if (this.G < 1) {
                    (0, r.info)(`Invalid Gamma: ${this.G} for ${this.name}, falling back to default.`);
                    this.G = 1;
                  }
                }
                getRgbItem(e, t, a, r) {
                  convertToRgb(this, e, t, a, r, 1);
                }
                getRgbBuffer(e, t, a, r, n, i, s) {
                  const o = 1 / ((1 << i) - 1);
                  for (let i = 0; i < a; ++i) {
                    convertToRgb(this, e, t, r, n, o);
                    t += 1;
                    n += 3 + s;
                  }
                }
                getOutputLength(e, t) {
                  return e * (3 + t);
                }
              };
            })(),
            l = (function CalRGBCSClosure() {
              const e = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]),
                t = new Float32Array([
                  0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867,
                ]),
                a = new Float32Array([
                  3.2404542, -1.5371385, -0.4985314, -0.969266, 1.8760108, 0.041556, 0.0556434, -0.2040259, 1.0572252,
                ]),
                n = new Float32Array([1, 1, 1]),
                i = new Float32Array(3),
                s = new Float32Array(3),
                o = new Float32Array(3),
                c = (24 / 116) ** 3 / 8;
              function matrixProduct(e, t, a) {
                a[0] = e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
                a[1] = e[3] * t[0] + e[4] * t[1] + e[5] * t[2];
                a[2] = e[6] * t[0] + e[7] * t[1] + e[8] * t[2];
              }
              function sRGBTransferFunction(e) {
                return e <= 0.0031308
                  ? adjustToRange(0, 1, 12.92 * e)
                  : e >= 0.99554525
                  ? 1
                  : adjustToRange(0, 1, 1.055 * e ** (1 / 2.4) - 0.055);
              }
              function adjustToRange(e, t, a) {
                return Math.max(e, Math.min(t, a));
              }
              function decodeL(e) {
                return e < 0 ? -decodeL(-e) : e > 8 ? ((e + 16) / 116) ** 3 : e * c;
              }
              function convertToRgb(r, c, l, h, u, d) {
                const f = adjustToRange(0, 1, c[l] * d),
                  g = adjustToRange(0, 1, c[l + 1] * d),
                  p = adjustToRange(0, 1, c[l + 2] * d),
                  m = 1 === f ? 1 : f ** r.GR,
                  b = 1 === g ? 1 : g ** r.GG,
                  y = 1 === p ? 1 : p ** r.GB,
                  w = r.MXA * m + r.MXB * b + r.MXC * y,
                  S = r.MYA * m + r.MYB * b + r.MYC * y,
                  x = r.MZA * m + r.MZB * b + r.MZC * y,
                  C = s;
                C[0] = w;
                C[1] = S;
                C[2] = x;
                const k = o;
                !(function normalizeWhitePointToFlat(a, r, n) {
                  if (1 === a[0] && 1 === a[2]) {
                    n[0] = r[0];
                    n[1] = r[1];
                    n[2] = r[2];
                    return;
                  }
                  const s = n;
                  matrixProduct(e, r, s);
                  const o = i;
                  !(function convertToFlat(e, t, a) {
                    a[0] = (1 * t[0]) / e[0];
                    a[1] = (1 * t[1]) / e[1];
                    a[2] = (1 * t[2]) / e[2];
                  })(a, s, o);
                  matrixProduct(t, o, n);
                })(r.whitePoint, C, k);
                const v = s;
                !(function compensateBlackPoint(e, t, a) {
                  if (0 === e[0] && 0 === e[1] && 0 === e[2]) {
                    a[0] = t[0];
                    a[1] = t[1];
                    a[2] = t[2];
                    return;
                  }
                  const r = decodeL(0),
                    n = (1 - r) / (1 - decodeL(e[0])),
                    i = 1 - n,
                    s = (1 - r) / (1 - decodeL(e[1])),
                    o = 1 - s,
                    c = (1 - r) / (1 - decodeL(e[2])),
                    l = 1 - c;
                  a[0] = t[0] * n + i;
                  a[1] = t[1] * s + o;
                  a[2] = t[2] * c + l;
                })(r.blackPoint, k, v);
                const F = o;
                !(function normalizeWhitePointToD65(a, r, n) {
                  const s = n;
                  matrixProduct(e, r, s);
                  const o = i;
                  !(function convertToD65(e, t, a) {
                    a[0] = (0.95047 * t[0]) / e[0];
                    a[1] = (1 * t[1]) / e[1];
                    a[2] = (1.08883 * t[2]) / e[2];
                  })(a, s, o);
                  matrixProduct(t, o, n);
                })(n, v, F);
                const O = s;
                matrixProduct(a, F, O);
                h[u] = 255 * sRGBTransferFunction(O[0]);
                h[u + 1] = 255 * sRGBTransferFunction(O[1]);
                h[u + 2] = 255 * sRGBTransferFunction(O[2]);
              }
              return class CalRGBCS extends ColorSpace {
                constructor(e, t, a, n) {
                  super('CalRGB', 3);
                  if (!e) throw new r.FormatError('WhitePoint missing - required for color space CalRGB');
                  t = t || new Float32Array(3);
                  a = a || new Float32Array([1, 1, 1]);
                  n = n || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
                  const i = e[0],
                    s = e[1],
                    o = e[2];
                  this.whitePoint = e;
                  const c = t[0],
                    l = t[1],
                    h = t[2];
                  this.blackPoint = t;
                  this.GR = a[0];
                  this.GG = a[1];
                  this.GB = a[2];
                  this.MXA = n[0];
                  this.MYA = n[1];
                  this.MZA = n[2];
                  this.MXB = n[3];
                  this.MYB = n[4];
                  this.MZB = n[5];
                  this.MXC = n[6];
                  this.MYC = n[7];
                  this.MZC = n[8];
                  if (i < 0 || o < 0 || 1 !== s)
                    throw new r.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);
                  if (c < 0 || l < 0 || h < 0) {
                    (0, r.info)(`Invalid BlackPoint for ${this.name} [${c}, ${l}, ${h}], falling back to default.`);
                    this.blackPoint = new Float32Array(3);
                  }
                  if (this.GR < 0 || this.GG < 0 || this.GB < 0) {
                    (0, r.info)(
                      `Invalid Gamma [${this.GR}, ${this.GG}, ${this.GB}] for ${this.name}, falling back to default.`
                    );
                    this.GR = this.GG = this.GB = 1;
                  }
                }
                getRgbItem(e, t, a, r) {
                  convertToRgb(this, e, t, a, r, 1);
                }
                getRgbBuffer(e, t, a, r, n, i, s) {
                  const o = 1 / ((1 << i) - 1);
                  for (let i = 0; i < a; ++i) {
                    convertToRgb(this, e, t, r, n, o);
                    t += 3;
                    n += 3 + s;
                  }
                }
                getOutputLength(e, t) {
                  return ((e * (3 + t)) / 3) | 0;
                }
              };
            })(),
            h = (function LabCSClosure() {
              function fn_g(e) {
                let t;
                t = e >= 6 / 29 ? e ** 3 : (108 / 841) * (e - 4 / 29);
                return t;
              }
              function decode(e, t, a, r) {
                return a + (e * (r - a)) / t;
              }
              function convertToRgb(e, t, a, r, n, i) {
                let s = t[a],
                  o = t[a + 1],
                  c = t[a + 2];
                if (!1 !== r) {
                  s = decode(s, r, 0, 100);
                  o = decode(o, r, e.amin, e.amax);
                  c = decode(c, r, e.bmin, e.bmax);
                }
                o > e.amax ? (o = e.amax) : o < e.amin && (o = e.amin);
                c > e.bmax ? (c = e.bmax) : c < e.bmin && (c = e.bmin);
                const l = (s + 16) / 116,
                  h = l + o / 500,
                  u = l - c / 200,
                  d = e.XW * fn_g(h),
                  f = e.YW * fn_g(l),
                  g = e.ZW * fn_g(u);
                let p, m, b;
                if (e.ZW < 1) {
                  p = 3.1339 * d + -1.617 * f + -0.4906 * g;
                  m = -0.9785 * d + 1.916 * f + 0.0333 * g;
                  b = 0.072 * d + -0.229 * f + 1.4057 * g;
                } else {
                  p = 3.2406 * d + -1.5372 * f + -0.4986 * g;
                  m = -0.9689 * d + 1.8758 * f + 0.0415 * g;
                  b = 0.0557 * d + -0.204 * f + 1.057 * g;
                }
                n[i] = 255 * Math.sqrt(p);
                n[i + 1] = 255 * Math.sqrt(m);
                n[i + 2] = 255 * Math.sqrt(b);
              }
              return class LabCS extends ColorSpace {
                constructor(e, t, a) {
                  super('Lab', 3);
                  if (!e) throw new r.FormatError('WhitePoint missing - required for color space Lab');
                  t = t || [0, 0, 0];
                  a = a || [-100, 100, -100, 100];
                  this.XW = e[0];
                  this.YW = e[1];
                  this.ZW = e[2];
                  this.amin = a[0];
                  this.amax = a[1];
                  this.bmin = a[2];
                  this.bmax = a[3];
                  this.XB = t[0];
                  this.YB = t[1];
                  this.ZB = t[2];
                  if (this.XW < 0 || this.ZW < 0 || 1 !== this.YW)
                    throw new r.FormatError('Invalid WhitePoint components, no fallback available');
                  if (this.XB < 0 || this.YB < 0 || this.ZB < 0) {
                    (0, r.info)('Invalid BlackPoint, falling back to default');
                    this.XB = this.YB = this.ZB = 0;
                  }
                  if (this.amin > this.amax || this.bmin > this.bmax) {
                    (0, r.info)('Invalid Range, falling back to defaults');
                    this.amin = -100;
                    this.amax = 100;
                    this.bmin = -100;
                    this.bmax = 100;
                  }
                }
                getRgbItem(e, t, a, r) {
                  convertToRgb(this, e, t, !1, a, r);
                }
                getRgbBuffer(e, t, a, r, n, i, s) {
                  const o = (1 << i) - 1;
                  for (let i = 0; i < a; i++) {
                    convertToRgb(this, e, t, o, r, n);
                    t += 3;
                    n += 3 + s;
                  }
                }
                getOutputLength(e, t) {
                  return ((e * (3 + t)) / 3) | 0;
                }
                isDefaultDecode(e, t) {
                  return !0;
                }
                get usesZeroToOneRange() {
                  return (0, r.shadow)(this, 'usesZeroToOneRange', !1);
                }
              };
            })();
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PartialEvaluator = t.EvaluatorPreprocessor = void 0;
          var r = a(2),
            n = a(14),
            i = a(4),
            s = a(32),
            o = a(35),
            c = a(39),
            l = a(48),
            h = a(49),
            u = a(40),
            d = a(55),
            f = a(15),
            g = a(57),
            p = a(8),
            m = a(5),
            b = a(58),
            y = a(12),
            w = a(17),
            S = a(36),
            x = a(37),
            C = a(3),
            k = a(43),
            v = a(38),
            F = a(59),
            O = a(60),
            T = a(61);
          const M = Object.freeze({
              maxImageSize: -1,
              disableFontFace: !1,
              ignoreErrors: !1,
              isEvalSupported: !0,
              isOffscreenCanvasSupported: !0,
              fontExtraProperties: !1,
              useSystemFonts: !0,
              cMapUrl: null,
              standardFontDataUrl: null,
            }),
            E = 1,
            D = 2,
            N = 10,
            R = Promise.resolve();
          function normalizeBlendMode(e, t = !1) {
            if (Array.isArray(e)) {
              for (const t of e) {
                const e = normalizeBlendMode(t, !0);
                if (e) return e;
              }
              (0, r.warn)(`Unsupported blend mode Array: ${e}`);
              return 'source-over';
            }
            if (!(e instanceof i.Name)) return t ? null : 'source-over';
            switch (e.name) {
              case 'Normal':
              case 'Compatible':
                return 'source-over';
              case 'Multiply':
                return 'multiply';
              case 'Screen':
                return 'screen';
              case 'Overlay':
                return 'overlay';
              case 'Darken':
                return 'darken';
              case 'Lighten':
                return 'lighten';
              case 'ColorDodge':
                return 'color-dodge';
              case 'ColorBurn':
                return 'color-burn';
              case 'HardLight':
                return 'hard-light';
              case 'SoftLight':
                return 'soft-light';
              case 'Difference':
                return 'difference';
              case 'Exclusion':
                return 'exclusion';
              case 'Hue':
                return 'hue';
              case 'Saturation':
                return 'saturation';
              case 'Color':
                return 'color';
              case 'Luminosity':
                return 'luminosity';
            }
            if (t) return null;
            (0, r.warn)(`Unsupported blend mode: ${e.name}`);
            return 'source-over';
          }
          function incrementCachedImageMaskCount(e) {
            e.fn === r.OPS.paintImageMaskXObject && e.args[0] && e.args[0].count > 0 && e.args[0].count++;
          }
          class TimeSlotManager {
            static get TIME_SLOT_DURATION_MS() {
              return (0, r.shadow)(this, 'TIME_SLOT_DURATION_MS', 20);
            }
            static get CHECK_TIME_EVERY() {
              return (0, r.shadow)(this, 'CHECK_TIME_EVERY', 100);
            }
            constructor() {
              this.reset();
            }
            check() {
              if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) return !1;
              this.checked = 0;
              return this.endTime <= Date.now();
            }
            reset() {
              this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;
              this.checked = 0;
            }
          }
          class PartialEvaluator {
            constructor({
              xref: e,
              handler: t,
              pageIndex: a,
              idFactory: r,
              fontCache: n,
              builtInCMapCache: i,
              standardFontDataCache: s,
              globalImageCache: o,
              options: c = null,
            }) {
              this.xref = e;
              this.handler = t;
              this.pageIndex = a;
              this.idFactory = r;
              this.fontCache = n;
              this.builtInCMapCache = i;
              this.standardFontDataCache = s;
              this.globalImageCache = o;
              this.options = c || M;
              this.parsingType3Font = !1;
              this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);
            }
            get _pdfFunctionFactory() {
              const e = new d.PDFFunctionFactory({ xref: this.xref, isEvalSupported: this.options.isEvalSupported });
              return (0, r.shadow)(this, '_pdfFunctionFactory', e);
            }
            clone(e = null) {
              const t = Object.create(this);
              t.options = Object.assign(Object.create(null), this.options, e);
              return t;
            }
            hasBlendModes(e, t) {
              if (!(e instanceof i.Dict)) return !1;
              if (e.objId && t.has(e.objId)) return !1;
              const a = new i.RefSet(t);
              e.objId && a.put(e.objId);
              const n = [e],
                s = this.xref;
              for (; n.length; ) {
                const e = n.shift(),
                  t = e.get('ExtGState');
                if (t instanceof i.Dict)
                  for (let e of t.getRawValues()) {
                    if (e instanceof i.Ref) {
                      if (a.has(e)) continue;
                      try {
                        e = s.fetch(e);
                      } catch (t) {
                        a.put(e);
                        (0, r.info)(`hasBlendModes - ignoring ExtGState: "${t}".`);
                        continue;
                      }
                    }
                    if (!(e instanceof i.Dict)) continue;
                    e.objId && a.put(e.objId);
                    const t = e.get('BM');
                    if (t instanceof i.Name) {
                      if ('Normal' !== t.name) return !0;
                    } else if (void 0 !== t && Array.isArray(t))
                      for (const e of t) if (e instanceof i.Name && 'Normal' !== e.name) return !0;
                  }
                const o = e.get('XObject');
                if (o instanceof i.Dict)
                  for (let e of o.getRawValues()) {
                    if (e instanceof i.Ref) {
                      if (a.has(e)) continue;
                      try {
                        e = s.fetch(e);
                      } catch (t) {
                        a.put(e);
                        (0, r.info)(`hasBlendModes - ignoring XObject: "${t}".`);
                        continue;
                      }
                    }
                    if (!(e instanceof m.BaseStream)) continue;
                    e.dict.objId && a.put(e.dict.objId);
                    const t = e.dict.get('Resources');
                    if (t instanceof i.Dict && (!t.objId || !a.has(t.objId))) {
                      n.push(t);
                      t.objId && a.put(t.objId);
                    }
                  }
              }
              for (const e of a) t.put(e);
              return !1;
            }
            async fetchBuiltInCMap(e) {
              const t = this.builtInCMapCache.get(e);
              if (t) return t;
              let a;
              if (null !== this.options.cMapUrl) {
                const t = `${this.options.cMapUrl}${e}.bcmap`,
                  n = await fetch(t);
                if (!n.ok) throw new Error(`fetchBuiltInCMap: failed to fetch file "${t}" with "${n.statusText}".`);
                a = { cMapData: new Uint8Array(await n.arrayBuffer()), compressionType: r.CMapCompressionType.BINARY };
              } else a = await this.handler.sendWithPromise('FetchBuiltInCMap', { name: e });
              a.compressionType !== r.CMapCompressionType.NONE && this.builtInCMapCache.set(e, a);
              return a;
            }
            async fetchStandardFontData(e) {
              const t = this.standardFontDataCache.get(e);
              if (t) return new p.Stream(t);
              if (this.options.useSystemFonts && 'Symbol' !== e && 'ZapfDingbats' !== e) return null;
              const a = (0, c.getFontNameToFileMap)()[e];
              let n;
              if (null !== this.options.standardFontDataUrl) {
                const e = `${this.options.standardFontDataUrl}${a}`,
                  t = await fetch(e);
                t.ok
                  ? (n = await t.arrayBuffer())
                  : (0, r.warn)(`fetchStandardFontData: failed to fetch file "${e}" with "${t.statusText}".`);
              } else
                try {
                  n = await this.handler.sendWithPromise('FetchStandardFontData', { filename: a });
                } catch (e) {
                  (0, r.warn)(`fetchStandardFontData: failed to fetch file "${a}" with "${e}".`);
                }
              if (!n) return null;
              this.standardFontDataCache.set(e, n);
              return new p.Stream(n);
            }
            async buildFormXObject(e, t, a, n, s, o, c) {
              const l = t.dict,
                h = l.getArray('Matrix');
              let u,
                d,
                f = l.getArray('BBox');
              f = Array.isArray(f) && 4 === f.length ? r.Util.normalizeRect(f) : null;
              l.has('OC') && (u = await this.parseMarkedContentProps(l.get('OC'), e));
              void 0 !== u && n.addOp(r.OPS.beginMarkedContentProps, ['OC', u]);
              const g = l.get('Group');
              if (g) {
                d = { matrix: h, bbox: f, smask: a, isolated: !1, knockout: !1 };
                const t = g.get('S');
                let s = null;
                if ((0, i.isName)(t, 'Transparency')) {
                  d.isolated = g.get('I') || !1;
                  d.knockout = g.get('K') || !1;
                  if (g.has('CS')) {
                    const t = g.getRaw('CS'),
                      a = y.ColorSpace.getCached(t, this.xref, c);
                    s = a || (await this.parseColorSpace({ cs: t, resources: e, localColorSpaceCache: c }));
                  }
                }
                if (a && a.backdrop) {
                  s = s || y.ColorSpace.singletons.rgb;
                  a.backdrop = s.getRgb(a.backdrop, 0);
                }
                n.addOp(r.OPS.beginGroup, [d]);
              }
              const p = g ? [h, null] : [h, f];
              n.addOp(r.OPS.paintFormXObjectBegin, p);
              return this.getOperatorList({
                stream: t,
                task: s,
                resources: l.get('Resources') || e,
                operatorList: n,
                initialState: o,
              }).then(function () {
                n.addOp(r.OPS.paintFormXObjectEnd, []);
                g && n.addOp(r.OPS.endGroup, [d]);
                void 0 !== u && n.addOp(r.OPS.endMarkedContent, []);
              });
            }
            _sendImgData(e, t, a = !1) {
              const r = t ? [t.bitmap || t.data.buffer] : null;
              return this.parsingType3Font || a
                ? this.handler.send('commonobj', [e, 'Image', t], r)
                : this.handler.send('obj', [e, this.pageIndex, 'Image', t], r);
            }
            async buildPaintImageXObject({
              resources: e,
              image: t,
              isInline: a = !1,
              operatorList: n,
              cacheKey: i,
              localImageCache: s,
              localColorSpaceCache: o,
            }) {
              const c = t.dict,
                l = c.objId,
                h = c.get('W', 'Width'),
                u = c.get('H', 'Height');
              if (!h || 'number' != typeof h || !u || 'number' != typeof u) {
                (0, r.warn)('Image dimensions are missing, or not numbers.');
                return;
              }
              const d = this.options.maxImageSize;
              if (-1 !== d && h * u > d) {
                const e = 'Image exceeded maximum allowed size and was removed.';
                if (this.options.ignoreErrors) {
                  (0, r.warn)(e);
                  return;
                }
                throw new Error(e);
              }
              let f;
              c.has('OC') && (f = await this.parseMarkedContentProps(c.get('OC'), e));
              let g, p;
              if (c.get('IM', 'ImageMask') || !1) {
                const e = c.get('I', 'Interpolate'),
                  a = (h + 7) >> 3,
                  o = t.getBytes(a * u),
                  d = c.getArray('D', 'Decode');
                if (this.parsingType3Font) {
                  g = T.PDFImage.createRawMask({
                    imgArray: o,
                    width: h,
                    height: u,
                    imageIsFromDecodeStream: t instanceof w.DecodeStream,
                    inverseDecode: !!d && d[0] > 0,
                    interpolate: e,
                  });
                  g.cached = !!i;
                  p = [g];
                  n.addImageOps(r.OPS.paintImageMaskXObject, p, f);
                  i && s.set(i, l, { fn: r.OPS.paintImageMaskXObject, args: p, optionalContent: f });
                  return;
                }
                g = T.PDFImage.createMask({
                  imgArray: o,
                  width: h,
                  height: u,
                  imageIsFromDecodeStream: t instanceof w.DecodeStream,
                  inverseDecode: !!d && d[0] > 0,
                  interpolate: e,
                  isOffscreenCanvasSupported: this.options.isOffscreenCanvasSupported,
                });
                if (g.isSingleOpaquePixel) {
                  n.addImageOps(r.OPS.paintSolidColorImageMask, [], f);
                  i && s.set(i, l, { fn: r.OPS.paintSolidColorImageMask, args: [], optionalContent: f });
                  return;
                }
                const m = `mask_${this.idFactory.createObjId()}`;
                n.addDependency(m);
                this._sendImgData(m, g);
                p = [{ data: m, width: g.width, height: g.height, interpolate: g.interpolate, count: 1 }];
                n.addImageOps(r.OPS.paintImageMaskXObject, p, f);
                i && s.set(i, l, { fn: r.OPS.paintImageMaskXObject, args: p, optionalContent: f });
                return;
              }
              const m = c.get('SM', 'SMask') || !1,
                b = c.get('Mask') || !1;
              if (a && !m && !b && h + u < 200) {
                const i = new T.PDFImage({
                  xref: this.xref,
                  res: e,
                  image: t,
                  isInline: a,
                  pdfFunctionFactory: this._pdfFunctionFactory,
                  localColorSpaceCache: o,
                });
                g = i.createImageData(!0);
                n.addImageOps(r.OPS.paintInlineImageXObject, [g], f);
                return;
              }
              let y = `img_${this.idFactory.createObjId()}`,
                S = !1;
              if (this.parsingType3Font) y = `${this.idFactory.getDocId()}_type3_${y}`;
              else if (l) {
                S = this.globalImageCache.shouldCache(l, this.pageIndex);
                S && (y = `${this.idFactory.getDocId()}_${y}`);
              }
              n.addDependency(y);
              p = [y, h, u];
              T.PDFImage.buildImage({
                xref: this.xref,
                res: e,
                image: t,
                isInline: a,
                pdfFunctionFactory: this._pdfFunctionFactory,
                localColorSpaceCache: o,
              })
                .then((e) => {
                  g = e.createImageData(!1);
                  i && l && S && this.globalImageCache.addByteSize(l, g.data.length);
                  return this._sendImgData(y, g, S);
                })
                .catch((e) => {
                  (0, r.warn)(`Unable to decode image "${y}": "${e}".`);
                  return this._sendImgData(y, null, S);
                });
              n.addImageOps(r.OPS.paintImageXObject, p, f);
              if (i) {
                s.set(i, l, { fn: r.OPS.paintImageXObject, args: p, optionalContent: f });
                if (l) {
                  (0, r.assert)(!a, 'Cannot cache an inline image globally.');
                  this.globalImageCache.addPageIndex(l, this.pageIndex);
                  S &&
                    this.globalImageCache.setData(l, {
                      objId: y,
                      fn: r.OPS.paintImageXObject,
                      args: p,
                      optionalContent: f,
                      byteSize: 0,
                    });
                }
              }
            }
            handleSMask(e, t, a, r, n, i) {
              const s = e.get('G'),
                o = { subtype: e.get('S').name, backdrop: e.get('BC') },
                c = e.get('TR');
              if ((0, d.isPDFFunction)(c)) {
                const e = this._pdfFunctionFactory.create(c),
                  t = new Uint8Array(256),
                  a = new Float32Array(1);
                for (let r = 0; r < 256; r++) {
                  a[0] = r / 255;
                  e(a, 0, a, 0);
                  t[r] = (255 * a[0]) | 0;
                }
                o.transferMap = t;
              }
              return this.buildFormXObject(t, s, o, a, r, n.state.clone(), i);
            }
            handleTransferFunction(e) {
              let t;
              if (Array.isArray(e)) t = e;
              else {
                if (!(0, d.isPDFFunction)(e)) return null;
                t = [e];
              }
              const a = [];
              let r = 0,
                n = 0;
              for (const e of t) {
                const t = this.xref.fetchIfRef(e);
                r++;
                if ((0, i.isName)(t, 'Identity')) {
                  a.push(null);
                  continue;
                }
                if (!(0, d.isPDFFunction)(t)) return null;
                const s = this._pdfFunctionFactory.create(t),
                  o = new Uint8Array(256),
                  c = new Float32Array(1);
                for (let e = 0; e < 256; e++) {
                  c[0] = e / 255;
                  s(c, 0, c, 0);
                  o[e] = (255 * c[0]) | 0;
                }
                a.push(o);
                n++;
              }
              return (1 !== r && 4 !== r) || 0 === n ? null : a;
            }
            handleTilingType(e, t, a, n, s, o, c, h) {
              const u = new O.OperatorList(),
                d = i.Dict.merge({ xref: this.xref, dictArray: [s.get('Resources'), a] });
              return this.getOperatorList({ stream: n, task: c, resources: d, operatorList: u })
                .then(function () {
                  const a = u.getIR(),
                    r = (0, l.getTilingPatternIR)(a, s, t);
                  o.addDependencies(u.dependencies);
                  o.addOp(e, r);
                  s.objId && h.set(null, s.objId, { operatorListIR: a, dict: s });
                })
                .catch((e) => {
                  if (!(e instanceof r.AbortException)) {
                    if (!this.options.ignoreErrors) throw e;
                    this.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorTilingPattern });
                    (0, r.warn)(`handleTilingType - ignoring pattern: "${e}".`);
                  }
                });
            }
            handleSetFont(e, t, a, n, o, c, l = null, h = null) {
              const u = t && t[0] instanceof i.Name ? t[0].name : null;
              return this.loadFont(u, a, e, l, h)
                .then((t) =>
                  t.font.isType3Font
                    ? t
                        .loadType3Data(this, e, o)
                        .then(function () {
                          n.addDependencies(t.type3Dependencies);
                          return t;
                        })
                        .catch((e) => {
                          this.handler.send('UnsupportedFeature', {
                            featureId: r.UNSUPPORTED_FEATURES.errorFontLoadType3,
                          });
                          return new TranslatedFont({
                            loadedName: 'g_font_error',
                            font: new s.ErrorFont(`Type3 font load error: ${e}`),
                            dict: t.font,
                            evaluatorOptions: this.options,
                          });
                        })
                    : t
                )
                .then((e) => {
                  c.font = e.font;
                  e.send(this.handler);
                  return e.loadedName;
                });
            }
            handleText(e, t) {
              const a = t.font,
                n = a.charsToGlyphs(e);
              if (a.data) {
                (!!(t.textRenderingMode & r.TextRenderingMode.ADD_TO_PATH_FLAG) ||
                  'Pattern' === t.fillColorSpace.name ||
                  a.disableFontFace ||
                  this.options.disableFontFace) &&
                  PartialEvaluator.buildFontPaths(a, n, this.handler, this.options);
              }
              return n;
            }
            ensureStateFont(e) {
              if (e.font) return;
              const t = new r.FormatError('Missing setFont (Tf) operator before text rendering operator.');
              if (!this.options.ignoreErrors) throw t;
              this.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorFontState });
              (0, r.warn)(`ensureStateFont: "${t}".`);
            }
            async setGState({
              resources: e,
              gState: t,
              operatorList: a,
              cacheKey: n,
              task: s,
              stateManager: o,
              localGStateCache: c,
              localColorSpaceCache: l,
            }) {
              const h = t.objId;
              let u = !0;
              const d = [];
              let f = Promise.resolve();
              for (const n of t.getKeys()) {
                const c = t.get(n);
                switch (n) {
                  case 'Type':
                    break;
                  case 'LW':
                  case 'LC':
                  case 'LJ':
                  case 'ML':
                  case 'D':
                  case 'RI':
                  case 'FL':
                  case 'CA':
                  case 'ca':
                    d.push([n, c]);
                    break;
                  case 'Font':
                    u = !1;
                    f = f.then(() =>
                      this.handleSetFont(e, null, c[0], a, s, o.state).then(function (e) {
                        a.addDependency(e);
                        d.push([n, [e, c[1]]]);
                      })
                    );
                    break;
                  case 'BM':
                    d.push([n, normalizeBlendMode(c)]);
                    break;
                  case 'SMask':
                    if ((0, i.isName)(c, 'None')) {
                      d.push([n, !1]);
                      break;
                    }
                    if (c instanceof i.Dict) {
                      u = !1;
                      f = f.then(() => this.handleSMask(c, e, a, s, o, l));
                      d.push([n, !0]);
                    } else (0, r.warn)('Unsupported SMask type');
                    break;
                  case 'TR':
                    const t = this.handleTransferFunction(c);
                    d.push([n, t]);
                    break;
                  case 'OP':
                  case 'op':
                  case 'OPM':
                  case 'BG':
                  case 'BG2':
                  case 'UCR':
                  case 'UCR2':
                  case 'TR2':
                  case 'HT':
                  case 'SM':
                  case 'SA':
                  case 'AIS':
                  case 'TK':
                    (0, r.info)('graphic state operator ' + n);
                    break;
                  default:
                    (0, r.info)('Unknown graphic state operator ' + n);
                }
              }
              return f.then(function () {
                d.length > 0 && a.addOp(r.OPS.setGState, [d]);
                u && c.set(n, h, d);
              });
            }
            loadFont(e, t, a, n = null, o = null) {
              const errorFont = async () =>
                  new TranslatedFont({
                    loadedName: 'g_font_error',
                    font: new s.ErrorFont(`Font "${e}" is not available.`),
                    dict: t,
                    evaluatorOptions: this.options,
                  }),
                c = this.xref;
              let l;
              if (t) t instanceof i.Ref && (l = t);
              else {
                const t = a.get('Font');
                t && (l = t.getRaw(e));
              }
              if (!l) {
                const a = `Font "${e || (t && t.toString())}" is not available`;
                if (!this.options.ignoreErrors && !this.parsingType3Font) {
                  (0, r.warn)(`${a}.`);
                  return errorFont();
                }
                this.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorFontMissing });
                (0, r.warn)(`${a} -- attempting to fallback to a default font.`);
                l = n || PartialEvaluator.fallbackFontDict;
              }
              if (this.parsingType3Font && this.type3FontRefs.has(l)) return errorFont();
              if (this.fontCache.has(l)) return this.fontCache.get(l);
              if (!((t = c.fetchIfRef(l)) instanceof i.Dict)) return errorFont();
              if (t.cacheKey && this.fontCache.has(t.cacheKey)) return this.fontCache.get(t.cacheKey);
              const h = (0, r.createPromiseCapability)();
              let u;
              try {
                u = this.preEvaluateFont(t);
                u.cssFontInfo = o;
              } catch (e) {
                (0, r.warn)(`loadFont - preEvaluateFont failed: "${e}".`);
                return errorFont();
              }
              const { descriptor: d, hash: f } = u,
                g = l instanceof i.Ref;
              let p;
              g && (p = `f${l.toString()}`);
              if (f && d instanceof i.Dict) {
                d.fontAliases || (d.fontAliases = Object.create(null));
                const e = d.fontAliases;
                if (e[f]) {
                  const t = e[f].aliasRef;
                  if (g && t && this.fontCache.has(t)) {
                    this.fontCache.putAlias(l, t);
                    return this.fontCache.get(l);
                  }
                } else e[f] = { fontID: this.idFactory.createFontId() };
                g && (e[f].aliasRef = l);
                p = e[f].fontID;
              }
              if (g) this.fontCache.put(l, h.promise);
              else {
                p || (p = this.idFactory.createFontId());
                t.cacheKey = `cacheKey_${p}`;
                this.fontCache.put(t.cacheKey, h.promise);
              }
              (0, r.assert)(p && p.startsWith('f'), 'The "fontID" must be (correctly) defined.');
              t.loadedName = `${this.idFactory.getDocId()}_${p}`;
              this.translateFont(u)
                .then((e) => {
                  h.resolve(
                    new TranslatedFont({ loadedName: t.loadedName, font: e, dict: t, evaluatorOptions: this.options })
                  );
                })
                .catch((e) => {
                  this.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorFontTranslate });
                  (0, r.warn)(`loadFont - translateFont failed: "${e}".`);
                  h.resolve(
                    new TranslatedFont({
                      loadedName: t.loadedName,
                      font: new s.ErrorFont(e instanceof Error ? e.message : e),
                      dict: t,
                      evaluatorOptions: this.options,
                    })
                  );
                });
              return h.promise;
            }
            buildPath(e, t, a, n = !1) {
              const i = e.length - 1;
              a || (a = []);
              if (i < 0 || e.fnArray[i] !== r.OPS.constructPath) {
                if (n) {
                  (0, r.warn)(`Encountered path operator "${t}" inside of a text object.`);
                  e.addOp(r.OPS.save, null);
                }
                let i;
                switch (t) {
                  case r.OPS.rectangle:
                    const e = a[0] + a[2],
                      t = a[1] + a[3];
                    i = [Math.min(a[0], e), Math.max(a[0], e), Math.min(a[1], t), Math.max(a[1], t)];
                    break;
                  case r.OPS.moveTo:
                  case r.OPS.lineTo:
                    i = [a[0], a[0], a[1], a[1]];
                    break;
                  default:
                    i = [1 / 0, -1 / 0, 1 / 0, -1 / 0];
                }
                e.addOp(r.OPS.constructPath, [[t], a, i]);
                n && e.addOp(r.OPS.restore, null);
              } else {
                const n = e.argsArray[i];
                n[0].push(t);
                n[1].push(...a);
                const s = n[2];
                switch (t) {
                  case r.OPS.rectangle:
                    const e = a[0] + a[2],
                      t = a[1] + a[3];
                    s[0] = Math.min(s[0], a[0], e);
                    s[1] = Math.max(s[1], a[0], e);
                    s[2] = Math.min(s[2], a[1], t);
                    s[3] = Math.max(s[3], a[1], t);
                    break;
                  case r.OPS.moveTo:
                  case r.OPS.lineTo:
                    s[0] = Math.min(s[0], a[0]);
                    s[1] = Math.max(s[1], a[0]);
                    s[2] = Math.min(s[2], a[1]);
                    s[3] = Math.max(s[3], a[1]);
                }
              }
            }
            parseColorSpace({ cs: e, resources: t, localColorSpaceCache: a }) {
              return y.ColorSpace.parseAsync({
                cs: e,
                xref: this.xref,
                resources: t,
                pdfFunctionFactory: this._pdfFunctionFactory,
                localColorSpaceCache: a,
              }).catch((e) => {
                if (e instanceof r.AbortException) return null;
                if (this.options.ignoreErrors) {
                  this.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorColorSpace });
                  (0, r.warn)(`parseColorSpace - ignoring ColorSpace: "${e}".`);
                  return null;
                }
                throw e;
              });
            }
            parseShading({ shading: e, resources: t, localColorSpaceCache: a, localShadingPatternCache: r }) {
              let n = r.get(e);
              if (!n) {
                const i = l.Pattern.parseShading(e, this.xref, t, this.handler, this._pdfFunctionFactory, a).getIR();
                n = `pattern_${this.idFactory.createObjId()}`;
                r.set(e, n);
                this.handler.send('obj', [n, this.pageIndex, 'Pattern', i]);
              }
              return n;
            }
            handleColorN(e, t, a, n, s, o, c, h, u, d) {
              const f = a.pop();
              if (f instanceof i.Name) {
                const g = s.getRaw(f.name),
                  p = g instanceof i.Ref && u.getByRef(g);
                if (p)
                  try {
                    const r = n.base ? n.base.getRgb(a, 0) : null,
                      i = (0, l.getTilingPatternIR)(p.operatorListIR, p.dict, r);
                    e.addOp(t, i);
                    return;
                  } catch (e) {}
                const b = this.xref.fetchIfRef(g);
                if (b) {
                  const i = b instanceof m.BaseStream ? b.dict : b,
                    s = i.get('PatternType');
                  if (s === E) {
                    const r = n.base ? n.base.getRgb(a, 0) : null;
                    return this.handleTilingType(t, r, o, b, i, e, c, u);
                  }
                  if (s === D) {
                    const a = i.get('Shading'),
                      r = i.getArray('Matrix'),
                      n = this.parseShading({
                        shading: a,
                        resources: o,
                        localColorSpaceCache: h,
                        localShadingPatternCache: d,
                      });
                    e.addOp(t, ['Shading', n, r]);
                    return;
                  }
                  throw new r.FormatError(`Unknown PatternType: ${s}`);
                }
              }
              throw new r.FormatError(`Unknown PatternName: ${f}`);
            }
            _parseVisibilityExpression(e, t, a) {
              if (++t > 10) {
                (0, r.warn)('Visibility expression is too deeply nested');
                return;
              }
              const n = e.length,
                s = this.xref.fetchIfRef(e[0]);
              if (!(n < 2) && s instanceof i.Name) {
                switch (s.name) {
                  case 'And':
                  case 'Or':
                  case 'Not':
                    a.push(s.name);
                    break;
                  default:
                    (0, r.warn)(`Invalid operator ${s.name} in visibility expression`);
                    return;
                }
                for (let r = 1; r < n; r++) {
                  const n = e[r],
                    s = this.xref.fetchIfRef(n);
                  if (Array.isArray(s)) {
                    const e = [];
                    a.push(e);
                    this._parseVisibilityExpression(s, t, e);
                  } else n instanceof i.Ref && a.push(n.toString());
                }
              } else (0, r.warn)('Invalid visibility expression');
            }
            async parseMarkedContentProps(e, t) {
              let a;
              if (e instanceof i.Name) {
                a = t.get('Properties').get(e.name);
              } else {
                if (!(e instanceof i.Dict)) throw new r.FormatError('Optional content properties malformed.');
                a = e;
              }
              const n = a.get('Type').name;
              if ('OCG' === n) return { type: n, id: a.objId };
              if ('OCMD' === n) {
                const e = a.get('VE');
                if (Array.isArray(e)) {
                  const t = [];
                  this._parseVisibilityExpression(e, 0, t);
                  if (t.length > 0) return { type: 'OCMD', expression: t };
                }
                const t = a.get('OCGs');
                if (Array.isArray(t) || t instanceof i.Dict) {
                  const e = [];
                  if (Array.isArray(t)) for (const a of t) e.push(a.toString());
                  else e.push(t.objId);
                  return {
                    type: n,
                    ids: e,
                    policy: a.get('P') instanceof i.Name ? a.get('P').name : null,
                    expression: null,
                  };
                }
                if (t instanceof i.Ref) return { type: n, id: t.toString() };
              }
              return null;
            }
            getOperatorList({
              stream: e,
              task: t,
              resources: a,
              operatorList: n,
              initialState: s = null,
              fallbackFontDict: o = null,
            }) {
              a = a || i.Dict.empty;
              s = s || new EvalState();
              if (!n) throw new Error('getOperatorList: missing "operatorList" parameter');
              const c = this,
                l = this.xref;
              let h = !1;
              const u = new g.LocalImageCache(),
                d = new g.LocalColorSpaceCache(),
                f = new g.LocalGStateCache(),
                p = new g.LocalTilingPatternCache(),
                b = new Map(),
                w = a.get('XObject') || i.Dict.empty,
                S = a.get('Pattern') || i.Dict.empty,
                x = new StateManager(s),
                C = new EvaluatorPreprocessor(e, l, x),
                k = new TimeSlotManager();
              function closePendingRestoreOPS(e) {
                for (let e = 0, t = C.savedStatesDepth; e < t; e++) n.addOp(r.OPS.restore, []);
              }
              return new Promise(function promiseBody(e, s) {
                const next = function (t) {
                  Promise.all([t, n.ready]).then(function () {
                    try {
                      promiseBody(e, s);
                    } catch (e) {
                      s(e);
                    }
                  }, s);
                };
                t.ensureNotTerminated();
                k.reset();
                const g = {};
                let v, F, O, T, M, E;
                for (; !(v = k.check()); ) {
                  g.args = null;
                  if (!C.read(g)) break;
                  let e = g.args,
                    s = g.fn;
                  switch (0 | s) {
                    case r.OPS.paintXObject:
                      E = e[0] instanceof i.Name;
                      M = e[0].name;
                      if (E) {
                        const t = u.getByName(M);
                        if (t) {
                          n.addImageOps(t.fn, t.args, t.optionalContent);
                          incrementCachedImageMaskCount(t);
                          e = null;
                          continue;
                        }
                      }
                      next(
                        new Promise(function (e, s) {
                          if (!E) throw new r.FormatError('XObject must be referred to by name.');
                          let o = w.getRaw(M);
                          if (o instanceof i.Ref) {
                            const t = u.getByRef(o);
                            if (t) {
                              n.addImageOps(t.fn, t.args, t.optionalContent);
                              incrementCachedImageMaskCount(t);
                              e();
                              return;
                            }
                            const a = c.globalImageCache.getData(o, c.pageIndex);
                            if (a) {
                              n.addDependency(a.objId);
                              n.addImageOps(a.fn, a.args, a.optionalContent);
                              e();
                              return;
                            }
                            o = l.fetch(o);
                          }
                          if (!(o instanceof m.BaseStream)) throw new r.FormatError('XObject should be a stream');
                          const h = o.dict.get('Subtype');
                          if (!(h instanceof i.Name)) throw new r.FormatError('XObject should have a Name subtype');
                          if ('Form' !== h.name)
                            if ('Image' !== h.name) {
                              if ('PS' !== h.name) throw new r.FormatError(`Unhandled XObject subtype ${h.name}`);
                              (0, r.info)('Ignored XObject subtype PS');
                              e();
                            } else
                              c.buildPaintImageXObject({
                                resources: a,
                                image: o,
                                operatorList: n,
                                cacheKey: M,
                                localImageCache: u,
                                localColorSpaceCache: d,
                              }).then(e, s);
                          else {
                            x.save();
                            c.buildFormXObject(a, o, null, n, t, x.state.clone(), d).then(function () {
                              x.restore();
                              e();
                            }, s);
                          }
                        }).catch(function (e) {
                          if (!(e instanceof r.AbortException)) {
                            if (!c.options.ignoreErrors) throw e;
                            c.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorXObject });
                            (0, r.warn)(`getOperatorList - ignoring XObject: "${e}".`);
                          }
                        })
                      );
                      return;
                    case r.OPS.setFont:
                      var D = e[1];
                      next(
                        c.handleSetFont(a, e, null, n, t, x.state, o).then(function (e) {
                          n.addDependency(e);
                          n.addOp(r.OPS.setFont, [e, D]);
                        })
                      );
                      return;
                    case r.OPS.beginText:
                      h = !0;
                      break;
                    case r.OPS.endText:
                      h = !1;
                      break;
                    case r.OPS.endInlineImage:
                      var N = e[0].cacheKey;
                      if (N) {
                        const t = u.getByName(N);
                        if (t) {
                          n.addImageOps(t.fn, t.args, t.optionalContent);
                          incrementCachedImageMaskCount(t);
                          e = null;
                          continue;
                        }
                      }
                      next(
                        c.buildPaintImageXObject({
                          resources: a,
                          image: e[0],
                          isInline: !0,
                          operatorList: n,
                          cacheKey: N,
                          localImageCache: u,
                          localColorSpaceCache: d,
                        })
                      );
                      return;
                    case r.OPS.showText:
                      if (!x.state.font) {
                        c.ensureStateFont(x.state);
                        continue;
                      }
                      e[0] = c.handleText(e[0], x.state);
                      break;
                    case r.OPS.showSpacedText:
                      if (!x.state.font) {
                        c.ensureStateFont(x.state);
                        continue;
                      }
                      var L = [],
                        j = x.state;
                      for (const t of e[0])
                        'string' == typeof t ? L.push(...c.handleText(t, j)) : 'number' == typeof t && L.push(t);
                      e[0] = L;
                      s = r.OPS.showText;
                      break;
                    case r.OPS.nextLineShowText:
                      if (!x.state.font) {
                        c.ensureStateFont(x.state);
                        continue;
                      }
                      n.addOp(r.OPS.nextLine);
                      e[0] = c.handleText(e[0], x.state);
                      s = r.OPS.showText;
                      break;
                    case r.OPS.nextLineSetSpacingShowText:
                      if (!x.state.font) {
                        c.ensureStateFont(x.state);
                        continue;
                      }
                      n.addOp(r.OPS.nextLine);
                      n.addOp(r.OPS.setWordSpacing, [e.shift()]);
                      n.addOp(r.OPS.setCharSpacing, [e.shift()]);
                      e[0] = c.handleText(e[0], x.state);
                      s = r.OPS.showText;
                      break;
                    case r.OPS.setTextRenderingMode:
                      x.state.textRenderingMode = e[0];
                      break;
                    case r.OPS.setFillColorSpace: {
                      const t = y.ColorSpace.getCached(e[0], l, d);
                      if (t) {
                        x.state.fillColorSpace = t;
                        continue;
                      }
                      next(
                        c.parseColorSpace({ cs: e[0], resources: a, localColorSpaceCache: d }).then(function (e) {
                          e && (x.state.fillColorSpace = e);
                        })
                      );
                      return;
                    }
                    case r.OPS.setStrokeColorSpace: {
                      const t = y.ColorSpace.getCached(e[0], l, d);
                      if (t) {
                        x.state.strokeColorSpace = t;
                        continue;
                      }
                      next(
                        c.parseColorSpace({ cs: e[0], resources: a, localColorSpaceCache: d }).then(function (e) {
                          e && (x.state.strokeColorSpace = e);
                        })
                      );
                      return;
                    }
                    case r.OPS.setFillColor:
                      T = x.state.fillColorSpace;
                      e = T.getRgb(e, 0);
                      s = r.OPS.setFillRGBColor;
                      break;
                    case r.OPS.setStrokeColor:
                      T = x.state.strokeColorSpace;
                      e = T.getRgb(e, 0);
                      s = r.OPS.setStrokeRGBColor;
                      break;
                    case r.OPS.setFillGray:
                      x.state.fillColorSpace = y.ColorSpace.singletons.gray;
                      e = y.ColorSpace.singletons.gray.getRgb(e, 0);
                      s = r.OPS.setFillRGBColor;
                      break;
                    case r.OPS.setStrokeGray:
                      x.state.strokeColorSpace = y.ColorSpace.singletons.gray;
                      e = y.ColorSpace.singletons.gray.getRgb(e, 0);
                      s = r.OPS.setStrokeRGBColor;
                      break;
                    case r.OPS.setFillCMYKColor:
                      x.state.fillColorSpace = y.ColorSpace.singletons.cmyk;
                      e = y.ColorSpace.singletons.cmyk.getRgb(e, 0);
                      s = r.OPS.setFillRGBColor;
                      break;
                    case r.OPS.setStrokeCMYKColor:
                      x.state.strokeColorSpace = y.ColorSpace.singletons.cmyk;
                      e = y.ColorSpace.singletons.cmyk.getRgb(e, 0);
                      s = r.OPS.setStrokeRGBColor;
                      break;
                    case r.OPS.setFillRGBColor:
                      x.state.fillColorSpace = y.ColorSpace.singletons.rgb;
                      e = y.ColorSpace.singletons.rgb.getRgb(e, 0);
                      break;
                    case r.OPS.setStrokeRGBColor:
                      x.state.strokeColorSpace = y.ColorSpace.singletons.rgb;
                      e = y.ColorSpace.singletons.rgb.getRgb(e, 0);
                      break;
                    case r.OPS.setFillColorN:
                      T = x.state.fillColorSpace;
                      if ('Pattern' === T.name) {
                        next(c.handleColorN(n, r.OPS.setFillColorN, e, T, S, a, t, d, p, b));
                        return;
                      }
                      e = T.getRgb(e, 0);
                      s = r.OPS.setFillRGBColor;
                      break;
                    case r.OPS.setStrokeColorN:
                      T = x.state.strokeColorSpace;
                      if ('Pattern' === T.name) {
                        next(c.handleColorN(n, r.OPS.setStrokeColorN, e, T, S, a, t, d, p, b));
                        return;
                      }
                      e = T.getRgb(e, 0);
                      s = r.OPS.setStrokeRGBColor;
                      break;
                    case r.OPS.shadingFill:
                      var $ = a.get('Shading');
                      if (!$) throw new r.FormatError('No shading resource found');
                      var _ = $.get(e[0].name);
                      if (!_) throw new r.FormatError('No shading object found');
                      e = [
                        c.parseShading({
                          shading: _,
                          resources: a,
                          localColorSpaceCache: d,
                          localShadingPatternCache: b,
                        }),
                      ];
                      s = r.OPS.shadingFill;
                      break;
                    case r.OPS.setGState:
                      E = e[0] instanceof i.Name;
                      M = e[0].name;
                      if (E) {
                        const t = f.getByName(M);
                        if (t) {
                          t.length > 0 && n.addOp(r.OPS.setGState, [t]);
                          e = null;
                          continue;
                        }
                      }
                      next(
                        new Promise(function (e, s) {
                          if (!E) throw new r.FormatError('GState must be referred to by name.');
                          const o = a.get('ExtGState');
                          if (!(o instanceof i.Dict)) throw new r.FormatError('ExtGState should be a dictionary.');
                          const l = o.get(M);
                          if (!(l instanceof i.Dict)) throw new r.FormatError('GState should be a dictionary.');
                          c.setGState({
                            resources: a,
                            gState: l,
                            operatorList: n,
                            cacheKey: M,
                            task: t,
                            stateManager: x,
                            localGStateCache: f,
                            localColorSpaceCache: d,
                          }).then(e, s);
                        }).catch(function (e) {
                          if (!(e instanceof r.AbortException)) {
                            if (!c.options.ignoreErrors) throw e;
                            c.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorExtGState });
                            (0, r.warn)(`getOperatorList - ignoring ExtGState: "${e}".`);
                          }
                        })
                      );
                      return;
                    case r.OPS.moveTo:
                    case r.OPS.lineTo:
                    case r.OPS.curveTo:
                    case r.OPS.curveTo2:
                    case r.OPS.curveTo3:
                    case r.OPS.closePath:
                    case r.OPS.rectangle:
                      c.buildPath(n, s, e, h);
                      continue;
                    case r.OPS.markPoint:
                    case r.OPS.markPointProps:
                    case r.OPS.beginCompat:
                    case r.OPS.endCompat:
                      continue;
                    case r.OPS.beginMarkedContentProps:
                      if (!(e[0] instanceof i.Name)) {
                        (0, r.warn)(`Expected name for beginMarkedContentProps arg0=${e[0]}`);
                        continue;
                      }
                      if ('OC' === e[0].name) {
                        next(
                          c
                            .parseMarkedContentProps(e[1], a)
                            .then((e) => {
                              n.addOp(r.OPS.beginMarkedContentProps, ['OC', e]);
                            })
                            .catch((e) => {
                              if (!(e instanceof r.AbortException)) {
                                if (!c.options.ignoreErrors) throw e;
                                c.handler.send('UnsupportedFeature', {
                                  featureId: r.UNSUPPORTED_FEATURES.errorMarkedContent,
                                });
                                (0, r.warn)(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`);
                              }
                            })
                        );
                        return;
                      }
                      e = [e[0].name, e[1] instanceof i.Dict ? e[1].get('MCID') : null];
                      break;
                    case r.OPS.beginMarkedContent:
                    case r.OPS.endMarkedContent:
                    default:
                      if (null !== e) {
                        for (F = 0, O = e.length; F < O && !(e[F] instanceof i.Dict); F++);
                        if (F < O) {
                          (0, r.warn)('getOperatorList - ignoring operator: ' + s);
                          continue;
                        }
                      }
                  }
                  n.addOp(s, e);
                }
                if (v) next(R);
                else {
                  closePendingRestoreOPS();
                  e();
                }
              }).catch((e) => {
                if (!(e instanceof r.AbortException)) {
                  if (!this.options.ignoreErrors) throw e;
                  this.handler.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorOperatorList });
                  (0, r.warn)(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);
                  closePendingRestoreOPS();
                }
              });
            }
            getTextContent({
              stream: e,
              task: t,
              resources: a,
              stateManager: n = null,
              combineTextItems: s = !1,
              includeMarkedContent: o = !1,
              sink: c,
              seenStyles: l = new Set(),
              viewBox: h,
              markedContentData: u = null,
            }) {
              a = a || i.Dict.empty;
              n = n || new StateManager(new TextState());
              o && (u = u || { level: 0 });
              const d = { items: [], styles: Object.create(null) },
                f = {
                  initialized: !1,
                  str: [],
                  totalWidth: 0,
                  totalHeight: 0,
                  width: 0,
                  height: 0,
                  vertical: !1,
                  prevTransform: null,
                  textAdvanceScale: 0,
                  spaceInFlowMin: 0,
                  spaceInFlowMax: 0,
                  trackingSpaceMin: 1 / 0,
                  negativeSpaceMax: -1 / 0,
                  notASpace: -1 / 0,
                  transform: null,
                  fontName: null,
                  hasEOL: !1,
                },
                p = [' ', ' '];
              let y = 0;
              function saveLastChar(e) {
                const t = (y + 1) % 2,
                  a = ' ' !== p[y] && ' ' === p[t];
                p[y] = e;
                y = t;
                return a;
              }
              function resetLastChars() {
                p[0] = p[1] = ' ';
                y = 0;
              }
              const w = 0.1,
                S = 0.03,
                x = -0.2,
                C = 0.1,
                k = 0.6,
                v = this,
                F = this.xref,
                O = [];
              let T = null;
              const M = new g.LocalImageCache(),
                E = new g.LocalGStateCache(),
                D = new EvaluatorPreprocessor(e, F, n);
              let L;
              function getCurrentTextTransform() {
                const e = L.font,
                  t = [L.fontSize * L.textHScale, 0, 0, L.fontSize, 0, L.textRise];
                if (
                  e.isType3Font &&
                  (L.fontSize <= 1 || e.isCharBBox) &&
                  !(0, r.isArrayEqual)(L.fontMatrix, r.FONT_IDENTITY_MATRIX)
                ) {
                  const a = e.bbox[3] - e.bbox[1];
                  a > 0 && (t[3] *= a * L.fontMatrix[3]);
                }
                return r.Util.transform(L.ctm, r.Util.transform(L.textMatrix, t));
              }
              function ensureTextContentItem() {
                if (f.initialized) return f;
                const { font: e, loadedName: t } = L;
                if (!l.has(t)) {
                  l.add(t);
                  d.styles[t] = {
                    fontFamily: e.fallbackName,
                    ascent: e.ascent,
                    descent: e.descent,
                    vertical: e.vertical,
                  };
                }
                f.fontName = t;
                const a = (f.transform = getCurrentTextTransform());
                if (e.vertical) {
                  f.width = f.totalWidth = Math.hypot(a[0], a[1]);
                  f.height = f.totalHeight = 0;
                  f.vertical = !0;
                } else {
                  f.width = f.totalWidth = 0;
                  f.height = f.totalHeight = Math.hypot(a[2], a[3]);
                  f.vertical = !1;
                }
                const r = Math.hypot(L.textLineMatrix[0], L.textLineMatrix[1]),
                  n = Math.hypot(L.ctm[0], L.ctm[1]);
                f.textAdvanceScale = n * r;
                f.trackingSpaceMin = L.fontSize * w;
                f.notASpace = L.fontSize * S;
                f.negativeSpaceMax = L.fontSize * x;
                f.spaceInFlowMin = L.fontSize * C;
                f.spaceInFlowMax = L.fontSize * k;
                f.hasEOL = !1;
                f.initialized = !0;
                return f;
              }
              function updateAdvanceScale() {
                if (!f.initialized) return;
                const e = Math.hypot(L.textLineMatrix[0], L.textLineMatrix[1]),
                  t = Math.hypot(L.ctm[0], L.ctm[1]) * e;
                if (t !== f.textAdvanceScale) {
                  if (f.vertical) {
                    f.totalHeight += f.height * f.textAdvanceScale;
                    f.height = 0;
                  } else {
                    f.totalWidth += f.width * f.textAdvanceScale;
                    f.width = 0;
                  }
                  f.textAdvanceScale = t;
                }
              }
              function handleSetFont(e, n) {
                return v
                  .loadFont(e, n, a)
                  .then(function (e) {
                    return e.font.isType3Font
                      ? e
                          .loadType3Data(v, a, t)
                          .catch(function () {})
                          .then(function () {
                            return e;
                          })
                      : e;
                  })
                  .then(function (e) {
                    L.loadedName = e.loadedName;
                    L.font = e.font;
                    L.fontMatrix = e.font.fontMatrix || r.FONT_IDENTITY_MATRIX;
                  });
              }
              function applyInverseRotation(e, t, a) {
                const r = Math.hypot(a[0], a[1]);
                return [(a[0] * e + a[1] * t) / r, (a[2] * e + a[3] * t) / r];
              }
              function compareWithLastPosition() {
                const e = getCurrentTextTransform();
                let t = e[4],
                  a = e[5];
                const r = t - h[0],
                  n = a - h[1];
                if (r < 0 || r > h[2] || n < 0 || n > h[3]) return !1;
                if (!s || !L.font || !f.prevTransform) return !0;
                let i = f.prevTransform[4],
                  o = f.prevTransform[5];
                if (i === t && o === a) return !0;
                let c = -1;
                e[0] && 0 === e[1] && 0 === e[2]
                  ? (c = e[0] > 0 ? 0 : 180)
                  : e[1] && 0 === e[0] && 0 === e[3] && (c = e[1] > 0 ? 90 : 270);
                switch (c) {
                  case 0:
                    break;
                  case 90:
                    [t, a] = [a, t];
                    [i, o] = [o, i];
                    break;
                  case 180:
                    [t, a, i, o] = [-t, -a, -i, -o];
                    break;
                  case 270:
                    [t, a] = [-a, -t];
                    [i, o] = [-o, -i];
                    break;
                  default:
                    [t, a] = applyInverseRotation(t, a, e);
                    [i, o] = applyInverseRotation(i, o, f.prevTransform);
                }
                if (L.font.vertical) {
                  const e = (o - a) / f.textAdvanceScale,
                    r = t - i,
                    n = Math.sign(f.height);
                  if (e < n * f.negativeSpaceMax) {
                    if (Math.abs(r) > 0.5 * f.width) {
                      appendEOL();
                      return !0;
                    }
                    resetLastChars();
                    flushTextContentItem();
                    return !0;
                  }
                  if (Math.abs(r) > f.width) {
                    appendEOL();
                    return !0;
                  }
                  e <= n * f.notASpace && resetLastChars();
                  if (e <= n * f.trackingSpaceMin) f.height += e;
                  else if (!addFakeSpaces(e, f.prevTransform, n))
                    if (0 === f.str.length) {
                      resetLastChars();
                      d.items.push({
                        str: ' ',
                        dir: 'ltr',
                        width: 0,
                        height: Math.abs(e),
                        transform: f.prevTransform,
                        fontName: f.fontName,
                        hasEOL: !1,
                      });
                    } else f.height += e;
                  return !0;
                }
                const l = (t - i) / f.textAdvanceScale,
                  u = a - o,
                  g = Math.sign(f.width);
                if (l < g * f.negativeSpaceMax) {
                  if (Math.abs(u) > 0.5 * f.height) {
                    appendEOL();
                    return !0;
                  }
                  resetLastChars();
                  flushTextContentItem();
                  return !0;
                }
                if (Math.abs(u) > f.height) {
                  appendEOL();
                  return !0;
                }
                l <= g * f.notASpace && resetLastChars();
                if (l <= g * f.trackingSpaceMin) f.width += l;
                else if (!addFakeSpaces(l, f.prevTransform, g))
                  if (0 === f.str.length) {
                    resetLastChars();
                    d.items.push({
                      str: ' ',
                      dir: 'ltr',
                      width: Math.abs(l),
                      height: 0,
                      transform: f.prevTransform,
                      fontName: f.fontName,
                      hasEOL: !1,
                    });
                  } else f.width += l;
                return !0;
              }
              function buildTextContentItem({ chars: e, extraSpacing: t }) {
                const a = L.font;
                if (!e) {
                  const e = L.charSpacing + t;
                  e && (a.vertical ? L.translateTextMatrix(0, -e) : L.translateTextMatrix(e * L.textHScale, 0));
                  return;
                }
                const r = a.charsToGlyphs(e),
                  n = L.fontMatrix[0] * L.fontSize;
                for (let e = 0, i = r.length; e < i; e++) {
                  const s = r[e],
                    { category: o } = s;
                  if (o.isInvisibleFormatMark) continue;
                  let c = L.charSpacing + (e + 1 === i ? t : 0),
                    l = s.width;
                  a.vertical && (l = s.vmetric ? s.vmetric[0] : -l);
                  let h = l * n;
                  if (o.isWhitespace) {
                    if (a.vertical) {
                      c += -h + L.wordSpacing;
                      L.translateTextMatrix(0, -c);
                    } else {
                      c += h + L.wordSpacing;
                      L.translateTextMatrix(c * L.textHScale, 0);
                    }
                    saveLastChar(' ');
                    continue;
                  }
                  if (!o.isZeroWidthDiacritic && !compareWithLastPosition()) continue;
                  const u = ensureTextContentItem();
                  o.isZeroWidthDiacritic && (h = 0);
                  if (a.vertical) {
                    L.translateTextMatrix(0, h);
                    h = Math.abs(h);
                    u.height += h;
                  } else {
                    h *= L.textHScale;
                    L.translateTextMatrix(h, 0);
                    u.width += h;
                  }
                  h && (u.prevTransform = getCurrentTextTransform());
                  const d = s.normalizedUnicode;
                  saveLastChar(d) && u.str.push(' ');
                  u.str.push(d);
                  c && (a.vertical ? L.translateTextMatrix(0, -c) : L.translateTextMatrix(c * L.textHScale, 0));
                }
              }
              function appendEOL() {
                resetLastChars();
                if (f.initialized) {
                  f.hasEOL = !0;
                  flushTextContentItem();
                } else
                  d.items.push({
                    str: '',
                    dir: 'ltr',
                    width: 0,
                    height: 0,
                    transform: getCurrentTextTransform(),
                    fontName: L.loadedName,
                    hasEOL: !0,
                  });
              }
              function addFakeSpaces(e, t, a) {
                if (a * f.spaceInFlowMin <= e && e <= a * f.spaceInFlowMax) {
                  if (f.initialized) {
                    resetLastChars();
                    f.str.push(' ');
                  }
                  return !1;
                }
                const r = f.fontName;
                let n = 0;
                if (f.vertical) {
                  n = e;
                  e = 0;
                }
                flushTextContentItem();
                resetLastChars();
                d.items.push({
                  str: ' ',
                  dir: 'ltr',
                  width: Math.abs(e),
                  height: Math.abs(n),
                  transform: t || getCurrentTextTransform(),
                  fontName: r,
                  hasEOL: !1,
                });
                return !0;
              }
              function flushTextContentItem() {
                if (f.initialized && f.str) {
                  f.vertical
                    ? (f.totalHeight += f.height * f.textAdvanceScale)
                    : (f.totalWidth += f.width * f.textAdvanceScale);
                  d.items.push(
                    (function runBidiTransform(e) {
                      const t = e.str.join(''),
                        a = (0, b.bidi)(t, -1, e.vertical);
                      return {
                        str: a.str,
                        dir: a.dir,
                        width: Math.abs(e.totalWidth),
                        height: Math.abs(e.totalHeight),
                        transform: e.transform,
                        fontName: e.fontName,
                        hasEOL: e.hasEOL,
                      };
                    })(f)
                  );
                  f.initialized = !1;
                  f.str.length = 0;
                }
              }
              function enqueueChunk(e = !1) {
                const t = d.items.length;
                if (0 !== t && !(e && t < N)) {
                  c.enqueue(d, t);
                  d.items = [];
                  d.styles = Object.create(null);
                }
              }
              const j = new TimeSlotManager();
              return new Promise(function promiseBody(e, f) {
                const next = function (t) {
                  enqueueChunk(!0);
                  Promise.all([t, c.ready]).then(function () {
                    try {
                      promiseBody(e, f);
                    } catch (e) {
                      f(e);
                    }
                  }, f);
                };
                t.ensureNotTerminated();
                j.reset();
                const g = {};
                let p,
                  b = [];
                for (; !(p = j.check()); ) {
                  b.length = 0;
                  g.args = b;
                  if (!D.read(g)) break;
                  L = n.state;
                  const e = g.fn;
                  b = g.args;
                  switch (0 | e) {
                    case r.OPS.setFont:
                      var y = b[0].name,
                        w = b[1];
                      if (L.font && y === L.fontName && w === L.fontSize) break;
                      flushTextContentItem();
                      L.fontName = y;
                      L.fontSize = w;
                      next(handleSetFont(y, null));
                      return;
                    case r.OPS.setTextRise:
                      L.textRise = b[0];
                      break;
                    case r.OPS.setHScale:
                      L.textHScale = b[0] / 100;
                      break;
                    case r.OPS.setLeading:
                      L.leading = b[0];
                      break;
                    case r.OPS.moveText:
                      L.translateTextLineMatrix(b[0], b[1]);
                      L.textMatrix = L.textLineMatrix.slice();
                      break;
                    case r.OPS.setLeadingMoveText:
                      L.leading = -b[1];
                      L.translateTextLineMatrix(b[0], b[1]);
                      L.textMatrix = L.textLineMatrix.slice();
                      break;
                    case r.OPS.nextLine:
                      L.carriageReturn();
                      break;
                    case r.OPS.setTextMatrix:
                      L.setTextMatrix(b[0], b[1], b[2], b[3], b[4], b[5]);
                      L.setTextLineMatrix(b[0], b[1], b[2], b[3], b[4], b[5]);
                      updateAdvanceScale();
                      break;
                    case r.OPS.setCharSpacing:
                      L.charSpacing = b[0];
                      break;
                    case r.OPS.setWordSpacing:
                      L.wordSpacing = b[0];
                      break;
                    case r.OPS.beginText:
                      L.textMatrix = r.IDENTITY_MATRIX.slice();
                      L.textLineMatrix = r.IDENTITY_MATRIX.slice();
                      break;
                    case r.OPS.showSpacedText:
                      if (!n.state.font) {
                        v.ensureStateFont(n.state);
                        continue;
                      }
                      const e = ((L.font.vertical ? 1 : -1) * L.fontSize) / 1e3,
                        f = b[0];
                      for (let t = 0, a = f.length; t < a - 1; t++) {
                        const a = f[t];
                        if ('string' == typeof a) O.push(a);
                        else if ('number' == typeof a && 0 !== a) {
                          const t = O.join('');
                          O.length = 0;
                          buildTextContentItem({ chars: t, extraSpacing: a * e });
                        }
                      }
                      const g = f.at(-1);
                      'string' == typeof g && O.push(g);
                      if (O.length > 0) {
                        const e = O.join('');
                        O.length = 0;
                        buildTextContentItem({ chars: e, extraSpacing: 0 });
                      }
                      break;
                    case r.OPS.showText:
                      if (!n.state.font) {
                        v.ensureStateFont(n.state);
                        continue;
                      }
                      buildTextContentItem({ chars: b[0], extraSpacing: 0 });
                      break;
                    case r.OPS.nextLineShowText:
                      if (!n.state.font) {
                        v.ensureStateFont(n.state);
                        continue;
                      }
                      L.carriageReturn();
                      buildTextContentItem({ chars: b[0], extraSpacing: 0 });
                      break;
                    case r.OPS.nextLineSetSpacingShowText:
                      if (!n.state.font) {
                        v.ensureStateFont(n.state);
                        continue;
                      }
                      L.wordSpacing = b[0];
                      L.charSpacing = b[1];
                      L.carriageReturn();
                      buildTextContentItem({ chars: b[2], extraSpacing: 0 });
                      break;
                    case r.OPS.paintXObject:
                      flushTextContentItem();
                      T || (T = a.get('XObject') || i.Dict.empty);
                      var S = b[0] instanceof i.Name,
                        x = b[0].name;
                      if (S && M.getByName(x)) break;
                      next(
                        new Promise(function (e, d) {
                          if (!S) throw new r.FormatError('XObject must be referred to by name.');
                          let f = T.getRaw(x);
                          if (f instanceof i.Ref) {
                            if (M.getByRef(f)) {
                              e();
                              return;
                            }
                            if (v.globalImageCache.getData(f, v.pageIndex)) {
                              e();
                              return;
                            }
                            f = F.fetch(f);
                          }
                          if (!(f instanceof m.BaseStream)) throw new r.FormatError('XObject should be a stream');
                          const g = f.dict.get('Subtype');
                          if (!(g instanceof i.Name)) throw new r.FormatError('XObject should have a Name subtype');
                          if ('Form' !== g.name) {
                            M.set(x, f.dict.objId, !0);
                            e();
                            return;
                          }
                          const p = n.state.clone(),
                            b = new StateManager(p),
                            y = f.dict.getArray('Matrix');
                          Array.isArray(y) && 6 === y.length && b.transform(y);
                          enqueueChunk();
                          const w = {
                            enqueueInvoked: !1,
                            enqueue(e, t) {
                              this.enqueueInvoked = !0;
                              c.enqueue(e, t);
                            },
                            get desiredSize() {
                              return c.desiredSize;
                            },
                            get ready() {
                              return c.ready;
                            },
                          };
                          v.getTextContent({
                            stream: f,
                            task: t,
                            resources: f.dict.get('Resources') || a,
                            stateManager: b,
                            combineTextItems: s,
                            includeMarkedContent: o,
                            sink: w,
                            seenStyles: l,
                            viewBox: h,
                            markedContentData: u,
                          }).then(function () {
                            w.enqueueInvoked || M.set(x, f.dict.objId, !0);
                            e();
                          }, d);
                        }).catch(function (e) {
                          if (!(e instanceof r.AbortException)) {
                            if (!v.options.ignoreErrors) throw e;
                            (0, r.warn)(`getTextContent - ignoring XObject: "${e}".`);
                          }
                        })
                      );
                      return;
                    case r.OPS.setGState:
                      S = b[0] instanceof i.Name;
                      x = b[0].name;
                      if (S && E.getByName(x)) break;
                      next(
                        new Promise(function (e, t) {
                          if (!S) throw new r.FormatError('GState must be referred to by name.');
                          const n = a.get('ExtGState');
                          if (!(n instanceof i.Dict)) throw new r.FormatError('ExtGState should be a dictionary.');
                          const s = n.get(x);
                          if (!(s instanceof i.Dict)) throw new r.FormatError('GState should be a dictionary.');
                          const o = s.get('Font');
                          if (o) {
                            flushTextContentItem();
                            L.fontName = null;
                            L.fontSize = o[1];
                            handleSetFont(null, o[0]).then(e, t);
                          } else {
                            E.set(x, s.objId, !0);
                            e();
                          }
                        }).catch(function (e) {
                          if (!(e instanceof r.AbortException)) {
                            if (!v.options.ignoreErrors) throw e;
                            (0, r.warn)(`getTextContent - ignoring ExtGState: "${e}".`);
                          }
                        })
                      );
                      return;
                    case r.OPS.beginMarkedContent:
                      flushTextContentItem();
                      if (o) {
                        u.level++;
                        d.items.push({ type: 'beginMarkedContent', tag: b[0] instanceof i.Name ? b[0].name : null });
                      }
                      break;
                    case r.OPS.beginMarkedContentProps:
                      flushTextContentItem();
                      if (o) {
                        u.level++;
                        let e = null;
                        b[1] instanceof i.Dict && (e = b[1].get('MCID'));
                        d.items.push({
                          type: 'beginMarkedContentProps',
                          id: Number.isInteger(e) ? `${v.idFactory.getPageObjId()}_mcid${e}` : null,
                          tag: b[0] instanceof i.Name ? b[0].name : null,
                        });
                      }
                      break;
                    case r.OPS.endMarkedContent:
                      flushTextContentItem();
                      if (o) {
                        if (0 === u.level) break;
                        u.level--;
                        d.items.push({ type: 'endMarkedContent' });
                      }
                  }
                  if (d.items.length >= c.desiredSize) {
                    p = !0;
                    break;
                  }
                }
                if (p) next(R);
                else {
                  flushTextContentItem();
                  enqueueChunk();
                  e();
                }
              }).catch((e) => {
                if (!(e instanceof r.AbortException)) {
                  if (!this.options.ignoreErrors) throw e;
                  (0, r.warn)(`getTextContent - ignoring errors during "${t.name}" task: "${e}".`);
                  flushTextContentItem();
                  enqueueChunk();
                }
              });
            }
            extractDataStructures(e, t, a) {
              const n = this.xref;
              let s;
              const c = this.readToUnicode(a.toUnicode || e.get('ToUnicode') || t.get('ToUnicode'));
              if (a.composite) {
                const t = e.get('CIDSystemInfo');
                t instanceof i.Dict &&
                  (a.cidSystemInfo = {
                    registry: (0, r.stringToPDFString)(t.get('Registry')),
                    ordering: (0, r.stringToPDFString)(t.get('Ordering')),
                    supplement: t.get('Supplement'),
                  });
                try {
                  const t = e.get('CIDToGIDMap');
                  t instanceof m.BaseStream && (s = t.getBytes());
                } catch (e) {
                  if (!this.options.ignoreErrors) throw e;
                  (0, r.warn)(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`);
                }
              }
              const l = [];
              let h,
                u = null;
              if (e.has('Encoding')) {
                h = e.get('Encoding');
                if (h instanceof i.Dict) {
                  u = h.get('BaseEncoding');
                  u = u instanceof i.Name ? u.name : null;
                  if (h.has('Differences')) {
                    const e = h.get('Differences');
                    let t = 0;
                    for (const a of e) {
                      const e = n.fetchIfRef(a);
                      if ('number' == typeof e) t = e;
                      else {
                        if (!(e instanceof i.Name))
                          throw new r.FormatError(`Invalid entry in 'Differences' array: ${e}`);
                        l[t++] = e.name;
                      }
                    }
                  }
                } else if (h instanceof i.Name) u = h.name;
                else {
                  const e = 'Encoding is not a Name nor a Dict';
                  if (!this.options.ignoreErrors) throw new r.FormatError(e);
                  (0, r.warn)(e);
                }
                'MacRomanEncoding' !== u && 'MacExpertEncoding' !== u && 'WinAnsiEncoding' !== u && (u = null);
              }
              if (u) a.defaultEncoding = (0, o.getEncoding)(u);
              else {
                const e = !!(a.flags & S.FontFlags.Symbolic),
                  t = !!(a.flags & S.FontFlags.Nonsymbolic);
                h = o.StandardEncoding;
                'TrueType' !== a.type || t || (h = o.WinAnsiEncoding);
                if (e) {
                  h = o.MacRomanEncoding;
                  (a.file && !a.isInternalFont) ||
                    (/Symbol/i.test(a.name)
                      ? (h = o.SymbolSetEncoding)
                      : /Dingbats|Wingdings/i.test(a.name) && (h = o.ZapfDingbatsEncoding));
                }
                a.defaultEncoding = h;
              }
              a.differences = l;
              a.baseEncodingName = u;
              a.hasEncoding = !!u || l.length > 0;
              a.dict = e;
              return c
                .then((e) => {
                  a.toUnicode = e;
                  return this.buildToUnicode(a);
                })
                .then((e) => {
                  a.toUnicode = e;
                  s && (a.cidToGidMap = this.readCidToGidMap(s, e));
                  return a;
                });
            }
            _simpleFontToUnicode(e, t = !1) {
              (0, r.assert)(!e.composite, 'Must be a simple font.');
              const a = [],
                n = e.defaultEncoding.slice(),
                i = e.baseEncodingName,
                s = e.differences;
              for (const e in s) {
                const t = s[e];
                '.notdef' !== t && (n[e] = t);
              }
              const c = (0, x.getGlyphsUnicode)();
              for (const r in n) {
                let s = n[r];
                if ('' === s) continue;
                let l = c[s];
                if (void 0 !== l) {
                  a[r] = String.fromCharCode(l);
                  continue;
                }
                let h = 0;
                switch (s[0]) {
                  case 'G':
                    3 === s.length && (h = parseInt(s.substring(1), 16));
                    break;
                  case 'g':
                    5 === s.length && (h = parseInt(s.substring(1), 16));
                    break;
                  case 'C':
                  case 'c':
                    if (s.length >= 3 && s.length <= 4) {
                      const a = s.substring(1);
                      if (t) {
                        h = parseInt(a, 16);
                        break;
                      }
                      h = +a;
                      if (Number.isNaN(h) && Number.isInteger(parseInt(a, 16))) return this._simpleFontToUnicode(e, !0);
                    }
                    break;
                  case 'u':
                    l = (0, v.getUnicodeForGlyph)(s, c);
                    -1 !== l && (h = l);
                }
                if (h > 0 && h <= 1114111 && Number.isInteger(h)) {
                  if (i && h === +r) {
                    const e = (0, o.getEncoding)(i);
                    if (e && (s = e[r])) {
                      a[r] = String.fromCharCode(c[s]);
                      continue;
                    }
                  }
                  a[r] = String.fromCodePoint(h);
                }
              }
              return a;
            }
            async buildToUnicode(e) {
              e.hasIncludedToUnicodeMap = !!e.toUnicode && e.toUnicode.length > 0;
              if (e.hasIncludedToUnicodeMap) {
                !e.composite && e.hasEncoding && (e.fallbackToUnicode = this._simpleFontToUnicode(e));
                return e.toUnicode;
              }
              if (!e.composite) return new u.ToUnicodeMap(this._simpleFontToUnicode(e));
              if (
                e.composite &&
                ((e.cMap.builtInCMap && !(e.cMap instanceof n.IdentityCMap)) ||
                  ('Adobe' === e.cidSystemInfo.registry &&
                    ('GB1' === e.cidSystemInfo.ordering ||
                      'CNS1' === e.cidSystemInfo.ordering ||
                      'Japan1' === e.cidSystemInfo.ordering ||
                      'Korea1' === e.cidSystemInfo.ordering)))
              ) {
                const { registry: t, ordering: a } = e.cidSystemInfo,
                  s = i.Name.get(`${t}-${a}-UCS2`),
                  o = await n.CMapFactory.create({
                    encoding: s,
                    fetchBuiltInCMap: this._fetchBuiltInCMapBound,
                    useCMap: null,
                  }),
                  c = [];
                e.cMap.forEach(function (e, t) {
                  if (t > 65535) throw new r.FormatError('Max size of CID is 65,535');
                  const a = o.lookup(t);
                  a && (c[e] = String.fromCharCode((a.charCodeAt(0) << 8) + a.charCodeAt(1)));
                });
                return new u.ToUnicodeMap(c);
              }
              return new u.IdentityToUnicodeMap(e.firstChar, e.lastChar);
            }
            readToUnicode(e) {
              return e
                ? e instanceof i.Name
                  ? n.CMapFactory.create({
                      encoding: e,
                      fetchBuiltInCMap: this._fetchBuiltInCMapBound,
                      useCMap: null,
                    }).then(function (e) {
                      return e instanceof n.IdentityCMap
                        ? new u.IdentityToUnicodeMap(0, 65535)
                        : new u.ToUnicodeMap(e.getMap());
                    })
                  : e instanceof m.BaseStream
                  ? n.CMapFactory.create({
                      encoding: e,
                      fetchBuiltInCMap: this._fetchBuiltInCMapBound,
                      useCMap: null,
                    }).then(
                      function (e) {
                        if (e instanceof n.IdentityCMap) return new u.IdentityToUnicodeMap(0, 65535);
                        const t = new Array(e.length);
                        e.forEach(function (e, a) {
                          if ('number' == typeof a) {
                            t[e] = String.fromCodePoint(a);
                            return;
                          }
                          const r = [];
                          for (let e = 0; e < a.length; e += 2) {
                            const t = (a.charCodeAt(e) << 8) | a.charCodeAt(e + 1);
                            if (55296 != (63488 & t)) {
                              r.push(t);
                              continue;
                            }
                            e += 2;
                            const n = (a.charCodeAt(e) << 8) | a.charCodeAt(e + 1);
                            r.push(((1023 & t) << 10) + (1023 & n) + 65536);
                          }
                          t[e] = String.fromCodePoint(...r);
                        });
                        return new u.ToUnicodeMap(t);
                      },
                      (e) => {
                        if (e instanceof r.AbortException) return null;
                        if (this.options.ignoreErrors) {
                          this.handler.send('UnsupportedFeature', {
                            featureId: r.UNSUPPORTED_FEATURES.errorFontToUnicode,
                          });
                          (0, r.warn)(`readToUnicode - ignoring ToUnicode data: "${e}".`);
                          return null;
                        }
                        throw e;
                      }
                    )
                  : Promise.resolve(null)
                : Promise.resolve(null);
            }
            readCidToGidMap(e, t) {
              const a = [];
              for (let r = 0, n = e.length; r < n; r++) {
                const n = (e[r++] << 8) | e[r],
                  i = r >> 1;
                (0 !== n || t.has(i)) && (a[i] = n);
              }
              return a;
            }
            extractWidths(e, t, a) {
              const r = this.xref;
              let n = [],
                s = 0;
              const o = [];
              let c, l, h, u, d, f, g, p;
              if (a.composite) {
                s = e.has('DW') ? e.get('DW') : 1e3;
                p = e.get('W');
                if (p)
                  for (l = 0, h = p.length; l < h; l++) {
                    f = r.fetchIfRef(p[l++]);
                    g = r.fetchIfRef(p[l]);
                    if (Array.isArray(g)) for (u = 0, d = g.length; u < d; u++) n[f++] = r.fetchIfRef(g[u]);
                    else {
                      const e = r.fetchIfRef(p[++l]);
                      for (u = f; u <= g; u++) n[u] = e;
                    }
                  }
                if (a.vertical) {
                  let t = e.getArray('DW2') || [880, -1e3];
                  c = [t[1], 0.5 * s, t[0]];
                  t = e.get('W2');
                  if (t)
                    for (l = 0, h = t.length; l < h; l++) {
                      f = r.fetchIfRef(t[l++]);
                      g = r.fetchIfRef(t[l]);
                      if (Array.isArray(g))
                        for (u = 0, d = g.length; u < d; u++)
                          o[f++] = [r.fetchIfRef(g[u++]), r.fetchIfRef(g[u++]), r.fetchIfRef(g[u])];
                      else {
                        const e = [r.fetchIfRef(t[++l]), r.fetchIfRef(t[++l]), r.fetchIfRef(t[++l])];
                        for (u = f; u <= g; u++) o[u] = e;
                      }
                    }
                }
              } else {
                const o = a.firstChar;
                p = e.get('Widths');
                if (p) {
                  u = o;
                  for (l = 0, h = p.length; l < h; l++) n[u++] = r.fetchIfRef(p[l]);
                  s = parseFloat(t.get('MissingWidth')) || 0;
                } else {
                  const t = e.get('BaseFont');
                  if (t instanceof i.Name) {
                    const e = this.getBaseFontMetrics(t.name);
                    n = this.buildCharCodeToWidth(e.widths, a);
                    s = e.defaultWidth;
                  }
                }
              }
              let m = !0,
                b = s;
              for (const e in n) {
                const t = n[e];
                if (t)
                  if (b) {
                    if (b !== t) {
                      m = !1;
                      break;
                    }
                  } else b = t;
              }
              m && (a.flags |= S.FontFlags.FixedPitch);
              a.defaultWidth = s;
              a.widths = n;
              a.defaultVMetrics = c;
              a.vmetrics = o;
            }
            isSerifFont(e) {
              const t = e.split('-')[0];
              return t in (0, c.getSerifFonts)() || /serif/gi.test(t);
            }
            getBaseFontMetrics(e) {
              let t = 0,
                a = Object.create(null),
                r = !1;
              let n = (0, c.getStdFontMap)()[e] || e;
              const i = (0, k.getMetrics)();
              n in i || (n = this.isSerifFont(e) ? 'Times-Roman' : 'Helvetica');
              const s = i[n];
              if ('number' == typeof s) {
                t = s;
                r = !0;
              } else a = s();
              return { defaultWidth: t, monospace: r, widths: a };
            }
            buildCharCodeToWidth(e, t) {
              const a = Object.create(null),
                r = t.differences,
                n = t.defaultEncoding;
              for (let t = 0; t < 256; t++)
                t in r && e[r[t]] ? (a[t] = e[r[t]]) : t in n && e[n[t]] && (a[t] = e[n[t]]);
              return a;
            }
            preEvaluateFont(e) {
              const t = e;
              let a = e.get('Subtype');
              if (!(a instanceof i.Name)) throw new r.FormatError('invalid font Subtype');
              let n,
                s,
                o = !1;
              if ('Type0' === a.name) {
                const t = e.get('DescendantFonts');
                if (!t) throw new r.FormatError('Descendant fonts are not specified');
                if (!((e = Array.isArray(t) ? this.xref.fetchIfRef(t[0]) : t) instanceof i.Dict))
                  throw new r.FormatError('Descendant font is not a dictionary.');
                a = e.get('Subtype');
                if (!(a instanceof i.Name)) throw new r.FormatError('invalid font Subtype');
                o = !0;
              }
              const c = e.get('FirstChar') || 0,
                l = e.get('LastChar') || (o ? 65535 : 255),
                h = e.get('FontDescriptor');
              if (h) {
                n = new F.MurmurHash3_64();
                const a = t.getRaw('Encoding');
                if (a instanceof i.Name) n.update(a.name);
                else if (a instanceof i.Ref) n.update(a.toString());
                else if (a instanceof i.Dict)
                  for (const e of a.getRawValues())
                    if (e instanceof i.Name) n.update(e.name);
                    else if (e instanceof i.Ref) n.update(e.toString());
                    else if (Array.isArray(e)) {
                      const t = e.length,
                        a = new Array(t);
                      for (let r = 0; r < t; r++) {
                        const t = e[r];
                        t instanceof i.Name
                          ? (a[r] = t.name)
                          : ('number' == typeof t || t instanceof i.Ref) && (a[r] = t.toString());
                      }
                      n.update(a.join());
                    }
                n.update(`${c}-${l}`);
                s = e.get('ToUnicode') || t.get('ToUnicode');
                if (s instanceof m.BaseStream) {
                  const e = s.str || s,
                    t = e.buffer
                      ? new Uint8Array(e.buffer.buffer, 0, e.bufferLength)
                      : new Uint8Array(e.bytes.buffer, e.start, e.end - e.start);
                  n.update(t);
                } else s instanceof i.Name && n.update(s.name);
                const r = e.get('Widths') || t.get('Widths');
                if (Array.isArray(r)) {
                  const e = [];
                  for (const t of r) ('number' == typeof t || t instanceof i.Ref) && e.push(t.toString());
                  n.update(e.join());
                }
                if (o) {
                  n.update('compositeFont');
                  const a = e.get('W') || t.get('W');
                  if (Array.isArray(a)) {
                    const e = [];
                    for (const t of a)
                      if ('number' == typeof t || t instanceof i.Ref) e.push(t.toString());
                      else if (Array.isArray(t)) {
                        const a = [];
                        for (const e of t) ('number' == typeof e || e instanceof i.Ref) && a.push(e.toString());
                        e.push(`[${a.join()}]`);
                      }
                    n.update(e.join());
                  }
                  const r = e.getRaw('CIDToGIDMap') || t.getRaw('CIDToGIDMap');
                  r instanceof i.Name
                    ? n.update(r.name)
                    : r instanceof i.Ref
                    ? n.update(r.toString())
                    : r instanceof m.BaseStream && n.update(r.peekBytes());
                }
              }
              return {
                descriptor: h,
                dict: e,
                baseDict: t,
                composite: o,
                type: a.name,
                firstChar: c,
                lastChar: l,
                toUnicode: s,
                hash: n ? n.hexdigest() : '',
              };
            }
            async translateFont({
              descriptor: e,
              dict: t,
              baseDict: a,
              composite: o,
              type: l,
              firstChar: u,
              lastChar: d,
              toUnicode: f,
              cssFontInfo: g,
            }) {
              const m = 'Type3' === l;
              let b;
              if (!e) {
                if (!m) {
                  let e = t.get('BaseFont');
                  if (!(e instanceof i.Name)) throw new r.FormatError('Base font is not specified');
                  e = e.name.replace(/[,_]/g, '-');
                  const n = this.getBaseFontMetrics(e),
                    o = e.split('-')[0],
                    h =
                      (this.isSerifFont(o) ? S.FontFlags.Serif : 0) |
                      (n.monospace ? S.FontFlags.FixedPitch : 0) |
                      ((0, c.getSymbolsFonts)()[o] ? S.FontFlags.Symbolic : S.FontFlags.Nonsymbolic);
                  b = {
                    type: l,
                    name: e,
                    loadedName: a.loadedName,
                    widths: n.widths,
                    defaultWidth: n.defaultWidth,
                    isSimulatedFlags: !0,
                    flags: h,
                    firstChar: u,
                    lastChar: d,
                    toUnicode: f,
                    xHeight: 0,
                    capHeight: 0,
                    italicAngle: 0,
                    isType3Font: m,
                  };
                  const g = t.get('Widths'),
                    p = (0, c.getStandardFontName)(e);
                  let y = null;
                  if (p) {
                    b.isStandardFont = !0;
                    y = await this.fetchStandardFontData(p);
                    b.isInternalFont = !!y;
                  }
                  return this.extractDataStructures(t, t, b).then((t) => {
                    if (g) {
                      const e = [];
                      let a = u;
                      for (const t of g) e[a++] = this.xref.fetchIfRef(t);
                      t.widths = e;
                    } else t.widths = this.buildCharCodeToWidth(n.widths, t);
                    return new s.Font(e, y, t);
                  });
                }
                (e = new i.Dict(null)).set('FontName', i.Name.get(l));
                e.set('FontBBox', t.getArray('FontBBox') || [0, 0, 0, 0]);
              }
              let y,
                w,
                x,
                C,
                k,
                v = e.get('FontName'),
                F = t.get('BaseFont');
              'string' == typeof v && (v = i.Name.get(v));
              'string' == typeof F && (F = i.Name.get(F));
              if (!m) {
                const e = v && v.name,
                  t = F && F.name;
                if (e !== t) {
                  (0, r.info)(
                    `The FontDescriptor's FontName is "${e}" but should be the same as the Font's BaseFont "${t}".`
                  );
                  e && t && t.startsWith(e) && (v = F);
                }
              }
              v = v || F;
              if (!(v instanceof i.Name)) throw new r.FormatError('invalid font name');
              try {
                y = e.get('FontFile', 'FontFile2', 'FontFile3');
              } catch (e) {
                if (!this.options.ignoreErrors) throw e;
                (0, r.warn)(`translateFont - fetching "${v.name}" font file: "${e}".`);
                y = new p.NullStream();
              }
              let O = !1,
                T = !1,
                M = null;
              if (y) {
                if (y.dict) {
                  const e = y.dict.get('Subtype');
                  e instanceof i.Name && (w = e.name);
                  x = y.dict.get('Length1');
                  C = y.dict.get('Length2');
                  k = y.dict.get('Length3');
                }
              } else if (g) {
                const e = (0, h.getXfaFontName)(v.name);
                if (e) {
                  g.fontFamily = `${g.fontFamily}-PdfJS-XFA`;
                  g.metrics = e.metrics || null;
                  M = e.factors || null;
                  y = await this.fetchStandardFontData(e.name);
                  T = !!y;
                  a = t = (0, h.getXfaFontDict)(v.name);
                  o = !0;
                }
              } else if (!m) {
                const e = (0, c.getStandardFontName)(v.name);
                if (e) {
                  O = !0;
                  y = await this.fetchStandardFontData(e);
                  T = !!y;
                }
              }
              b = {
                type: l,
                name: v.name,
                subtype: w,
                file: y,
                length1: x,
                length2: C,
                length3: k,
                isStandardFont: O,
                isInternalFont: T,
                loadedName: a.loadedName,
                composite: o,
                fixedPitch: !1,
                fontMatrix: t.getArray('FontMatrix') || r.FONT_IDENTITY_MATRIX,
                firstChar: u,
                lastChar: d,
                toUnicode: f,
                bbox: e.getArray('FontBBox') || t.getArray('FontBBox'),
                ascent: e.get('Ascent'),
                descent: e.get('Descent'),
                xHeight: e.get('XHeight') || 0,
                capHeight: e.get('CapHeight') || 0,
                flags: e.get('Flags'),
                italicAngle: e.get('ItalicAngle') || 0,
                isType3Font: m,
                cssFontInfo: g,
                scaleFactors: M,
              };
              if (o) {
                const e = a.get('Encoding');
                e instanceof i.Name && (b.cidEncoding = e.name);
                const t = await n.CMapFactory.create({
                  encoding: e,
                  fetchBuiltInCMap: this._fetchBuiltInCMapBound,
                  useCMap: null,
                });
                b.cMap = t;
                b.vertical = b.cMap.vertical;
              }
              return this.extractDataStructures(t, a, b).then((a) => {
                this.extractWidths(t, e, a);
                return new s.Font(v.name, y, a);
              });
            }
            static buildFontPaths(e, t, a, n) {
              function buildPath(t) {
                const i = `${e.loadedName}_path_${t}`;
                try {
                  if (e.renderer.hasBuiltPath(t)) return;
                  a.send('commonobj', [i, 'FontPath', e.renderer.getPathJs(t)]);
                } catch (e) {
                  if (n.ignoreErrors) {
                    a.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.errorFontBuildPath });
                    (0, r.warn)(`buildFontPaths - ignoring ${i} glyph: "${e}".`);
                    return;
                  }
                  throw e;
                }
              }
              for (const e of t) {
                buildPath(e.fontChar);
                const t = e.accent;
                t && t.fontChar && buildPath(t.fontChar);
              }
            }
            static get fallbackFontDict() {
              const e = new i.Dict();
              e.set('BaseFont', i.Name.get('PDFJS-FallbackFont'));
              e.set('Type', i.Name.get('FallbackType'));
              e.set('Subtype', i.Name.get('FallbackType'));
              e.set('Encoding', i.Name.get('WinAnsiEncoding'));
              return (0, r.shadow)(this, 'fallbackFontDict', e);
            }
          }
          t.PartialEvaluator = PartialEvaluator;
          class TranslatedFont {
            constructor({ loadedName: e, font: t, dict: a, evaluatorOptions: r }) {
              this.loadedName = e;
              this.font = t;
              this.dict = a;
              this._evaluatorOptions = r || M;
              this.type3Loaded = null;
              this.type3Dependencies = t.isType3Font ? new Set() : null;
              this.sent = !1;
            }
            send(e) {
              if (!this.sent) {
                this.sent = !0;
                e.send('commonobj', [
                  this.loadedName,
                  'Font',
                  this.font.exportData(this._evaluatorOptions.fontExtraProperties),
                ]);
              }
            }
            fallback(e) {
              if (this.font.data) {
                this.font.disableFontFace = !0;
                PartialEvaluator.buildFontPaths(this.font, this.font.glyphCacheValues, e, this._evaluatorOptions);
              }
            }
            loadType3Data(e, t, a) {
              if (this.type3Loaded) return this.type3Loaded;
              if (!this.font.isType3Font) throw new Error('Must be a Type3 font.');
              const n = e.clone({ ignoreErrors: !1 });
              n.parsingType3Font = !0;
              const s = new i.RefSet(e.type3FontRefs);
              this.dict.objId && !s.has(this.dict.objId) && s.put(this.dict.objId);
              n.type3FontRefs = s;
              const o = this.font,
                c = this.type3Dependencies;
              let l = Promise.resolve();
              const h = this.dict.get('CharProcs'),
                u = this.dict.get('Resources') || t,
                d = Object.create(null),
                f = r.Util.normalizeRect(o.bbox || [0, 0, 0, 0]),
                g = f[2] - f[0],
                p = f[3] - f[1],
                m = Math.hypot(g, p);
              for (const e of h.getKeys())
                l = l.then(() => {
                  const t = h.get(e),
                    i = new O.OperatorList();
                  return n
                    .getOperatorList({ stream: t, task: a, resources: u, operatorList: i })
                    .then(() => {
                      i.fnArray[0] === r.OPS.setCharWidthAndBounds && this._removeType3ColorOperators(i, m);
                      d[e] = i.getIR();
                      for (const e of i.dependencies) c.add(e);
                    })
                    .catch(function (t) {
                      (0, r.warn)(`Type3 font resource "${e}" is not available.`);
                      const a = new O.OperatorList();
                      d[e] = a.getIR();
                    });
                });
              this.type3Loaded = l.then(() => {
                o.charProcOperatorList = d;
                if (this._bbox) {
                  o.isCharBBox = !0;
                  o.bbox = this._bbox;
                }
              });
              return this.type3Loaded;
            }
            _removeType3ColorOperators(e, t = NaN) {
              const a = r.Util.normalizeRect(e.argsArray[0].slice(2)),
                n = a[2] - a[0],
                i = a[3] - a[1],
                s = Math.hypot(n, i);
              if (0 === n || 0 === i) {
                e.fnArray.splice(0, 1);
                e.argsArray.splice(0, 1);
              } else if (0 === t || Math.round(s / t) >= 10) {
                this._bbox || (this._bbox = [1 / 0, 1 / 0, -1 / 0, -1 / 0]);
                this._bbox[0] = Math.min(this._bbox[0], a[0]);
                this._bbox[1] = Math.min(this._bbox[1], a[1]);
                this._bbox[2] = Math.max(this._bbox[2], a[2]);
                this._bbox[3] = Math.max(this._bbox[3], a[3]);
              }
              let o = 0,
                c = e.length;
              for (; o < c; ) {
                switch (e.fnArray[o]) {
                  case r.OPS.setCharWidthAndBounds:
                    break;
                  case r.OPS.setStrokeColorSpace:
                  case r.OPS.setFillColorSpace:
                  case r.OPS.setStrokeColor:
                  case r.OPS.setStrokeColorN:
                  case r.OPS.setFillColor:
                  case r.OPS.setFillColorN:
                  case r.OPS.setStrokeGray:
                  case r.OPS.setFillGray:
                  case r.OPS.setStrokeRGBColor:
                  case r.OPS.setFillRGBColor:
                  case r.OPS.setStrokeCMYKColor:
                  case r.OPS.setFillCMYKColor:
                  case r.OPS.shadingFill:
                  case r.OPS.setRenderingIntent:
                    e.fnArray.splice(o, 1);
                    e.argsArray.splice(o, 1);
                    c--;
                    continue;
                  case r.OPS.setGState:
                    const [t] = e.argsArray[o];
                    let a = 0,
                      n = t.length;
                    for (; a < n; ) {
                      const [e] = t[a];
                      switch (e) {
                        case 'TR':
                        case 'TR2':
                        case 'HT':
                        case 'BG':
                        case 'BG2':
                        case 'UCR':
                        case 'UCR2':
                          t.splice(a, 1);
                          n--;
                          continue;
                      }
                      a++;
                    }
                }
                o++;
              }
            }
          }
          class StateManager {
            constructor(e = new EvalState()) {
              this.state = e;
              this.stateStack = [];
            }
            save() {
              const e = this.state;
              this.stateStack.push(this.state);
              this.state = e.clone();
            }
            restore() {
              const e = this.stateStack.pop();
              e && (this.state = e);
            }
            transform(e) {
              this.state.ctm = r.Util.transform(this.state.ctm, e);
            }
          }
          class TextState {
            constructor() {
              this.ctm = new Float32Array(r.IDENTITY_MATRIX);
              this.fontName = null;
              this.fontSize = 0;
              this.loadedName = null;
              this.font = null;
              this.fontMatrix = r.FONT_IDENTITY_MATRIX;
              this.textMatrix = r.IDENTITY_MATRIX.slice();
              this.textLineMatrix = r.IDENTITY_MATRIX.slice();
              this.charSpacing = 0;
              this.wordSpacing = 0;
              this.leading = 0;
              this.textHScale = 1;
              this.textRise = 0;
            }
            setTextMatrix(e, t, a, r, n, i) {
              const s = this.textMatrix;
              s[0] = e;
              s[1] = t;
              s[2] = a;
              s[3] = r;
              s[4] = n;
              s[5] = i;
            }
            setTextLineMatrix(e, t, a, r, n, i) {
              const s = this.textLineMatrix;
              s[0] = e;
              s[1] = t;
              s[2] = a;
              s[3] = r;
              s[4] = n;
              s[5] = i;
            }
            translateTextMatrix(e, t) {
              const a = this.textMatrix;
              a[4] = a[0] * e + a[2] * t + a[4];
              a[5] = a[1] * e + a[3] * t + a[5];
            }
            translateTextLineMatrix(e, t) {
              const a = this.textLineMatrix;
              a[4] = a[0] * e + a[2] * t + a[4];
              a[5] = a[1] * e + a[3] * t + a[5];
            }
            carriageReturn() {
              this.translateTextLineMatrix(0, -this.leading);
              this.textMatrix = this.textLineMatrix.slice();
            }
            clone() {
              const e = Object.create(this);
              e.textMatrix = this.textMatrix.slice();
              e.textLineMatrix = this.textLineMatrix.slice();
              e.fontMatrix = this.fontMatrix.slice();
              return e;
            }
          }
          class EvalState {
            constructor() {
              this.ctm = new Float32Array(r.IDENTITY_MATRIX);
              this.font = null;
              this.textRenderingMode = r.TextRenderingMode.FILL;
              this.fillColorSpace = y.ColorSpace.singletons.gray;
              this.strokeColorSpace = y.ColorSpace.singletons.gray;
            }
            clone() {
              return Object.create(this);
            }
          }
          class EvaluatorPreprocessor {
            static get opMap() {
              const e = (0, C.getLookupTableFactory)(function (e) {
                e.w = { id: r.OPS.setLineWidth, numArgs: 1, variableArgs: !1 };
                e.J = { id: r.OPS.setLineCap, numArgs: 1, variableArgs: !1 };
                e.j = { id: r.OPS.setLineJoin, numArgs: 1, variableArgs: !1 };
                e.M = { id: r.OPS.setMiterLimit, numArgs: 1, variableArgs: !1 };
                e.d = { id: r.OPS.setDash, numArgs: 2, variableArgs: !1 };
                e.ri = { id: r.OPS.setRenderingIntent, numArgs: 1, variableArgs: !1 };
                e.i = { id: r.OPS.setFlatness, numArgs: 1, variableArgs: !1 };
                e.gs = { id: r.OPS.setGState, numArgs: 1, variableArgs: !1 };
                e.q = { id: r.OPS.save, numArgs: 0, variableArgs: !1 };
                e.Q = { id: r.OPS.restore, numArgs: 0, variableArgs: !1 };
                e.cm = { id: r.OPS.transform, numArgs: 6, variableArgs: !1 };
                e.m = { id: r.OPS.moveTo, numArgs: 2, variableArgs: !1 };
                e.l = { id: r.OPS.lineTo, numArgs: 2, variableArgs: !1 };
                e.c = { id: r.OPS.curveTo, numArgs: 6, variableArgs: !1 };
                e.v = { id: r.OPS.curveTo2, numArgs: 4, variableArgs: !1 };
                e.y = { id: r.OPS.curveTo3, numArgs: 4, variableArgs: !1 };
                e.h = { id: r.OPS.closePath, numArgs: 0, variableArgs: !1 };
                e.re = { id: r.OPS.rectangle, numArgs: 4, variableArgs: !1 };
                e.S = { id: r.OPS.stroke, numArgs: 0, variableArgs: !1 };
                e.s = { id: r.OPS.closeStroke, numArgs: 0, variableArgs: !1 };
                e.f = { id: r.OPS.fill, numArgs: 0, variableArgs: !1 };
                e.F = { id: r.OPS.fill, numArgs: 0, variableArgs: !1 };
                e['f*'] = { id: r.OPS.eoFill, numArgs: 0, variableArgs: !1 };
                e.B = { id: r.OPS.fillStroke, numArgs: 0, variableArgs: !1 };
                e['B*'] = { id: r.OPS.eoFillStroke, numArgs: 0, variableArgs: !1 };
                e.b = { id: r.OPS.closeFillStroke, numArgs: 0, variableArgs: !1 };
                e['b*'] = { id: r.OPS.closeEOFillStroke, numArgs: 0, variableArgs: !1 };
                e.n = { id: r.OPS.endPath, numArgs: 0, variableArgs: !1 };
                e.W = { id: r.OPS.clip, numArgs: 0, variableArgs: !1 };
                e['W*'] = { id: r.OPS.eoClip, numArgs: 0, variableArgs: !1 };
                e.BT = { id: r.OPS.beginText, numArgs: 0, variableArgs: !1 };
                e.ET = { id: r.OPS.endText, numArgs: 0, variableArgs: !1 };
                e.Tc = { id: r.OPS.setCharSpacing, numArgs: 1, variableArgs: !1 };
                e.Tw = { id: r.OPS.setWordSpacing, numArgs: 1, variableArgs: !1 };
                e.Tz = { id: r.OPS.setHScale, numArgs: 1, variableArgs: !1 };
                e.TL = { id: r.OPS.setLeading, numArgs: 1, variableArgs: !1 };
                e.Tf = { id: r.OPS.setFont, numArgs: 2, variableArgs: !1 };
                e.Tr = { id: r.OPS.setTextRenderingMode, numArgs: 1, variableArgs: !1 };
                e.Ts = { id: r.OPS.setTextRise, numArgs: 1, variableArgs: !1 };
                e.Td = { id: r.OPS.moveText, numArgs: 2, variableArgs: !1 };
                e.TD = { id: r.OPS.setLeadingMoveText, numArgs: 2, variableArgs: !1 };
                e.Tm = { id: r.OPS.setTextMatrix, numArgs: 6, variableArgs: !1 };
                e['T*'] = { id: r.OPS.nextLine, numArgs: 0, variableArgs: !1 };
                e.Tj = { id: r.OPS.showText, numArgs: 1, variableArgs: !1 };
                e.TJ = { id: r.OPS.showSpacedText, numArgs: 1, variableArgs: !1 };
                e["'"] = { id: r.OPS.nextLineShowText, numArgs: 1, variableArgs: !1 };
                e['"'] = { id: r.OPS.nextLineSetSpacingShowText, numArgs: 3, variableArgs: !1 };
                e.d0 = { id: r.OPS.setCharWidth, numArgs: 2, variableArgs: !1 };
                e.d1 = { id: r.OPS.setCharWidthAndBounds, numArgs: 6, variableArgs: !1 };
                e.CS = { id: r.OPS.setStrokeColorSpace, numArgs: 1, variableArgs: !1 };
                e.cs = { id: r.OPS.setFillColorSpace, numArgs: 1, variableArgs: !1 };
                e.SC = { id: r.OPS.setStrokeColor, numArgs: 4, variableArgs: !0 };
                e.SCN = { id: r.OPS.setStrokeColorN, numArgs: 33, variableArgs: !0 };
                e.sc = { id: r.OPS.setFillColor, numArgs: 4, variableArgs: !0 };
                e.scn = { id: r.OPS.setFillColorN, numArgs: 33, variableArgs: !0 };
                e.G = { id: r.OPS.setStrokeGray, numArgs: 1, variableArgs: !1 };
                e.g = { id: r.OPS.setFillGray, numArgs: 1, variableArgs: !1 };
                e.RG = { id: r.OPS.setStrokeRGBColor, numArgs: 3, variableArgs: !1 };
                e.rg = { id: r.OPS.setFillRGBColor, numArgs: 3, variableArgs: !1 };
                e.K = { id: r.OPS.setStrokeCMYKColor, numArgs: 4, variableArgs: !1 };
                e.k = { id: r.OPS.setFillCMYKColor, numArgs: 4, variableArgs: !1 };
                e.sh = { id: r.OPS.shadingFill, numArgs: 1, variableArgs: !1 };
                e.BI = { id: r.OPS.beginInlineImage, numArgs: 0, variableArgs: !1 };
                e.ID = { id: r.OPS.beginImageData, numArgs: 0, variableArgs: !1 };
                e.EI = { id: r.OPS.endInlineImage, numArgs: 1, variableArgs: !1 };
                e.Do = { id: r.OPS.paintXObject, numArgs: 1, variableArgs: !1 };
                e.MP = { id: r.OPS.markPoint, numArgs: 1, variableArgs: !1 };
                e.DP = { id: r.OPS.markPointProps, numArgs: 2, variableArgs: !1 };
                e.BMC = { id: r.OPS.beginMarkedContent, numArgs: 1, variableArgs: !1 };
                e.BDC = { id: r.OPS.beginMarkedContentProps, numArgs: 2, variableArgs: !1 };
                e.EMC = { id: r.OPS.endMarkedContent, numArgs: 0, variableArgs: !1 };
                e.BX = { id: r.OPS.beginCompat, numArgs: 0, variableArgs: !1 };
                e.EX = { id: r.OPS.endCompat, numArgs: 0, variableArgs: !1 };
                e.BM = null;
                e.BD = null;
                e.true = null;
                e.fa = null;
                e.fal = null;
                e.fals = null;
                e.false = null;
                e.nu = null;
                e.nul = null;
                e.null = null;
              });
              return (0, r.shadow)(this, 'opMap', e());
            }
            static get MAX_INVALID_PATH_OPS() {
              return (0, r.shadow)(this, 'MAX_INVALID_PATH_OPS', 10);
            }
            constructor(e, t, a = new StateManager()) {
              this.parser = new f.Parser({ lexer: new f.Lexer(e, EvaluatorPreprocessor.opMap), xref: t });
              this.stateManager = a;
              this.nonProcessedArgs = [];
              this._isPathOp = !1;
              this._numInvalidPathOPS = 0;
            }
            get savedStatesDepth() {
              return this.stateManager.stateStack.length;
            }
            read(e) {
              let t = e.args;
              for (;;) {
                const a = this.parser.getObj();
                if (a instanceof i.Cmd) {
                  const n = a.cmd,
                    i = EvaluatorPreprocessor.opMap[n];
                  if (!i) {
                    (0, r.warn)(`Unknown command "${n}".`);
                    continue;
                  }
                  const s = i.id,
                    o = i.numArgs;
                  let c = null !== t ? t.length : 0;
                  this._isPathOp || (this._numInvalidPathOPS = 0);
                  this._isPathOp = s >= r.OPS.moveTo && s <= r.OPS.endPath;
                  if (i.variableArgs)
                    c > o && (0, r.info)(`Command ${n}: expected [0, ${o}] args, but received ${c} args.`);
                  else {
                    if (c !== o) {
                      const e = this.nonProcessedArgs;
                      for (; c > o; ) {
                        e.push(t.shift());
                        c--;
                      }
                      for (; c < o && 0 !== e.length; ) {
                        null === t && (t = []);
                        t.unshift(e.pop());
                        c++;
                      }
                    }
                    if (c < o) {
                      const e = `command ${n}: expected ${o} args, but received ${c} args.`;
                      if (this._isPathOp && ++this._numInvalidPathOPS > EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)
                        throw new r.FormatError(`Invalid ${e}`);
                      (0, r.warn)(`Skipping ${e}`);
                      null !== t && (t.length = 0);
                      continue;
                    }
                  }
                  this.preprocessCommand(s, t);
                  e.fn = s;
                  e.args = t;
                  return !0;
                }
                if (a === i.EOF) return !1;
                if (null !== a) {
                  null === t && (t = []);
                  t.push(a);
                  if (t.length > 33) throw new r.FormatError('Too many arguments');
                }
              }
            }
            preprocessCommand(e, t) {
              switch (0 | e) {
                case r.OPS.save:
                  this.stateManager.save();
                  break;
                case r.OPS.restore:
                  this.stateManager.restore();
                  break;
                case r.OPS.transform:
                  this.stateManager.transform(t);
              }
            }
          }
          t.EvaluatorPreprocessor = EvaluatorPreprocessor;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.IdentityCMap = t.CMapFactory = t.CMap = void 0;
          var r = a(2),
            n = a(4),
            i = a(5),
            s = a(15),
            o = a(3),
            c = a(8);
          const l = [
              'Adobe-GB1-UCS2',
              'Adobe-CNS1-UCS2',
              'Adobe-Japan1-UCS2',
              'Adobe-Korea1-UCS2',
              '78-EUC-H',
              '78-EUC-V',
              '78-H',
              '78-RKSJ-H',
              '78-RKSJ-V',
              '78-V',
              '78ms-RKSJ-H',
              '78ms-RKSJ-V',
              '83pv-RKSJ-H',
              '90ms-RKSJ-H',
              '90ms-RKSJ-V',
              '90msp-RKSJ-H',
              '90msp-RKSJ-V',
              '90pv-RKSJ-H',
              '90pv-RKSJ-V',
              'Add-H',
              'Add-RKSJ-H',
              'Add-RKSJ-V',
              'Add-V',
              'Adobe-CNS1-0',
              'Adobe-CNS1-1',
              'Adobe-CNS1-2',
              'Adobe-CNS1-3',
              'Adobe-CNS1-4',
              'Adobe-CNS1-5',
              'Adobe-CNS1-6',
              'Adobe-GB1-0',
              'Adobe-GB1-1',
              'Adobe-GB1-2',
              'Adobe-GB1-3',
              'Adobe-GB1-4',
              'Adobe-GB1-5',
              'Adobe-Japan1-0',
              'Adobe-Japan1-1',
              'Adobe-Japan1-2',
              'Adobe-Japan1-3',
              'Adobe-Japan1-4',
              'Adobe-Japan1-5',
              'Adobe-Japan1-6',
              'Adobe-Korea1-0',
              'Adobe-Korea1-1',
              'Adobe-Korea1-2',
              'B5-H',
              'B5-V',
              'B5pc-H',
              'B5pc-V',
              'CNS-EUC-H',
              'CNS-EUC-V',
              'CNS1-H',
              'CNS1-V',
              'CNS2-H',
              'CNS2-V',
              'ETHK-B5-H',
              'ETHK-B5-V',
              'ETen-B5-H',
              'ETen-B5-V',
              'ETenms-B5-H',
              'ETenms-B5-V',
              'EUC-H',
              'EUC-V',
              'Ext-H',
              'Ext-RKSJ-H',
              'Ext-RKSJ-V',
              'Ext-V',
              'GB-EUC-H',
              'GB-EUC-V',
              'GB-H',
              'GB-V',
              'GBK-EUC-H',
              'GBK-EUC-V',
              'GBK2K-H',
              'GBK2K-V',
              'GBKp-EUC-H',
              'GBKp-EUC-V',
              'GBT-EUC-H',
              'GBT-EUC-V',
              'GBT-H',
              'GBT-V',
              'GBTpc-EUC-H',
              'GBTpc-EUC-V',
              'GBpc-EUC-H',
              'GBpc-EUC-V',
              'H',
              'HKdla-B5-H',
              'HKdla-B5-V',
              'HKdlb-B5-H',
              'HKdlb-B5-V',
              'HKgccs-B5-H',
              'HKgccs-B5-V',
              'HKm314-B5-H',
              'HKm314-B5-V',
              'HKm471-B5-H',
              'HKm471-B5-V',
              'HKscs-B5-H',
              'HKscs-B5-V',
              'Hankaku',
              'Hiragana',
              'KSC-EUC-H',
              'KSC-EUC-V',
              'KSC-H',
              'KSC-Johab-H',
              'KSC-Johab-V',
              'KSC-V',
              'KSCms-UHC-H',
              'KSCms-UHC-HW-H',
              'KSCms-UHC-HW-V',
              'KSCms-UHC-V',
              'KSCpc-EUC-H',
              'KSCpc-EUC-V',
              'Katakana',
              'NWP-H',
              'NWP-V',
              'RKSJ-H',
              'RKSJ-V',
              'Roman',
              'UniCNS-UCS2-H',
              'UniCNS-UCS2-V',
              'UniCNS-UTF16-H',
              'UniCNS-UTF16-V',
              'UniCNS-UTF32-H',
              'UniCNS-UTF32-V',
              'UniCNS-UTF8-H',
              'UniCNS-UTF8-V',
              'UniGB-UCS2-H',
              'UniGB-UCS2-V',
              'UniGB-UTF16-H',
              'UniGB-UTF16-V',
              'UniGB-UTF32-H',
              'UniGB-UTF32-V',
              'UniGB-UTF8-H',
              'UniGB-UTF8-V',
              'UniJIS-UCS2-H',
              'UniJIS-UCS2-HW-H',
              'UniJIS-UCS2-HW-V',
              'UniJIS-UCS2-V',
              'UniJIS-UTF16-H',
              'UniJIS-UTF16-V',
              'UniJIS-UTF32-H',
              'UniJIS-UTF32-V',
              'UniJIS-UTF8-H',
              'UniJIS-UTF8-V',
              'UniJIS2004-UTF16-H',
              'UniJIS2004-UTF16-V',
              'UniJIS2004-UTF32-H',
              'UniJIS2004-UTF32-V',
              'UniJIS2004-UTF8-H',
              'UniJIS2004-UTF8-V',
              'UniJISPro-UCS2-HW-V',
              'UniJISPro-UCS2-V',
              'UniJISPro-UTF8-V',
              'UniJISX0213-UTF32-H',
              'UniJISX0213-UTF32-V',
              'UniJISX02132004-UTF32-H',
              'UniJISX02132004-UTF32-V',
              'UniKS-UCS2-H',
              'UniKS-UCS2-V',
              'UniKS-UTF16-H',
              'UniKS-UTF16-V',
              'UniKS-UTF32-H',
              'UniKS-UTF32-V',
              'UniKS-UTF8-H',
              'UniKS-UTF8-V',
              'V',
              'WP-Symbol',
            ],
            h = 2 ** 24 - 1;
          class CMap {
            constructor(e = !1) {
              this.codespaceRanges = [[], [], [], []];
              this.numCodespaceRanges = 0;
              this._map = [];
              this.name = '';
              this.vertical = !1;
              this.useCMap = null;
              this.builtInCMap = e;
            }
            addCodespaceRange(e, t, a) {
              this.codespaceRanges[e - 1].push(t, a);
              this.numCodespaceRanges++;
            }
            mapCidRange(e, t, a) {
              if (t - e > h) throw new Error('mapCidRange - ignoring data above MAX_MAP_RANGE.');
              for (; e <= t; ) this._map[e++] = a++;
            }
            mapBfRange(e, t, a) {
              if (t - e > h) throw new Error('mapBfRange - ignoring data above MAX_MAP_RANGE.');
              const r = a.length - 1;
              for (; e <= t; ) {
                this._map[e++] = a;
                const t = a.charCodeAt(r) + 1;
                t > 255
                  ? (a = a.substring(0, r - 1) + String.fromCharCode(a.charCodeAt(r - 1) + 1) + '\0')
                  : (a = a.substring(0, r) + String.fromCharCode(t));
              }
            }
            mapBfRangeToArray(e, t, a) {
              if (t - e > h) throw new Error('mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.');
              const r = a.length;
              let n = 0;
              for (; e <= t && n < r; ) {
                this._map[e] = a[n++];
                ++e;
              }
            }
            mapOne(e, t) {
              this._map[e] = t;
            }
            lookup(e) {
              return this._map[e];
            }
            contains(e) {
              return void 0 !== this._map[e];
            }
            forEach(e) {
              const t = this._map,
                a = t.length;
              if (a <= 65536) for (let r = 0; r < a; r++) void 0 !== t[r] && e(r, t[r]);
              else for (const a in t) e(a, t[a]);
            }
            charCodeOf(e) {
              const t = this._map;
              if (t.length <= 65536) return t.indexOf(e);
              for (const a in t) if (t[a] === e) return 0 | a;
              return -1;
            }
            getMap() {
              return this._map;
            }
            readCharCode(e, t, a) {
              let r = 0;
              const n = this.codespaceRanges;
              for (let i = 0, s = n.length; i < s; i++) {
                r = ((r << 8) | e.charCodeAt(t + i)) >>> 0;
                const s = n[i];
                for (let e = 0, t = s.length; e < t; ) {
                  const t = s[e++],
                    n = s[e++];
                  if (r >= t && r <= n) {
                    a.charcode = r;
                    a.length = i + 1;
                    return;
                  }
                }
              }
              a.charcode = 0;
              a.length = 1;
            }
            getCharCodeLength(e) {
              const t = this.codespaceRanges;
              for (let a = 0, r = t.length; a < r; a++) {
                const r = t[a];
                for (let t = 0, n = r.length; t < n; ) {
                  const n = r[t++],
                    i = r[t++];
                  if (e >= n && e <= i) return a + 1;
                }
              }
              return 1;
            }
            get length() {
              return this._map.length;
            }
            get isIdentityCMap() {
              if ('Identity-H' !== this.name && 'Identity-V' !== this.name) return !1;
              if (65536 !== this._map.length) return !1;
              for (let e = 0; e < 65536; e++) if (this._map[e] !== e) return !1;
              return !0;
            }
          }
          t.CMap = CMap;
          class IdentityCMap extends CMap {
            constructor(e, t) {
              super();
              this.vertical = e;
              this.addCodespaceRange(t, 0, 65535);
            }
            mapCidRange(e, t, a) {
              (0, r.unreachable)('should not call mapCidRange');
            }
            mapBfRange(e, t, a) {
              (0, r.unreachable)('should not call mapBfRange');
            }
            mapBfRangeToArray(e, t, a) {
              (0, r.unreachable)('should not call mapBfRangeToArray');
            }
            mapOne(e, t) {
              (0, r.unreachable)('should not call mapCidOne');
            }
            lookup(e) {
              return Number.isInteger(e) && e <= 65535 ? e : void 0;
            }
            contains(e) {
              return Number.isInteger(e) && e <= 65535;
            }
            forEach(e) {
              for (let t = 0; t <= 65535; t++) e(t, t);
            }
            charCodeOf(e) {
              return Number.isInteger(e) && e <= 65535 ? e : -1;
            }
            getMap() {
              const e = new Array(65536);
              for (let t = 0; t <= 65535; t++) e[t] = t;
              return e;
            }
            get length() {
              return 65536;
            }
            get isIdentityCMap() {
              (0, r.unreachable)('should not access .isIdentityCMap');
            }
          }
          t.IdentityCMap = IdentityCMap;
          const u = (function BinaryCMapReaderClosure() {
              function hexToInt(e, t) {
                let a = 0;
                for (let r = 0; r <= t; r++) a = (a << 8) | e[r];
                return a >>> 0;
              }
              function hexToStr(e, t) {
                return 1 === t
                  ? String.fromCharCode(e[0], e[1])
                  : 3 === t
                  ? String.fromCharCode(e[0], e[1], e[2], e[3])
                  : String.fromCharCode.apply(null, e.subarray(0, t + 1));
              }
              function addHex(e, t, a) {
                let r = 0;
                for (let n = a; n >= 0; n--) {
                  r += e[n] + t[n];
                  e[n] = 255 & r;
                  r >>= 8;
                }
              }
              function incHex(e, t) {
                let a = 1;
                for (let r = t; r >= 0 && a > 0; r--) {
                  a += e[r];
                  e[r] = 255 & a;
                  a >>= 8;
                }
              }
              const e = 16;
              class BinaryCMapStream {
                constructor(e) {
                  this.buffer = e;
                  this.pos = 0;
                  this.end = e.length;
                  this.tmpBuf = new Uint8Array(19);
                }
                readByte() {
                  return this.pos >= this.end ? -1 : this.buffer[this.pos++];
                }
                readNumber() {
                  let e,
                    t = 0;
                  do {
                    const a = this.readByte();
                    if (a < 0) throw new r.FormatError('unexpected EOF in bcmap');
                    e = !(128 & a);
                    t = (t << 7) | (127 & a);
                  } while (!e);
                  return t;
                }
                readSigned() {
                  const e = this.readNumber();
                  return 1 & e ? ~(e >>> 1) : e >>> 1;
                }
                readHex(e, t) {
                  e.set(this.buffer.subarray(this.pos, this.pos + t + 1));
                  this.pos += t + 1;
                }
                readHexNumber(e, t) {
                  let a;
                  const n = this.tmpBuf;
                  let i = 0;
                  do {
                    const e = this.readByte();
                    if (e < 0) throw new r.FormatError('unexpected EOF in bcmap');
                    a = !(128 & e);
                    n[i++] = 127 & e;
                  } while (!a);
                  let s = t,
                    o = 0,
                    c = 0;
                  for (; s >= 0; ) {
                    for (; c < 8 && n.length > 0; ) {
                      o |= n[--i] << c;
                      c += 7;
                    }
                    e[s] = 255 & o;
                    s--;
                    o >>= 8;
                    c -= 8;
                  }
                }
                readHexSigned(e, t) {
                  this.readHexNumber(e, t);
                  const a = 1 & e[t] ? 255 : 0;
                  let r = 0;
                  for (let n = 0; n <= t; n++) {
                    r = ((1 & r) << 8) | e[n];
                    e[n] = (r >> 1) ^ a;
                  }
                }
                readString() {
                  const e = this.readNumber();
                  let t = '';
                  for (let a = 0; a < e; a++) t += String.fromCharCode(this.readNumber());
                  return t;
                }
              }
              return class BinaryCMapReader {
                async process(t, a, r) {
                  const n = new BinaryCMapStream(t),
                    i = n.readByte();
                  a.vertical = !!(1 & i);
                  let s = null;
                  const o = new Uint8Array(e),
                    c = new Uint8Array(e),
                    l = new Uint8Array(e),
                    h = new Uint8Array(e),
                    u = new Uint8Array(e);
                  let d, f;
                  for (; (f = n.readByte()) >= 0; ) {
                    const t = f >> 5;
                    if (7 === t) {
                      switch (31 & f) {
                        case 0:
                          n.readString();
                          break;
                        case 1:
                          s = n.readString();
                      }
                      continue;
                    }
                    const r = !!(16 & f),
                      i = 15 & f;
                    if (i + 1 > e) throw new Error('BinaryCMapReader.process: Invalid dataSize.');
                    const g = 1,
                      p = n.readNumber();
                    switch (t) {
                      case 0:
                        n.readHex(o, i);
                        n.readHexNumber(c, i);
                        addHex(c, o, i);
                        a.addCodespaceRange(i + 1, hexToInt(o, i), hexToInt(c, i));
                        for (let e = 1; e < p; e++) {
                          incHex(c, i);
                          n.readHexNumber(o, i);
                          addHex(o, c, i);
                          n.readHexNumber(c, i);
                          addHex(c, o, i);
                          a.addCodespaceRange(i + 1, hexToInt(o, i), hexToInt(c, i));
                        }
                        break;
                      case 1:
                        n.readHex(o, i);
                        n.readHexNumber(c, i);
                        addHex(c, o, i);
                        n.readNumber();
                        for (let e = 1; e < p; e++) {
                          incHex(c, i);
                          n.readHexNumber(o, i);
                          addHex(o, c, i);
                          n.readHexNumber(c, i);
                          addHex(c, o, i);
                          n.readNumber();
                        }
                        break;
                      case 2:
                        n.readHex(l, i);
                        d = n.readNumber();
                        a.mapOne(hexToInt(l, i), d);
                        for (let e = 1; e < p; e++) {
                          incHex(l, i);
                          if (!r) {
                            n.readHexNumber(u, i);
                            addHex(l, u, i);
                          }
                          d = n.readSigned() + (d + 1);
                          a.mapOne(hexToInt(l, i), d);
                        }
                        break;
                      case 3:
                        n.readHex(o, i);
                        n.readHexNumber(c, i);
                        addHex(c, o, i);
                        d = n.readNumber();
                        a.mapCidRange(hexToInt(o, i), hexToInt(c, i), d);
                        for (let e = 1; e < p; e++) {
                          incHex(c, i);
                          if (r) o.set(c);
                          else {
                            n.readHexNumber(o, i);
                            addHex(o, c, i);
                          }
                          n.readHexNumber(c, i);
                          addHex(c, o, i);
                          d = n.readNumber();
                          a.mapCidRange(hexToInt(o, i), hexToInt(c, i), d);
                        }
                        break;
                      case 4:
                        n.readHex(l, g);
                        n.readHex(h, i);
                        a.mapOne(hexToInt(l, g), hexToStr(h, i));
                        for (let e = 1; e < p; e++) {
                          incHex(l, g);
                          if (!r) {
                            n.readHexNumber(u, g);
                            addHex(l, u, g);
                          }
                          incHex(h, i);
                          n.readHexSigned(u, i);
                          addHex(h, u, i);
                          a.mapOne(hexToInt(l, g), hexToStr(h, i));
                        }
                        break;
                      case 5:
                        n.readHex(o, g);
                        n.readHexNumber(c, g);
                        addHex(c, o, g);
                        n.readHex(h, i);
                        a.mapBfRange(hexToInt(o, g), hexToInt(c, g), hexToStr(h, i));
                        for (let e = 1; e < p; e++) {
                          incHex(c, g);
                          if (r) o.set(c);
                          else {
                            n.readHexNumber(o, g);
                            addHex(o, c, g);
                          }
                          n.readHexNumber(c, g);
                          addHex(c, o, g);
                          n.readHex(h, i);
                          a.mapBfRange(hexToInt(o, g), hexToInt(c, g), hexToStr(h, i));
                        }
                        break;
                      default:
                        throw new Error(`BinaryCMapReader.process - unknown type: ${t}`);
                    }
                  }
                  return s ? r(s) : a;
                }
              };
            })(),
            d = (function CMapFactoryClosure() {
              function strToInt(e) {
                let t = 0;
                for (let a = 0; a < e.length; a++) t = (t << 8) | e.charCodeAt(a);
                return t >>> 0;
              }
              function expectString(e) {
                if ('string' != typeof e) throw new r.FormatError('Malformed CMap: expected string.');
              }
              function expectInt(e) {
                if (!Number.isInteger(e)) throw new r.FormatError('Malformed CMap: expected int.');
              }
              function parseBfChar(e, t) {
                for (;;) {
                  let a = t.getObj();
                  if (a === n.EOF) break;
                  if ((0, n.isCmd)(a, 'endbfchar')) return;
                  expectString(a);
                  const r = strToInt(a);
                  a = t.getObj();
                  expectString(a);
                  const i = a;
                  e.mapOne(r, i);
                }
              }
              function parseBfRange(e, t) {
                for (;;) {
                  let a = t.getObj();
                  if (a === n.EOF) break;
                  if ((0, n.isCmd)(a, 'endbfrange')) return;
                  expectString(a);
                  const r = strToInt(a);
                  a = t.getObj();
                  expectString(a);
                  const i = strToInt(a);
                  a = t.getObj();
                  if (Number.isInteger(a) || 'string' == typeof a) {
                    const t = Number.isInteger(a) ? String.fromCharCode(a) : a;
                    e.mapBfRange(r, i, t);
                  } else {
                    if (!(0, n.isCmd)(a, '[')) break;
                    {
                      a = t.getObj();
                      const s = [];
                      for (; !(0, n.isCmd)(a, ']') && a !== n.EOF; ) {
                        s.push(a);
                        a = t.getObj();
                      }
                      e.mapBfRangeToArray(r, i, s);
                    }
                  }
                }
                throw new r.FormatError('Invalid bf range.');
              }
              function parseCidChar(e, t) {
                for (;;) {
                  let a = t.getObj();
                  if (a === n.EOF) break;
                  if ((0, n.isCmd)(a, 'endcidchar')) return;
                  expectString(a);
                  const r = strToInt(a);
                  a = t.getObj();
                  expectInt(a);
                  const i = a;
                  e.mapOne(r, i);
                }
              }
              function parseCidRange(e, t) {
                for (;;) {
                  let a = t.getObj();
                  if (a === n.EOF) break;
                  if ((0, n.isCmd)(a, 'endcidrange')) return;
                  expectString(a);
                  const r = strToInt(a);
                  a = t.getObj();
                  expectString(a);
                  const i = strToInt(a);
                  a = t.getObj();
                  expectInt(a);
                  const s = a;
                  e.mapCidRange(r, i, s);
                }
              }
              function parseCodespaceRange(e, t) {
                for (;;) {
                  let a = t.getObj();
                  if (a === n.EOF) break;
                  if ((0, n.isCmd)(a, 'endcodespacerange')) return;
                  if ('string' != typeof a) break;
                  const r = strToInt(a);
                  a = t.getObj();
                  if ('string' != typeof a) break;
                  const i = strToInt(a);
                  e.addCodespaceRange(a.length, r, i);
                }
                throw new r.FormatError('Invalid codespace range.');
              }
              function parseWMode(e, t) {
                const a = t.getObj();
                Number.isInteger(a) && (e.vertical = !!a);
              }
              function parseCMapName(e, t) {
                const a = t.getObj();
                a instanceof n.Name && (e.name = a.name);
              }
              async function parseCMap(e, t, a, i) {
                let s, c;
                e: for (;;)
                  try {
                    const a = t.getObj();
                    if (a === n.EOF) break;
                    if (a instanceof n.Name) {
                      'WMode' === a.name ? parseWMode(e, t) : 'CMapName' === a.name && parseCMapName(e, t);
                      s = a;
                    } else if (a instanceof n.Cmd)
                      switch (a.cmd) {
                        case 'endcmap':
                          break e;
                        case 'usecmap':
                          s instanceof n.Name && (c = s.name);
                          break;
                        case 'begincodespacerange':
                          parseCodespaceRange(e, t);
                          break;
                        case 'beginbfchar':
                          parseBfChar(e, t);
                          break;
                        case 'begincidchar':
                          parseCidChar(e, t);
                          break;
                        case 'beginbfrange':
                          parseBfRange(e, t);
                          break;
                        case 'begincidrange':
                          parseCidRange(e, t);
                      }
                  } catch (e) {
                    if (e instanceof o.MissingDataException) throw e;
                    (0, r.warn)('Invalid cMap data: ' + e);
                    continue;
                  }
                !i && c && (i = c);
                return i ? extendCMap(e, a, i) : e;
              }
              async function extendCMap(e, t, a) {
                e.useCMap = await createBuiltInCMap(a, t);
                if (0 === e.numCodespaceRanges) {
                  const t = e.useCMap.codespaceRanges;
                  for (let a = 0; a < t.length; a++) e.codespaceRanges[a] = t[a].slice();
                  e.numCodespaceRanges = e.useCMap.numCodespaceRanges;
                }
                e.useCMap.forEach(function (t, a) {
                  e.contains(t) || e.mapOne(t, e.useCMap.lookup(t));
                });
                return e;
              }
              async function createBuiltInCMap(e, t) {
                if ('Identity-H' === e) return new IdentityCMap(!1, 2);
                if ('Identity-V' === e) return new IdentityCMap(!0, 2);
                if (!l.includes(e)) throw new Error('Unknown CMap name: ' + e);
                if (!t) throw new Error('Built-in CMap parameters are not provided.');
                const { cMapData: a, compressionType: n } = await t(e),
                  i = new CMap(!0);
                if (n === r.CMapCompressionType.BINARY) return new u().process(a, i, (e) => extendCMap(i, t, e));
                if (n === r.CMapCompressionType.NONE) {
                  const e = new s.Lexer(new c.Stream(a));
                  return parseCMap(i, e, t, null);
                }
                throw new Error(`Invalid CMap "compressionType" value: ${n}`);
              }
              return {
                async create(e) {
                  const t = e.encoding,
                    a = e.fetchBuiltInCMap,
                    r = e.useCMap;
                  if (t instanceof n.Name) return createBuiltInCMap(t.name, a);
                  if (t instanceof i.BaseStream) {
                    const e = await parseCMap(new CMap(), new s.Lexer(t), a, r);
                    return e.isIdentityCMap ? createBuiltInCMap(e.name, a) : e;
                  }
                  throw new Error('Encoding required.');
                },
              };
            })();
          t.CMapFactory = d;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Parser = t.Linearization = t.Lexer = void 0;
          var r = a(2),
            n = a(4),
            i = a(3),
            s = a(16),
            o = a(18),
            c = a(19),
            l = a(21),
            h = a(22),
            u = a(25),
            d = a(27),
            f = a(29),
            g = a(8),
            p = a(30),
            m = a(31);
          class Parser {
            constructor({ lexer: e, xref: t, allowStreams: a = !1, recoveryMode: r = !1 }) {
              this.lexer = e;
              this.xref = t;
              this.allowStreams = a;
              this.recoveryMode = r;
              this.imageCache = Object.create(null);
              this._imageId = 0;
              this.refill();
            }
            refill() {
              this.buf1 = this.lexer.getObj();
              this.buf2 = this.lexer.getObj();
            }
            shift() {
              if (this.buf2 instanceof n.Cmd && 'ID' === this.buf2.cmd) {
                this.buf1 = this.buf2;
                this.buf2 = null;
              } else {
                this.buf1 = this.buf2;
                this.buf2 = this.lexer.getObj();
              }
            }
            tryShift() {
              try {
                this.shift();
                return !0;
              } catch (e) {
                if (e instanceof i.MissingDataException) throw e;
                return !1;
              }
            }
            getObj(e = null) {
              const t = this.buf1;
              this.shift();
              if (t instanceof n.Cmd)
                switch (t.cmd) {
                  case 'BI':
                    return this.makeInlineImage(e);
                  case '[':
                    const a = [];
                    for (; !(0, n.isCmd)(this.buf1, ']') && this.buf1 !== n.EOF; ) a.push(this.getObj(e));
                    if (this.buf1 === n.EOF) {
                      if (this.recoveryMode) return a;
                      throw new i.ParserEOFException('End of file inside array.');
                    }
                    this.shift();
                    return a;
                  case '<<':
                    const s = new n.Dict(this.xref);
                    for (; !(0, n.isCmd)(this.buf1, '>>') && this.buf1 !== n.EOF; ) {
                      if (!(this.buf1 instanceof n.Name)) {
                        (0, r.info)('Malformed dictionary: key must be a name object');
                        this.shift();
                        continue;
                      }
                      const t = this.buf1.name;
                      this.shift();
                      if (this.buf1 === n.EOF) break;
                      s.set(t, this.getObj(e));
                    }
                    if (this.buf1 === n.EOF) {
                      if (this.recoveryMode) return s;
                      throw new i.ParserEOFException('End of file inside dictionary.');
                    }
                    if ((0, n.isCmd)(this.buf2, 'stream')) return this.allowStreams ? this.makeStream(s, e) : s;
                    this.shift();
                    return s;
                  default:
                    return t;
                }
              if (Number.isInteger(t)) {
                if (Number.isInteger(this.buf1) && (0, n.isCmd)(this.buf2, 'R')) {
                  const e = n.Ref.get(t, this.buf1);
                  this.shift();
                  this.shift();
                  return e;
                }
                return t;
              }
              return 'string' == typeof t && e ? e.decryptString(t) : t;
            }
            findDefaultInlineStreamEnd(e) {
              const t = this.lexer,
                a = e.pos;
              let s,
                o,
                c = 0;
              for (; -1 !== (s = e.getByte()); )
                if (0 === c) c = 69 === s ? 1 : 0;
                else if (1 === c) c = 73 === s ? 2 : 0;
                else if (32 === s || 10 === s || 13 === s) {
                  o = e.pos;
                  const a = e.peekBytes(10);
                  for (let e = 0, t = a.length; e < t; e++) {
                    s = a[e];
                    if ((0 !== s || 0 === a[e + 1]) && 10 !== s && 13 !== s && (s < 32 || s > 127)) {
                      c = 0;
                      break;
                    }
                  }
                  if (2 !== c) continue;
                  if (t.knownCommands) {
                    const e = t.peekObj();
                    e instanceof n.Cmd && !t.knownCommands[e.cmd] && (c = 0);
                  } else (0, r.warn)('findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.');
                  if (2 === c) break;
                } else c = 0;
              if (-1 === s) {
                (0, r.warn)(
                  'findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker'
                );
                if (o) {
                  (0, r.warn)('... trying to recover by using the last "EI" occurrence.');
                  e.skip(-(e.pos - o));
                }
              }
              let l = 4;
              e.skip(-l);
              s = e.peekByte();
              e.skip(l);
              (0, i.isWhiteSpace)(s) || l--;
              return e.pos - l - a;
            }
            findDCTDecodeInlineStreamEnd(e) {
              const t = e.pos;
              let a,
                n,
                i = !1;
              for (; -1 !== (a = e.getByte()); )
                if (255 === a) {
                  switch (e.getByte()) {
                    case 0:
                      break;
                    case 255:
                      e.skip(-1);
                      break;
                    case 217:
                      i = !0;
                      break;
                    case 192:
                    case 193:
                    case 194:
                    case 195:
                    case 197:
                    case 198:
                    case 199:
                    case 201:
                    case 202:
                    case 203:
                    case 205:
                    case 206:
                    case 207:
                    case 196:
                    case 204:
                    case 218:
                    case 219:
                    case 220:
                    case 221:
                    case 222:
                    case 223:
                    case 224:
                    case 225:
                    case 226:
                    case 227:
                    case 228:
                    case 229:
                    case 230:
                    case 231:
                    case 232:
                    case 233:
                    case 234:
                    case 235:
                    case 236:
                    case 237:
                    case 238:
                    case 239:
                    case 254:
                      n = e.getUint16();
                      n > 2 ? e.skip(n - 2) : e.skip(-2);
                  }
                  if (i) break;
                }
              const s = e.pos - t;
              if (-1 === a) {
                (0, r.warn)('Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.');
                e.skip(-s);
                return this.findDefaultInlineStreamEnd(e);
              }
              this.inlineStreamSkipEI(e);
              return s;
            }
            findASCII85DecodeInlineStreamEnd(e) {
              const t = e.pos;
              let a;
              for (; -1 !== (a = e.getByte()); )
                if (126 === a) {
                  const t = e.pos;
                  a = e.peekByte();
                  for (; (0, i.isWhiteSpace)(a); ) {
                    e.skip();
                    a = e.peekByte();
                  }
                  if (62 === a) {
                    e.skip();
                    break;
                  }
                  if (e.pos > t) {
                    const t = e.peekBytes(2);
                    if (69 === t[0] && 73 === t[1]) break;
                  }
                }
              const n = e.pos - t;
              if (-1 === a) {
                (0, r.warn)('Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.');
                e.skip(-n);
                return this.findDefaultInlineStreamEnd(e);
              }
              this.inlineStreamSkipEI(e);
              return n;
            }
            findASCIIHexDecodeInlineStreamEnd(e) {
              const t = e.pos;
              let a;
              for (; -1 !== (a = e.getByte()) && 62 !== a; );
              const n = e.pos - t;
              if (-1 === a) {
                (0, r.warn)('Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.');
                e.skip(-n);
                return this.findDefaultInlineStreamEnd(e);
              }
              this.inlineStreamSkipEI(e);
              return n;
            }
            inlineStreamSkipEI(e) {
              let t,
                a = 0;
              for (; -1 !== (t = e.getByte()); )
                if (0 === a) a = 69 === t ? 1 : 0;
                else if (1 === a) a = 73 === t ? 2 : 0;
                else if (2 === a) break;
            }
            makeInlineImage(e) {
              const t = this.lexer,
                a = t.stream,
                i = Object.create(null);
              let s;
              for (; !(0, n.isCmd)(this.buf1, 'ID') && this.buf1 !== n.EOF; ) {
                if (!(this.buf1 instanceof n.Name)) throw new r.FormatError('Dictionary key must be a name object');
                const t = this.buf1.name;
                this.shift();
                if (this.buf1 === n.EOF) break;
                i[t] = this.getObj(e);
              }
              -1 !== t.beginInlineImagePos && (s = a.pos - t.beginInlineImagePos);
              const o = this.xref.fetchIfRef(i.F || i.Filter);
              let c;
              if (o instanceof n.Name) c = o.name;
              else if (Array.isArray(o)) {
                const e = this.xref.fetchIfRef(o[0]);
                e instanceof n.Name && (c = e.name);
              }
              const l = a.pos;
              let h, u;
              switch (c) {
                case 'DCT':
                case 'DCTDecode':
                  h = this.findDCTDecodeInlineStreamEnd(a);
                  break;
                case 'A85':
                case 'ASCII85Decode':
                  h = this.findASCII85DecodeInlineStreamEnd(a);
                  break;
                case 'AHx':
                case 'ASCIIHexDecode':
                  h = this.findASCIIHexDecodeInlineStreamEnd(a);
                  break;
                default:
                  h = this.findDefaultInlineStreamEnd(a);
              }
              if (h < 1e3 && s > 0) {
                const e = a.pos;
                a.pos = t.beginInlineImagePos;
                u = (function getInlineImageCacheKey(e) {
                  const t = [],
                    a = e.length;
                  let r = 0;
                  for (; r < a - 1; ) t.push((e[r++] << 8) | e[r++]);
                  r < a && t.push(e[r]);
                  return a + '_' + String.fromCharCode.apply(null, t);
                })(a.getBytes(s + h));
                a.pos = e;
                const r = this.imageCache[u];
                if (void 0 !== r) {
                  this.buf2 = n.Cmd.get('EI');
                  this.shift();
                  r.reset();
                  return r;
                }
              }
              const d = new n.Dict(this.xref);
              for (const e in i) d.set(e, i[e]);
              let f = a.makeSubStream(l, h, d);
              e && (f = e.createStream(f, h));
              f = this.filter(f, d, h);
              f.dict = d;
              if (void 0 !== u) {
                f.cacheKey = 'inline_img_' + ++this._imageId;
                this.imageCache[u] = f;
              }
              this.buf2 = n.Cmd.get('EI');
              this.shift();
              return f;
            }
            _findStreamLength(e, t) {
              const { stream: a } = this.lexer;
              a.pos = e;
              const r = t.length;
              for (; a.pos < a.end; ) {
                const n = a.peekBytes(2048),
                  i = n.length - r;
                if (i <= 0) break;
                let s = 0;
                for (; s < i; ) {
                  let i = 0;
                  for (; i < r && n[s + i] === t[i]; ) i++;
                  if (i >= r) {
                    a.pos += s;
                    return a.pos - e;
                  }
                  s++;
                }
                a.pos += i;
              }
              return -1;
            }
            makeStream(e, t) {
              const a = this.lexer;
              let s = a.stream;
              a.skipToNextLine();
              const o = s.pos - 1;
              let c = e.get('Length');
              if (!Number.isInteger(c)) {
                (0, r.info)(`Bad length "${c && c.toString()}" in stream.`);
                c = 0;
              }
              s.pos = o + c;
              a.nextChar();
              if (this.tryShift() && (0, n.isCmd)(this.buf2, 'endstream')) this.shift();
              else {
                const e = new Uint8Array([101, 110, 100, 115, 116, 114, 101, 97, 109]);
                let t = this._findStreamLength(o, e);
                if (t < 0) {
                  const a = 1;
                  for (let n = 1; n <= a; n++) {
                    const a = e.length - n,
                      c = e.slice(0, a),
                      l = this._findStreamLength(o, c);
                    if (l >= 0) {
                      const e = s.peekBytes(a + 1)[a];
                      if (!(0, i.isWhiteSpace)(e)) break;
                      (0, r.info)(`Found "${(0, r.bytesToString)(c)}" when searching for endstream command.`);
                      t = l;
                      break;
                    }
                  }
                  if (t < 0) throw new r.FormatError('Missing endstream command.');
                }
                c = t;
                a.nextChar();
                this.shift();
                this.shift();
              }
              this.shift();
              s = s.makeSubStream(o, c, e);
              t && (s = t.createStream(s, c));
              s = this.filter(s, e, c);
              s.dict = e;
              return s;
            }
            filter(e, t, a) {
              let i = t.get('F', 'Filter'),
                s = t.get('DP', 'DecodeParms');
              if (i instanceof n.Name) {
                Array.isArray(s) && (0, r.warn)('/DecodeParms should not be an Array, when /Filter is a Name.');
                return this.makeFilter(e, i.name, a, s);
              }
              let o = a;
              if (Array.isArray(i)) {
                const t = i,
                  a = s;
                for (let c = 0, l = t.length; c < l; ++c) {
                  i = this.xref.fetchIfRef(t[c]);
                  if (!(i instanceof n.Name)) throw new r.FormatError(`Bad filter name "${i}"`);
                  s = null;
                  Array.isArray(a) && c in a && (s = this.xref.fetchIfRef(a[c]));
                  e = this.makeFilter(e, i.name, o, s);
                  o = null;
                }
              }
              return e;
            }
            makeFilter(e, t, a, n) {
              if (0 === a) {
                (0, r.warn)(`Empty "${t}" stream.`);
                return new g.NullStream();
              }
              try {
                switch (t) {
                  case 'Fl':
                  case 'FlateDecode':
                    return n ? new p.PredictorStream(new l.FlateStream(e, a), a, n) : new l.FlateStream(e, a);
                  case 'LZW':
                  case 'LZWDecode':
                    let t = 1;
                    if (n) {
                      n.has('EarlyChange') && (t = n.get('EarlyChange'));
                      return new p.PredictorStream(new f.LZWStream(e, a, t), a, n);
                    }
                    return new f.LZWStream(e, a, t);
                  case 'DCT':
                  case 'DCTDecode':
                    return new u.JpegStream(e, a, n);
                  case 'JPX':
                  case 'JPXDecode':
                    return new d.JpxStream(e, a, n);
                  case 'A85':
                  case 'ASCII85Decode':
                    return new s.Ascii85Stream(e, a);
                  case 'AHx':
                  case 'ASCIIHexDecode':
                    return new o.AsciiHexStream(e, a);
                  case 'CCF':
                  case 'CCITTFaxDecode':
                    return new c.CCITTFaxStream(e, a, n);
                  case 'RL':
                  case 'RunLengthDecode':
                    return new m.RunLengthStream(e, a);
                  case 'JBIG2Decode':
                    return new h.Jbig2Stream(e, a, n);
                }
                (0, r.warn)(`Filter "${t}" is not supported.`);
                return e;
              } catch (e) {
                if (e instanceof i.MissingDataException) throw e;
                (0, r.warn)(`Invalid stream: "${e}"`);
                return new g.NullStream();
              }
            }
          }
          t.Parser = Parser;
          const b = [
            1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
            0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 0,
          ];
          function toHexDigit(e) {
            return e >= 48 && e <= 57 ? 15 & e : (e >= 65 && e <= 70) || (e >= 97 && e <= 102) ? 9 + (15 & e) : -1;
          }
          class Lexer {
            constructor(e, t = null) {
              this.stream = e;
              this.nextChar();
              this.strBuf = [];
              this.knownCommands = t;
              this._hexStringNumWarn = 0;
              this.beginInlineImagePos = -1;
            }
            nextChar() {
              return (this.currentChar = this.stream.getByte());
            }
            peekChar() {
              return this.stream.peekByte();
            }
            getNumber() {
              let e = this.currentChar,
                t = !1,
                a = 0,
                n = 0;
              if (45 === e) {
                n = -1;
                e = this.nextChar();
                45 === e && (e = this.nextChar());
              } else if (43 === e) {
                n = 1;
                e = this.nextChar();
              }
              if (10 === e || 13 === e)
                do {
                  e = this.nextChar();
                } while (10 === e || 13 === e);
              if (46 === e) {
                a = 10;
                e = this.nextChar();
              }
              if (e < 48 || e > 57) {
                const t = `Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;
                if ((0, i.isWhiteSpace)(e) || -1 === e) {
                  (0, r.info)(`Lexer.getNumber - "${t}".`);
                  return 0;
                }
                throw new r.FormatError(t);
              }
              n = n || 1;
              let s = e - 48,
                o = 0,
                c = 1;
              for (; (e = this.nextChar()) >= 0; )
                if (e >= 48 && e <= 57) {
                  const r = e - 48;
                  if (t) o = 10 * o + r;
                  else {
                    0 !== a && (a *= 10);
                    s = 10 * s + r;
                  }
                } else if (46 === e) {
                  if (0 !== a) break;
                  a = 1;
                } else if (45 === e) (0, r.warn)('Badly formatted number: minus sign in the middle');
                else {
                  if (69 !== e && 101 !== e) break;
                  e = this.peekChar();
                  if (43 === e || 45 === e) {
                    c = 45 === e ? -1 : 1;
                    this.nextChar();
                  } else if (e < 48 || e > 57) break;
                  t = !0;
                }
              0 !== a && (s /= a);
              t && (s *= 10 ** (c * o));
              return n * s;
            }
            getString() {
              let e = 1,
                t = !1;
              const a = this.strBuf;
              a.length = 0;
              let n = this.nextChar();
              for (;;) {
                let i = !1;
                switch (0 | n) {
                  case -1:
                    (0, r.warn)('Unterminated string');
                    t = !0;
                    break;
                  case 40:
                    ++e;
                    a.push('(');
                    break;
                  case 41:
                    if (0 == --e) {
                      this.nextChar();
                      t = !0;
                    } else a.push(')');
                    break;
                  case 92:
                    n = this.nextChar();
                    switch (n) {
                      case -1:
                        (0, r.warn)('Unterminated string');
                        t = !0;
                        break;
                      case 110:
                        a.push('\n');
                        break;
                      case 114:
                        a.push('\r');
                        break;
                      case 116:
                        a.push('\t');
                        break;
                      case 98:
                        a.push('\b');
                        break;
                      case 102:
                        a.push('\f');
                        break;
                      case 92:
                      case 40:
                      case 41:
                        a.push(String.fromCharCode(n));
                        break;
                      case 48:
                      case 49:
                      case 50:
                      case 51:
                      case 52:
                      case 53:
                      case 54:
                      case 55:
                        let e = 15 & n;
                        n = this.nextChar();
                        i = !0;
                        if (n >= 48 && n <= 55) {
                          e = (e << 3) + (15 & n);
                          n = this.nextChar();
                          if (n >= 48 && n <= 55) {
                            i = !1;
                            e = (e << 3) + (15 & n);
                          }
                        }
                        a.push(String.fromCharCode(e));
                        break;
                      case 13:
                        10 === this.peekChar() && this.nextChar();
                        break;
                      case 10:
                        break;
                      default:
                        a.push(String.fromCharCode(n));
                    }
                    break;
                  default:
                    a.push(String.fromCharCode(n));
                }
                if (t) break;
                i || (n = this.nextChar());
              }
              return a.join('');
            }
            getName() {
              let e, t;
              const a = this.strBuf;
              a.length = 0;
              for (; (e = this.nextChar()) >= 0 && !b[e]; )
                if (35 === e) {
                  e = this.nextChar();
                  if (b[e]) {
                    (0, r.warn)('Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.');
                    a.push('#');
                    break;
                  }
                  const n = toHexDigit(e);
                  if (-1 !== n) {
                    t = e;
                    e = this.nextChar();
                    const i = toHexDigit(e);
                    if (-1 === i) {
                      (0, r.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);
                      a.push('#', String.fromCharCode(t));
                      if (b[e]) break;
                      a.push(String.fromCharCode(e));
                      continue;
                    }
                    a.push(String.fromCharCode((n << 4) | i));
                  } else a.push('#', String.fromCharCode(e));
                } else a.push(String.fromCharCode(e));
              a.length > 127 && (0, r.warn)(`Name token is longer than allowed by the spec: ${a.length}`);
              return n.Name.get(a.join(''));
            }
            _hexStringWarn(e) {
              5 != this._hexStringNumWarn++
                ? this._hexStringNumWarn > 5 || (0, r.warn)(`getHexString - ignoring invalid character: ${e}`)
                : (0, r.warn)('getHexString - ignoring additional invalid characters.');
            }
            getHexString() {
              const e = this.strBuf;
              e.length = 0;
              let t,
                a,
                n = this.currentChar,
                i = !0;
              this._hexStringNumWarn = 0;
              for (;;) {
                if (n < 0) {
                  (0, r.warn)('Unterminated hex string');
                  break;
                }
                if (62 === n) {
                  this.nextChar();
                  break;
                }
                if (1 !== b[n]) {
                  if (i) {
                    t = toHexDigit(n);
                    if (-1 === t) {
                      this._hexStringWarn(n);
                      n = this.nextChar();
                      continue;
                    }
                  } else {
                    a = toHexDigit(n);
                    if (-1 === a) {
                      this._hexStringWarn(n);
                      n = this.nextChar();
                      continue;
                    }
                    e.push(String.fromCharCode((t << 4) | a));
                  }
                  i = !i;
                  n = this.nextChar();
                } else n = this.nextChar();
              }
              return e.join('');
            }
            getObj() {
              let e = !1,
                t = this.currentChar;
              for (;;) {
                if (t < 0) return n.EOF;
                if (e) (10 !== t && 13 !== t) || (e = !1);
                else if (37 === t) e = !0;
                else if (1 !== b[t]) break;
                t = this.nextChar();
              }
              switch (0 | t) {
                case 48:
                case 49:
                case 50:
                case 51:
                case 52:
                case 53:
                case 54:
                case 55:
                case 56:
                case 57:
                case 43:
                case 45:
                case 46:
                  return this.getNumber();
                case 40:
                  return this.getString();
                case 47:
                  return this.getName();
                case 91:
                  this.nextChar();
                  return n.Cmd.get('[');
                case 93:
                  this.nextChar();
                  return n.Cmd.get(']');
                case 60:
                  t = this.nextChar();
                  if (60 === t) {
                    this.nextChar();
                    return n.Cmd.get('<<');
                  }
                  return this.getHexString();
                case 62:
                  t = this.nextChar();
                  if (62 === t) {
                    this.nextChar();
                    return n.Cmd.get('>>');
                  }
                  return n.Cmd.get('>');
                case 123:
                  this.nextChar();
                  return n.Cmd.get('{');
                case 125:
                  this.nextChar();
                  return n.Cmd.get('}');
                case 41:
                  this.nextChar();
                  throw new r.FormatError(`Illegal character: ${t}`);
              }
              let a = String.fromCharCode(t);
              if (t < 32 || t > 127) {
                const e = this.peekChar();
                if (e >= 32 && e <= 127) {
                  this.nextChar();
                  return n.Cmd.get(a);
                }
              }
              const i = this.knownCommands;
              let s = i && void 0 !== i[a];
              for (; (t = this.nextChar()) >= 0 && !b[t]; ) {
                const e = a + String.fromCharCode(t);
                if (s && void 0 === i[e]) break;
                if (128 === a.length) throw new r.FormatError(`Command token too long: ${a.length}`);
                a = e;
                s = i && void 0 !== i[a];
              }
              if ('true' === a) return !0;
              if ('false' === a) return !1;
              if ('null' === a) return null;
              'BI' === a && (this.beginInlineImagePos = this.stream.pos);
              return n.Cmd.get(a);
            }
            peekObj() {
              const e = this.stream.pos,
                t = this.currentChar,
                a = this.beginInlineImagePos;
              let n;
              try {
                n = this.getObj();
              } catch (e) {
                if (e instanceof i.MissingDataException) throw e;
                (0, r.warn)(`peekObj: ${e}`);
              }
              this.stream.pos = e;
              this.currentChar = t;
              this.beginInlineImagePos = a;
              return n;
            }
            skipToNextLine() {
              let e = this.currentChar;
              for (; e >= 0; ) {
                if (13 === e) {
                  e = this.nextChar();
                  10 === e && this.nextChar();
                  break;
                }
                if (10 === e) {
                  this.nextChar();
                  break;
                }
                e = this.nextChar();
              }
            }
          }
          t.Lexer = Lexer;
          t.Linearization = class Linearization {
            static create(e) {
              function getInt(e, t, a = !1) {
                const r = e.get(t);
                if (Number.isInteger(r) && (a ? r >= 0 : r > 0)) return r;
                throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`);
              }
              const t = new Parser({ lexer: new Lexer(e), xref: null }),
                a = t.getObj(),
                r = t.getObj(),
                i = t.getObj(),
                s = t.getObj();
              let o, c;
              if (
                !(
                  Number.isInteger(a) &&
                  Number.isInteger(r) &&
                  (0, n.isCmd)(i, 'obj') &&
                  s instanceof n.Dict &&
                  'number' == typeof (o = s.get('Linearized')) &&
                  o > 0
                )
              )
                return null;
              if ((c = getInt(s, 'L')) !== e.length)
                throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');
              return {
                length: c,
                hints: (function getHints(e) {
                  const t = e.get('H');
                  let a;
                  if (Array.isArray(t) && (2 === (a = t.length) || 4 === a)) {
                    for (let e = 0; e < a; e++) {
                      const a = t[e];
                      if (!(Number.isInteger(a) && a > 0))
                        throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`);
                    }
                    return t;
                  }
                  throw new Error('Hint array in the linearization dictionary is invalid.');
                })(s),
                objectNumberFirst: getInt(s, 'O'),
                endFirst: getInt(s, 'E'),
                numPages: getInt(s, 'N'),
                mainXRefEntriesOffset: getInt(s, 'T'),
                pageFirst: s.has('P') ? getInt(s, 'P', !0) : 0,
              };
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Ascii85Stream = void 0;
          var r = a(17),
            n = a(3);
          class Ascii85Stream extends r.DecodeStream {
            constructor(e, t) {
              t && (t *= 0.8);
              super(t);
              this.str = e;
              this.dict = e.dict;
              this.input = new Uint8Array(5);
            }
            readBlock() {
              const e = this.str;
              let t = e.getByte();
              for (; (0, n.isWhiteSpace)(t); ) t = e.getByte();
              if (-1 === t || 126 === t) {
                this.eof = !0;
                return;
              }
              const a = this.bufferLength;
              let r, i;
              if (122 === t) {
                r = this.ensureBuffer(a + 4);
                for (i = 0; i < 4; ++i) r[a + i] = 0;
                this.bufferLength += 4;
              } else {
                const s = this.input;
                s[0] = t;
                for (i = 1; i < 5; ++i) {
                  t = e.getByte();
                  for (; (0, n.isWhiteSpace)(t); ) t = e.getByte();
                  s[i] = t;
                  if (-1 === t || 126 === t) break;
                }
                r = this.ensureBuffer(a + i - 1);
                this.bufferLength += i - 1;
                if (i < 5) {
                  for (; i < 5; ++i) s[i] = 117;
                  this.eof = !0;
                }
                let o = 0;
                for (i = 0; i < 5; ++i) o = 85 * o + (s[i] - 33);
                for (i = 3; i >= 0; --i) {
                  r[a + i] = 255 & o;
                  o >>= 8;
                }
              }
            }
          }
          t.Ascii85Stream = Ascii85Stream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.StreamsSequenceStream = t.DecodeStream = void 0;
          var r = a(5),
            n = a(8);
          const i = new Uint8Array(0);
          class DecodeStream extends r.BaseStream {
            constructor(e) {
              super();
              this._rawMinBufferLength = e || 0;
              this.pos = 0;
              this.bufferLength = 0;
              this.eof = !1;
              this.buffer = i;
              this.minBufferLength = 512;
              if (e) for (; this.minBufferLength < e; ) this.minBufferLength *= 2;
            }
            get isEmpty() {
              for (; !this.eof && 0 === this.bufferLength; ) this.readBlock();
              return 0 === this.bufferLength;
            }
            ensureBuffer(e) {
              const t = this.buffer;
              if (e <= t.byteLength) return t;
              let a = this.minBufferLength;
              for (; a < e; ) a *= 2;
              const r = new Uint8Array(a);
              r.set(t);
              return (this.buffer = r);
            }
            getByte() {
              const e = this.pos;
              for (; this.bufferLength <= e; ) {
                if (this.eof) return -1;
                this.readBlock();
              }
              return this.buffer[this.pos++];
            }
            getBytes(e) {
              const t = this.pos;
              let a;
              if (e) {
                this.ensureBuffer(t + e);
                a = t + e;
                for (; !this.eof && this.bufferLength < a; ) this.readBlock();
                const r = this.bufferLength;
                a > r && (a = r);
              } else {
                for (; !this.eof; ) this.readBlock();
                a = this.bufferLength;
              }
              this.pos = a;
              return this.buffer.subarray(t, a);
            }
            reset() {
              this.pos = 0;
            }
            makeSubStream(e, t, a = null) {
              if (void 0 === t) for (; !this.eof; ) this.readBlock();
              else {
                const a = e + t;
                for (; this.bufferLength <= a && !this.eof; ) this.readBlock();
              }
              return new n.Stream(this.buffer, e, t, a);
            }
            getBaseStreams() {
              return this.str ? this.str.getBaseStreams() : null;
            }
          }
          t.DecodeStream = DecodeStream;
          t.StreamsSequenceStream = class StreamsSequenceStream extends DecodeStream {
            constructor(e, t = null) {
              let a = 0;
              for (const t of e) a += t instanceof DecodeStream ? t._rawMinBufferLength : t.length;
              super(a);
              this.streams = e;
              this._onError = t;
            }
            readBlock() {
              const e = this.streams;
              if (0 === e.length) {
                this.eof = !0;
                return;
              }
              const t = e.shift();
              let a;
              try {
                a = t.getBytes();
              } catch (e) {
                if (this._onError) {
                  this._onError(e, t.dict && t.dict.objId);
                  return;
                }
                throw e;
              }
              const r = this.bufferLength,
                n = r + a.length;
              this.ensureBuffer(n).set(a, r);
              this.bufferLength = n;
            }
            getBaseStreams() {
              const e = [];
              for (const t of this.streams) {
                const a = t.getBaseStreams();
                a && e.push(...a);
              }
              return e.length > 0 ? e : null;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.AsciiHexStream = void 0;
          var r = a(17);
          class AsciiHexStream extends r.DecodeStream {
            constructor(e, t) {
              t && (t *= 0.5);
              super(t);
              this.str = e;
              this.dict = e.dict;
              this.firstDigit = -1;
            }
            readBlock() {
              const e = this.str.getBytes(8e3);
              if (!e.length) {
                this.eof = !0;
                return;
              }
              const t = (e.length + 1) >> 1,
                a = this.ensureBuffer(this.bufferLength + t);
              let r = this.bufferLength,
                n = this.firstDigit;
              for (const t of e) {
                let e;
                if (t >= 48 && t <= 57) e = 15 & t;
                else {
                  if (!((t >= 65 && t <= 70) || (t >= 97 && t <= 102))) {
                    if (62 === t) {
                      this.eof = !0;
                      break;
                    }
                    continue;
                  }
                  e = 9 + (15 & t);
                }
                if (n < 0) n = e;
                else {
                  a[r++] = (n << 4) | e;
                  n = -1;
                }
              }
              if (n >= 0 && this.eof) {
                a[r++] = n << 4;
                n = -1;
              }
              this.firstDigit = n;
              this.bufferLength = r;
            }
          }
          t.AsciiHexStream = AsciiHexStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.CCITTFaxStream = void 0;
          var r = a(20),
            n = a(17),
            i = a(4);
          class CCITTFaxStream extends n.DecodeStream {
            constructor(e, t, a) {
              super(t);
              this.str = e;
              this.dict = e.dict;
              a instanceof i.Dict || (a = i.Dict.empty);
              const n = { next: () => e.getByte() };
              this.ccittFaxDecoder = new r.CCITTFaxDecoder(n, {
                K: a.get('K'),
                EndOfLine: a.get('EndOfLine'),
                EncodedByteAlign: a.get('EncodedByteAlign'),
                Columns: a.get('Columns'),
                Rows: a.get('Rows'),
                EndOfBlock: a.get('EndOfBlock'),
                BlackIs1: a.get('BlackIs1'),
              });
            }
            readBlock() {
              for (; !this.eof; ) {
                const e = this.ccittFaxDecoder.readNextChar();
                if (-1 === e) {
                  this.eof = !0;
                  return;
                }
                this.ensureBuffer(this.bufferLength + 1);
                this.buffer[this.bufferLength++] = e;
              }
            }
          }
          t.CCITTFaxStream = CCITTFaxStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.CCITTFaxDecoder = void 0;
          var r = a(2);
          const n = -1,
            i = [
              [-1, -1],
              [-1, -1],
              [7, 8],
              [7, 7],
              [6, 6],
              [6, 6],
              [6, 5],
              [6, 5],
              [4, 0],
              [4, 0],
              [4, 0],
              [4, 0],
              [4, 0],
              [4, 0],
              [4, 0],
              [4, 0],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [3, 3],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
              [1, 2],
            ],
            s = [
              [-1, -1],
              [12, -2],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [11, 1792],
              [11, 1792],
              [12, 1984],
              [12, 2048],
              [12, 2112],
              [12, 2176],
              [12, 2240],
              [12, 2304],
              [11, 1856],
              [11, 1856],
              [11, 1920],
              [11, 1920],
              [12, 2368],
              [12, 2432],
              [12, 2496],
              [12, 2560],
            ],
            o = [
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [8, 29],
              [8, 29],
              [8, 30],
              [8, 30],
              [8, 45],
              [8, 45],
              [8, 46],
              [8, 46],
              [7, 22],
              [7, 22],
              [7, 22],
              [7, 22],
              [7, 23],
              [7, 23],
              [7, 23],
              [7, 23],
              [8, 47],
              [8, 47],
              [8, 48],
              [8, 48],
              [6, 13],
              [6, 13],
              [6, 13],
              [6, 13],
              [6, 13],
              [6, 13],
              [6, 13],
              [6, 13],
              [7, 20],
              [7, 20],
              [7, 20],
              [7, 20],
              [8, 33],
              [8, 33],
              [8, 34],
              [8, 34],
              [8, 35],
              [8, 35],
              [8, 36],
              [8, 36],
              [8, 37],
              [8, 37],
              [8, 38],
              [8, 38],
              [7, 19],
              [7, 19],
              [7, 19],
              [7, 19],
              [8, 31],
              [8, 31],
              [8, 32],
              [8, 32],
              [6, 1],
              [6, 1],
              [6, 1],
              [6, 1],
              [6, 1],
              [6, 1],
              [6, 1],
              [6, 1],
              [6, 12],
              [6, 12],
              [6, 12],
              [6, 12],
              [6, 12],
              [6, 12],
              [6, 12],
              [6, 12],
              [8, 53],
              [8, 53],
              [8, 54],
              [8, 54],
              [7, 26],
              [7, 26],
              [7, 26],
              [7, 26],
              [8, 39],
              [8, 39],
              [8, 40],
              [8, 40],
              [8, 41],
              [8, 41],
              [8, 42],
              [8, 42],
              [8, 43],
              [8, 43],
              [8, 44],
              [8, 44],
              [7, 21],
              [7, 21],
              [7, 21],
              [7, 21],
              [7, 28],
              [7, 28],
              [7, 28],
              [7, 28],
              [8, 61],
              [8, 61],
              [8, 62],
              [8, 62],
              [8, 63],
              [8, 63],
              [8, 0],
              [8, 0],
              [8, 320],
              [8, 320],
              [8, 384],
              [8, 384],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 10],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [5, 11],
              [7, 27],
              [7, 27],
              [7, 27],
              [7, 27],
              [8, 59],
              [8, 59],
              [8, 60],
              [8, 60],
              [9, 1472],
              [9, 1536],
              [9, 1600],
              [9, 1728],
              [7, 18],
              [7, 18],
              [7, 18],
              [7, 18],
              [7, 24],
              [7, 24],
              [7, 24],
              [7, 24],
              [8, 49],
              [8, 49],
              [8, 50],
              [8, 50],
              [8, 51],
              [8, 51],
              [8, 52],
              [8, 52],
              [7, 25],
              [7, 25],
              [7, 25],
              [7, 25],
              [8, 55],
              [8, 55],
              [8, 56],
              [8, 56],
              [8, 57],
              [8, 57],
              [8, 58],
              [8, 58],
              [6, 192],
              [6, 192],
              [6, 192],
              [6, 192],
              [6, 192],
              [6, 192],
              [6, 192],
              [6, 192],
              [6, 1664],
              [6, 1664],
              [6, 1664],
              [6, 1664],
              [6, 1664],
              [6, 1664],
              [6, 1664],
              [6, 1664],
              [8, 448],
              [8, 448],
              [8, 512],
              [8, 512],
              [9, 704],
              [9, 768],
              [8, 640],
              [8, 640],
              [8, 576],
              [8, 576],
              [9, 832],
              [9, 896],
              [9, 960],
              [9, 1024],
              [9, 1088],
              [9, 1152],
              [9, 1216],
              [9, 1280],
              [9, 1344],
              [9, 1408],
              [7, 256],
              [7, 256],
              [7, 256],
              [7, 256],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 2],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [4, 3],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 128],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 8],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [5, 9],
              [6, 16],
              [6, 16],
              [6, 16],
              [6, 16],
              [6, 16],
              [6, 16],
              [6, 16],
              [6, 16],
              [6, 17],
              [6, 17],
              [6, 17],
              [6, 17],
              [6, 17],
              [6, 17],
              [6, 17],
              [6, 17],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 4],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [6, 14],
              [6, 14],
              [6, 14],
              [6, 14],
              [6, 14],
              [6, 14],
              [6, 14],
              [6, 14],
              [6, 15],
              [6, 15],
              [6, 15],
              [6, 15],
              [6, 15],
              [6, 15],
              [6, 15],
              [6, 15],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [5, 64],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
              [4, 7],
            ],
            c = [
              [-1, -1],
              [-1, -1],
              [12, -2],
              [12, -2],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [11, 1792],
              [11, 1792],
              [11, 1792],
              [11, 1792],
              [12, 1984],
              [12, 1984],
              [12, 2048],
              [12, 2048],
              [12, 2112],
              [12, 2112],
              [12, 2176],
              [12, 2176],
              [12, 2240],
              [12, 2240],
              [12, 2304],
              [12, 2304],
              [11, 1856],
              [11, 1856],
              [11, 1856],
              [11, 1856],
              [11, 1920],
              [11, 1920],
              [11, 1920],
              [11, 1920],
              [12, 2368],
              [12, 2368],
              [12, 2432],
              [12, 2432],
              [12, 2496],
              [12, 2496],
              [12, 2560],
              [12, 2560],
              [10, 18],
              [10, 18],
              [10, 18],
              [10, 18],
              [10, 18],
              [10, 18],
              [10, 18],
              [10, 18],
              [12, 52],
              [12, 52],
              [13, 640],
              [13, 704],
              [13, 768],
              [13, 832],
              [12, 55],
              [12, 55],
              [12, 56],
              [12, 56],
              [13, 1280],
              [13, 1344],
              [13, 1408],
              [13, 1472],
              [12, 59],
              [12, 59],
              [12, 60],
              [12, 60],
              [13, 1536],
              [13, 1600],
              [11, 24],
              [11, 24],
              [11, 24],
              [11, 24],
              [11, 25],
              [11, 25],
              [11, 25],
              [11, 25],
              [13, 1664],
              [13, 1728],
              [12, 320],
              [12, 320],
              [12, 384],
              [12, 384],
              [12, 448],
              [12, 448],
              [13, 512],
              [13, 576],
              [12, 53],
              [12, 53],
              [12, 54],
              [12, 54],
              [13, 896],
              [13, 960],
              [13, 1024],
              [13, 1088],
              [13, 1152],
              [13, 1216],
              [10, 64],
              [10, 64],
              [10, 64],
              [10, 64],
              [10, 64],
              [10, 64],
              [10, 64],
              [10, 64],
            ],
            l = [
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [8, 13],
              [11, 23],
              [11, 23],
              [12, 50],
              [12, 51],
              [12, 44],
              [12, 45],
              [12, 46],
              [12, 47],
              [12, 57],
              [12, 58],
              [12, 61],
              [12, 256],
              [10, 16],
              [10, 16],
              [10, 16],
              [10, 16],
              [10, 17],
              [10, 17],
              [10, 17],
              [10, 17],
              [12, 48],
              [12, 49],
              [12, 62],
              [12, 63],
              [12, 30],
              [12, 31],
              [12, 32],
              [12, 33],
              [12, 40],
              [12, 41],
              [11, 22],
              [11, 22],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [8, 14],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 10],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [7, 11],
              [9, 15],
              [9, 15],
              [9, 15],
              [9, 15],
              [9, 15],
              [9, 15],
              [9, 15],
              [9, 15],
              [12, 128],
              [12, 192],
              [12, 26],
              [12, 27],
              [12, 28],
              [12, 29],
              [11, 19],
              [11, 19],
              [11, 20],
              [11, 20],
              [12, 34],
              [12, 35],
              [12, 36],
              [12, 37],
              [12, 38],
              [12, 39],
              [11, 21],
              [11, 21],
              [12, 42],
              [12, 43],
              [10, 0],
              [10, 0],
              [10, 0],
              [10, 0],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
              [7, 12],
            ],
            h = [
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [-1, -1],
              [6, 9],
              [6, 8],
              [5, 7],
              [5, 7],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 6],
              [4, 5],
              [4, 5],
              [4, 5],
              [4, 5],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 1],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [3, 4],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 3],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
              [2, 2],
            ];
          t.CCITTFaxDecoder = class CCITTFaxDecoder {
            constructor(e, t = {}) {
              if (!e || 'function' != typeof e.next) throw new Error('CCITTFaxDecoder - invalid "source" parameter.');
              this.source = e;
              this.eof = !1;
              this.encoding = t.K || 0;
              this.eoline = t.EndOfLine || !1;
              this.byteAlign = t.EncodedByteAlign || !1;
              this.columns = t.Columns || 1728;
              this.rows = t.Rows || 0;
              let a,
                r = t.EndOfBlock;
              null == r && (r = !0);
              this.eoblock = r;
              this.black = t.BlackIs1 || !1;
              this.codingLine = new Uint32Array(this.columns + 1);
              this.refLine = new Uint32Array(this.columns + 2);
              this.codingLine[0] = this.columns;
              this.codingPos = 0;
              this.row = 0;
              this.nextLine2D = this.encoding < 0;
              this.inputBits = 0;
              this.inputBuf = 0;
              this.outputBits = 0;
              this.rowsDone = !1;
              for (; 0 === (a = this._lookBits(12)); ) this._eatBits(1);
              1 === a && this._eatBits(12);
              if (this.encoding > 0) {
                this.nextLine2D = !this._lookBits(1);
                this._eatBits(1);
              }
            }
            readNextChar() {
              if (this.eof) return -1;
              const e = this.refLine,
                t = this.codingLine,
                a = this.columns;
              let i, s, o, c, l;
              if (0 === this.outputBits) {
                this.rowsDone && (this.eof = !0);
                if (this.eof) return -1;
                this.err = !1;
                let o, l, h;
                if (this.nextLine2D) {
                  for (c = 0; t[c] < a; ++c) e[c] = t[c];
                  e[c++] = a;
                  e[c] = a;
                  t[0] = 0;
                  this.codingPos = 0;
                  i = 0;
                  s = 0;
                  for (; t[this.codingPos] < a; ) {
                    o = this._getTwoDimCode();
                    switch (o) {
                      case 0:
                        this._addPixels(e[i + 1], s);
                        e[i + 1] < a && (i += 2);
                        break;
                      case 1:
                        o = l = 0;
                        if (s) {
                          do {
                            o += h = this._getBlackCode();
                          } while (h >= 64);
                          do {
                            l += h = this._getWhiteCode();
                          } while (h >= 64);
                        } else {
                          do {
                            o += h = this._getWhiteCode();
                          } while (h >= 64);
                          do {
                            l += h = this._getBlackCode();
                          } while (h >= 64);
                        }
                        this._addPixels(t[this.codingPos] + o, s);
                        t[this.codingPos] < a && this._addPixels(t[this.codingPos] + l, 1 ^ s);
                        for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        break;
                      case 7:
                        this._addPixels(e[i] + 3, s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case 5:
                        this._addPixels(e[i] + 2, s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case 3:
                        this._addPixels(e[i] + 1, s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case 2:
                        this._addPixels(e[i], s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case 8:
                        this._addPixelsNeg(e[i] - 3, s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          i > 0 ? --i : ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case 6:
                        this._addPixelsNeg(e[i] - 2, s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          i > 0 ? --i : ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case 4:
                        this._addPixelsNeg(e[i] - 1, s);
                        s ^= 1;
                        if (t[this.codingPos] < a) {
                          i > 0 ? --i : ++i;
                          for (; e[i] <= t[this.codingPos] && e[i] < a; ) i += 2;
                        }
                        break;
                      case n:
                        this._addPixels(a, 0);
                        this.eof = !0;
                        break;
                      default:
                        (0, r.info)('bad 2d code');
                        this._addPixels(a, 0);
                        this.err = !0;
                    }
                  }
                } else {
                  t[0] = 0;
                  this.codingPos = 0;
                  s = 0;
                  for (; t[this.codingPos] < a; ) {
                    o = 0;
                    if (s)
                      do {
                        o += h = this._getBlackCode();
                      } while (h >= 64);
                    else
                      do {
                        o += h = this._getWhiteCode();
                      } while (h >= 64);
                    this._addPixels(t[this.codingPos] + o, s);
                    s ^= 1;
                  }
                }
                let u = !1;
                this.byteAlign && (this.inputBits &= -8);
                if (this.eoblock || this.row !== this.rows - 1) {
                  o = this._lookBits(12);
                  if (this.eoline)
                    for (; o !== n && 1 !== o; ) {
                      this._eatBits(1);
                      o = this._lookBits(12);
                    }
                  else
                    for (; 0 === o; ) {
                      this._eatBits(1);
                      o = this._lookBits(12);
                    }
                  if (1 === o) {
                    this._eatBits(12);
                    u = !0;
                  } else o === n && (this.eof = !0);
                } else this.rowsDone = !0;
                if (!this.eof && this.encoding > 0 && !this.rowsDone) {
                  this.nextLine2D = !this._lookBits(1);
                  this._eatBits(1);
                }
                if (this.eoblock && u && this.byteAlign) {
                  o = this._lookBits(12);
                  if (1 === o) {
                    this._eatBits(12);
                    if (this.encoding > 0) {
                      this._lookBits(1);
                      this._eatBits(1);
                    }
                    if (this.encoding >= 0)
                      for (c = 0; c < 4; ++c) {
                        o = this._lookBits(12);
                        1 !== o && (0, r.info)('bad rtc code: ' + o);
                        this._eatBits(12);
                        if (this.encoding > 0) {
                          this._lookBits(1);
                          this._eatBits(1);
                        }
                      }
                    this.eof = !0;
                  }
                } else if (this.err && this.eoline) {
                  for (;;) {
                    o = this._lookBits(13);
                    if (o === n) {
                      this.eof = !0;
                      return -1;
                    }
                    if (o >> 1 == 1) break;
                    this._eatBits(1);
                  }
                  this._eatBits(12);
                  if (this.encoding > 0) {
                    this._eatBits(1);
                    this.nextLine2D = !(1 & o);
                  }
                }
                t[0] > 0 ? (this.outputBits = t[(this.codingPos = 0)]) : (this.outputBits = t[(this.codingPos = 1)]);
                this.row++;
              }
              if (this.outputBits >= 8) {
                l = 1 & this.codingPos ? 0 : 255;
                this.outputBits -= 8;
                if (0 === this.outputBits && t[this.codingPos] < a) {
                  this.codingPos++;
                  this.outputBits = t[this.codingPos] - t[this.codingPos - 1];
                }
              } else {
                o = 8;
                l = 0;
                do {
                  if ('number' != typeof this.outputBits)
                    throw new r.FormatError('Invalid /CCITTFaxDecode data, "outputBits" must be a number.');
                  if (this.outputBits > o) {
                    l <<= o;
                    1 & this.codingPos || (l |= 255 >> (8 - o));
                    this.outputBits -= o;
                    o = 0;
                  } else {
                    l <<= this.outputBits;
                    1 & this.codingPos || (l |= 255 >> (8 - this.outputBits));
                    o -= this.outputBits;
                    this.outputBits = 0;
                    if (t[this.codingPos] < a) {
                      this.codingPos++;
                      this.outputBits = t[this.codingPos] - t[this.codingPos - 1];
                    } else if (o > 0) {
                      l <<= o;
                      o = 0;
                    }
                  }
                } while (o);
              }
              this.black && (l ^= 255);
              return l;
            }
            _addPixels(e, t) {
              const a = this.codingLine;
              let n = this.codingPos;
              if (e > a[n]) {
                if (e > this.columns) {
                  (0, r.info)('row is wrong length');
                  this.err = !0;
                  e = this.columns;
                }
                (1 & n) ^ t && ++n;
                a[n] = e;
              }
              this.codingPos = n;
            }
            _addPixelsNeg(e, t) {
              const a = this.codingLine;
              let n = this.codingPos;
              if (e > a[n]) {
                if (e > this.columns) {
                  (0, r.info)('row is wrong length');
                  this.err = !0;
                  e = this.columns;
                }
                (1 & n) ^ t && ++n;
                a[n] = e;
              } else if (e < a[n]) {
                if (e < 0) {
                  (0, r.info)('invalid code');
                  this.err = !0;
                  e = 0;
                }
                for (; n > 0 && e < a[n - 1]; ) --n;
                a[n] = e;
              }
              this.codingPos = n;
            }
            _findTableCode(e, t, a, r) {
              const i = r || 0;
              for (let r = e; r <= t; ++r) {
                let e = this._lookBits(r);
                if (e === n) return [!0, 1, !1];
                r < t && (e <<= t - r);
                if (!i || e >= i) {
                  const t = a[e - i];
                  if (t[0] === r) {
                    this._eatBits(r);
                    return [!0, t[1], !0];
                  }
                }
              }
              return [!1, 0, !1];
            }
            _getTwoDimCode() {
              let e,
                t = 0;
              if (this.eoblock) {
                t = this._lookBits(7);
                e = i[t];
                if (e && e[0] > 0) {
                  this._eatBits(e[0]);
                  return e[1];
                }
              } else {
                const e = this._findTableCode(1, 7, i);
                if (e[0] && e[2]) return e[1];
              }
              (0, r.info)('Bad two dim code');
              return n;
            }
            _getWhiteCode() {
              let e,
                t = 0;
              if (this.eoblock) {
                t = this._lookBits(12);
                if (t === n) return 1;
                e = t >> 5 == 0 ? s[t] : o[t >> 3];
                if (e[0] > 0) {
                  this._eatBits(e[0]);
                  return e[1];
                }
              } else {
                let e = this._findTableCode(1, 9, o);
                if (e[0]) return e[1];
                e = this._findTableCode(11, 12, s);
                if (e[0]) return e[1];
              }
              (0, r.info)('bad white code');
              this._eatBits(1);
              return 1;
            }
            _getBlackCode() {
              let e, t;
              if (this.eoblock) {
                e = this._lookBits(13);
                if (e === n) return 1;
                t = e >> 7 == 0 ? c[e] : e >> 9 == 0 && e >> 7 != 0 ? l[(e >> 1) - 64] : h[e >> 7];
                if (t[0] > 0) {
                  this._eatBits(t[0]);
                  return t[1];
                }
              } else {
                let e = this._findTableCode(2, 6, h);
                if (e[0]) return e[1];
                e = this._findTableCode(7, 12, l, 64);
                if (e[0]) return e[1];
                e = this._findTableCode(10, 13, c);
                if (e[0]) return e[1];
              }
              (0, r.info)('bad black code');
              this._eatBits(1);
              return 1;
            }
            _lookBits(e) {
              let t;
              for (; this.inputBits < e; ) {
                if (-1 === (t = this.source.next()))
                  return 0 === this.inputBits ? n : (this.inputBuf << (e - this.inputBits)) & (65535 >> (16 - e));
                this.inputBuf = (this.inputBuf << 8) | t;
                this.inputBits += 8;
              }
              return (this.inputBuf >> (this.inputBits - e)) & (65535 >> (16 - e));
            }
            _eatBits(e) {
              (this.inputBits -= e) < 0 && (this.inputBits = 0);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.FlateStream = void 0;
          var r = a(17),
            n = a(2);
          const i = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]),
            s = new Int32Array([
              3, 4, 5, 6, 7, 8, 9, 10, 65547, 65549, 65551, 65553, 131091, 131095, 131099, 131103, 196643, 196651,
              196659, 196667, 262211, 262227, 262243, 262259, 327811, 327843, 327875, 327907, 258, 258, 258,
            ]),
            o = new Int32Array([
              1, 2, 3, 4, 65541, 65543, 131081, 131085, 196625, 196633, 262177, 262193, 327745, 327777, 393345, 393409,
              459009, 459137, 524801, 525057, 590849, 591361, 657409, 658433, 724993, 727041, 794625, 798721, 868353,
              876545,
            ]),
            c = [
              new Int32Array([
                459008, 524368, 524304, 524568, 459024, 524400, 524336, 590016, 459016, 524384, 524320, 589984, 524288,
                524416, 524352, 590048, 459012, 524376, 524312, 589968, 459028, 524408, 524344, 590032, 459020, 524392,
                524328, 59e4, 524296, 524424, 524360, 590064, 459010, 524372, 524308, 524572, 459026, 524404, 524340,
                590024, 459018, 524388, 524324, 589992, 524292, 524420, 524356, 590056, 459014, 524380, 524316, 589976,
                459030, 524412, 524348, 590040, 459022, 524396, 524332, 590008, 524300, 524428, 524364, 590072, 459009,
                524370, 524306, 524570, 459025, 524402, 524338, 590020, 459017, 524386, 524322, 589988, 524290, 524418,
                524354, 590052, 459013, 524378, 524314, 589972, 459029, 524410, 524346, 590036, 459021, 524394, 524330,
                590004, 524298, 524426, 524362, 590068, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590028,
                459019, 524390, 524326, 589996, 524294, 524422, 524358, 590060, 459015, 524382, 524318, 589980, 459031,
                524414, 524350, 590044, 459023, 524398, 524334, 590012, 524302, 524430, 524366, 590076, 459008, 524369,
                524305, 524569, 459024, 524401, 524337, 590018, 459016, 524385, 524321, 589986, 524289, 524417, 524353,
                590050, 459012, 524377, 524313, 589970, 459028, 524409, 524345, 590034, 459020, 524393, 524329, 590002,
                524297, 524425, 524361, 590066, 459010, 524373, 524309, 524573, 459026, 524405, 524341, 590026, 459018,
                524389, 524325, 589994, 524293, 524421, 524357, 590058, 459014, 524381, 524317, 589978, 459030, 524413,
                524349, 590042, 459022, 524397, 524333, 590010, 524301, 524429, 524365, 590074, 459009, 524371, 524307,
                524571, 459025, 524403, 524339, 590022, 459017, 524387, 524323, 589990, 524291, 524419, 524355, 590054,
                459013, 524379, 524315, 589974, 459029, 524411, 524347, 590038, 459021, 524395, 524331, 590006, 524299,
                524427, 524363, 590070, 459011, 524375, 524311, 524575, 459027, 524407, 524343, 590030, 459019, 524391,
                524327, 589998, 524295, 524423, 524359, 590062, 459015, 524383, 524319, 589982, 459031, 524415, 524351,
                590046, 459023, 524399, 524335, 590014, 524303, 524431, 524367, 590078, 459008, 524368, 524304, 524568,
                459024, 524400, 524336, 590017, 459016, 524384, 524320, 589985, 524288, 524416, 524352, 590049, 459012,
                524376, 524312, 589969, 459028, 524408, 524344, 590033, 459020, 524392, 524328, 590001, 524296, 524424,
                524360, 590065, 459010, 524372, 524308, 524572, 459026, 524404, 524340, 590025, 459018, 524388, 524324,
                589993, 524292, 524420, 524356, 590057, 459014, 524380, 524316, 589977, 459030, 524412, 524348, 590041,
                459022, 524396, 524332, 590009, 524300, 524428, 524364, 590073, 459009, 524370, 524306, 524570, 459025,
                524402, 524338, 590021, 459017, 524386, 524322, 589989, 524290, 524418, 524354, 590053, 459013, 524378,
                524314, 589973, 459029, 524410, 524346, 590037, 459021, 524394, 524330, 590005, 524298, 524426, 524362,
                590069, 459011, 524374, 524310, 524574, 459027, 524406, 524342, 590029, 459019, 524390, 524326, 589997,
                524294, 524422, 524358, 590061, 459015, 524382, 524318, 589981, 459031, 524414, 524350, 590045, 459023,
                524398, 524334, 590013, 524302, 524430, 524366, 590077, 459008, 524369, 524305, 524569, 459024, 524401,
                524337, 590019, 459016, 524385, 524321, 589987, 524289, 524417, 524353, 590051, 459012, 524377, 524313,
                589971, 459028, 524409, 524345, 590035, 459020, 524393, 524329, 590003, 524297, 524425, 524361, 590067,
                459010, 524373, 524309, 524573, 459026, 524405, 524341, 590027, 459018, 524389, 524325, 589995, 524293,
                524421, 524357, 590059, 459014, 524381, 524317, 589979, 459030, 524413, 524349, 590043, 459022, 524397,
                524333, 590011, 524301, 524429, 524365, 590075, 459009, 524371, 524307, 524571, 459025, 524403, 524339,
                590023, 459017, 524387, 524323, 589991, 524291, 524419, 524355, 590055, 459013, 524379, 524315, 589975,
                459029, 524411, 524347, 590039, 459021, 524395, 524331, 590007, 524299, 524427, 524363, 590071, 459011,
                524375, 524311, 524575, 459027, 524407, 524343, 590031, 459019, 524391, 524327, 589999, 524295, 524423,
                524359, 590063, 459015, 524383, 524319, 589983, 459031, 524415, 524351, 590047, 459023, 524399, 524335,
                590015, 524303, 524431, 524367, 590079,
              ]),
              9,
            ],
            l = [
              new Int32Array([
                327680, 327696, 327688, 327704, 327684, 327700, 327692, 327708, 327682, 327698, 327690, 327706, 327686,
                327702, 327694, 0, 327681, 327697, 327689, 327705, 327685, 327701, 327693, 327709, 327683, 327699,
                327691, 327707, 327687, 327703, 327695, 0,
              ]),
              5,
            ];
          class FlateStream extends r.DecodeStream {
            constructor(e, t) {
              super(t);
              this.str = e;
              this.dict = e.dict;
              const a = e.getByte(),
                r = e.getByte();
              if (-1 === a || -1 === r) throw new n.FormatError(`Invalid header in flate stream: ${a}, ${r}`);
              if (8 != (15 & a)) throw new n.FormatError(`Unknown compression method in flate stream: ${a}, ${r}`);
              if (((a << 8) + r) % 31 != 0) throw new n.FormatError(`Bad FCHECK in flate stream: ${a}, ${r}`);
              if (32 & r) throw new n.FormatError(`FDICT bit set in flate stream: ${a}, ${r}`);
              this.codeSize = 0;
              this.codeBuf = 0;
            }
            getBits(e) {
              const t = this.str;
              let a,
                r = this.codeSize,
                i = this.codeBuf;
              for (; r < e; ) {
                if (-1 === (a = t.getByte())) throw new n.FormatError('Bad encoding in flate stream');
                i |= a << r;
                r += 8;
              }
              a = i & ((1 << e) - 1);
              this.codeBuf = i >> e;
              this.codeSize = r -= e;
              return a;
            }
            getCode(e) {
              const t = this.str,
                a = e[0],
                r = e[1];
              let i,
                s = this.codeSize,
                o = this.codeBuf;
              for (; s < r && -1 !== (i = t.getByte()); ) {
                o |= i << s;
                s += 8;
              }
              const c = a[o & ((1 << r) - 1)],
                l = c >> 16,
                h = 65535 & c;
              if (l < 1 || s < l) throw new n.FormatError('Bad encoding in flate stream');
              this.codeBuf = o >> l;
              this.codeSize = s - l;
              return h;
            }
            generateHuffmanTable(e) {
              const t = e.length;
              let a,
                r = 0;
              for (a = 0; a < t; ++a) e[a] > r && (r = e[a]);
              const n = 1 << r,
                i = new Int32Array(n);
              for (let s = 1, o = 0, c = 2; s <= r; ++s, o <<= 1, c <<= 1)
                for (let r = 0; r < t; ++r)
                  if (e[r] === s) {
                    let e = 0,
                      t = o;
                    for (a = 0; a < s; ++a) {
                      e = (e << 1) | (1 & t);
                      t >>= 1;
                    }
                    for (a = e; a < n; a += c) i[a] = (s << 16) | r;
                    ++o;
                  }
              return [i, r];
            }
            readBlock() {
              let e, t;
              const a = this.str;
              let r,
                h,
                u = this.getBits(3);
              1 & u && (this.eof = !0);
              u >>= 1;
              if (0 === u) {
                let t;
                if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
                let r = t;
                if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
                r |= t << 8;
                if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
                let i = t;
                if (-1 === (t = a.getByte())) throw new n.FormatError('Bad block header in flate stream');
                i |= t << 8;
                if (i !== (65535 & ~r) && (0 !== r || 0 !== i))
                  throw new n.FormatError('Bad uncompressed block length in flate stream');
                this.codeBuf = 0;
                this.codeSize = 0;
                const s = this.bufferLength,
                  o = s + r;
                e = this.ensureBuffer(o);
                this.bufferLength = o;
                if (0 === r) -1 === a.peekByte() && (this.eof = !0);
                else {
                  const t = a.getBytes(r);
                  e.set(t, s);
                  t.length < r && (this.eof = !0);
                }
                return;
              }
              if (1 === u) {
                r = c;
                h = l;
              } else {
                if (2 !== u) throw new n.FormatError('Unknown block type in flate stream');
                {
                  const e = this.getBits(5) + 257,
                    a = this.getBits(5) + 1,
                    n = this.getBits(4) + 4,
                    s = new Uint8Array(i.length);
                  let o;
                  for (o = 0; o < n; ++o) s[i[o]] = this.getBits(3);
                  const c = this.generateHuffmanTable(s);
                  t = 0;
                  o = 0;
                  const l = e + a,
                    u = new Uint8Array(l);
                  let d, f, g;
                  for (; o < l; ) {
                    const e = this.getCode(c);
                    if (16 === e) {
                      d = 2;
                      f = 3;
                      g = t;
                    } else if (17 === e) {
                      d = 3;
                      f = 3;
                      g = t = 0;
                    } else {
                      if (18 !== e) {
                        u[o++] = t = e;
                        continue;
                      }
                      d = 7;
                      f = 11;
                      g = t = 0;
                    }
                    let a = this.getBits(d) + f;
                    for (; a-- > 0; ) u[o++] = g;
                  }
                  r = this.generateHuffmanTable(u.subarray(0, e));
                  h = this.generateHuffmanTable(u.subarray(e, l));
                }
              }
              e = this.buffer;
              let d = e ? e.length : 0,
                f = this.bufferLength;
              for (;;) {
                let a = this.getCode(r);
                if (a < 256) {
                  if (f + 1 >= d) {
                    e = this.ensureBuffer(f + 1);
                    d = e.length;
                  }
                  e[f++] = a;
                  continue;
                }
                if (256 === a) {
                  this.bufferLength = f;
                  return;
                }
                a -= 257;
                a = s[a];
                let n = a >> 16;
                n > 0 && (n = this.getBits(n));
                t = (65535 & a) + n;
                a = this.getCode(h);
                a = o[a];
                n = a >> 16;
                n > 0 && (n = this.getBits(n));
                const i = (65535 & a) + n;
                if (f + t >= d) {
                  e = this.ensureBuffer(f + t);
                  d = e.length;
                }
                for (let a = 0; a < t; ++a, ++f) e[f] = e[f - i];
              }
            }
          }
          t.FlateStream = FlateStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Jbig2Stream = void 0;
          var r = a(5),
            n = a(17),
            i = a(4),
            s = a(23),
            o = a(2);
          class Jbig2Stream extends n.DecodeStream {
            constructor(e, t, a) {
              super(t);
              this.stream = e;
              this.dict = e.dict;
              this.maybeLength = t;
              this.params = a;
            }
            get bytes() {
              return (0, o.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
            }
            ensureBuffer(e) {}
            readBlock() {
              if (this.eof) return;
              const e = new s.Jbig2Image(),
                t = [];
              if (this.params instanceof i.Dict) {
                const e = this.params.get('JBIG2Globals');
                if (e instanceof r.BaseStream) {
                  const a = e.getBytes();
                  t.push({ data: a, start: 0, end: a.length });
                }
              }
              t.push({ data: this.bytes, start: 0, end: this.bytes.length });
              const a = e.parseChunks(t),
                n = a.length;
              for (let e = 0; e < n; e++) a[e] ^= 255;
              this.buffer = a;
              this.bufferLength = n;
              this.eof = !0;
            }
          }
          t.Jbig2Stream = Jbig2Stream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Jbig2Image = void 0;
          var r = a(2),
            n = a(3),
            i = a(24),
            s = a(20);
          class Jbig2Error extends r.BaseException {
            constructor(e) {
              super(`JBIG2 error: ${e}`, 'Jbig2Error');
            }
          }
          class ContextCache {
            getContexts(e) {
              return e in this ? this[e] : (this[e] = new Int8Array(65536));
            }
          }
          class DecodingContext {
            constructor(e, t, a) {
              this.data = e;
              this.start = t;
              this.end = a;
            }
            get decoder() {
              const e = new i.ArithmeticDecoder(this.data, this.start, this.end);
              return (0, r.shadow)(this, 'decoder', e);
            }
            get contextCache() {
              const e = new ContextCache();
              return (0, r.shadow)(this, 'contextCache', e);
            }
          }
          const o = 2 ** 31 - 1,
            c = -(2 ** 31);
          function decodeInteger(e, t, a) {
            const r = e.getContexts(t);
            let n = 1;
            function readBits(e) {
              let t = 0;
              for (let i = 0; i < e; i++) {
                const e = a.readBit(r, n);
                n = n < 256 ? (n << 1) | e : (511 & ((n << 1) | e)) | 256;
                t = (t << 1) | e;
              }
              return t >>> 0;
            }
            const i = readBits(1),
              s = readBits(1)
                ? readBits(1)
                  ? readBits(1)
                    ? readBits(1)
                      ? readBits(1)
                        ? readBits(32) + 4436
                        : readBits(12) + 340
                      : readBits(8) + 84
                    : readBits(6) + 20
                  : readBits(4) + 4
                : readBits(2);
            let l;
            0 === i ? (l = s) : s > 0 && (l = -s);
            return l >= c && l <= o ? l : null;
          }
          function decodeIAID(e, t, a) {
            const r = e.getContexts('IAID');
            let n = 1;
            for (let e = 0; e < a; e++) {
              n = (n << 1) | t.readBit(r, n);
            }
            return a < 31 ? n & ((1 << a) - 1) : 2147483647 & n;
          }
          const l = [
              'SymbolDictionary',
              null,
              null,
              null,
              'IntermediateTextRegion',
              null,
              'ImmediateTextRegion',
              'ImmediateLosslessTextRegion',
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              'PatternDictionary',
              null,
              null,
              null,
              'IntermediateHalftoneRegion',
              null,
              'ImmediateHalftoneRegion',
              'ImmediateLosslessHalftoneRegion',
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              'IntermediateGenericRegion',
              null,
              'ImmediateGenericRegion',
              'ImmediateLosslessGenericRegion',
              'IntermediateGenericRefinementRegion',
              null,
              'ImmediateGenericRefinementRegion',
              'ImmediateLosslessGenericRefinementRegion',
              null,
              null,
              null,
              null,
              'PageInformation',
              'EndOfPage',
              'EndOfStripe',
              'EndOfFile',
              'Profiles',
              'Tables',
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              null,
              'Extension',
            ],
            h = [
              [
                { x: -1, y: -2 },
                { x: 0, y: -2 },
                { x: 1, y: -2 },
                { x: -2, y: -1 },
                { x: -1, y: -1 },
                { x: 0, y: -1 },
                { x: 1, y: -1 },
                { x: 2, y: -1 },
                { x: -4, y: 0 },
                { x: -3, y: 0 },
                { x: -2, y: 0 },
                { x: -1, y: 0 },
              ],
              [
                { x: -1, y: -2 },
                { x: 0, y: -2 },
                { x: 1, y: -2 },
                { x: 2, y: -2 },
                { x: -2, y: -1 },
                { x: -1, y: -1 },
                { x: 0, y: -1 },
                { x: 1, y: -1 },
                { x: 2, y: -1 },
                { x: -3, y: 0 },
                { x: -2, y: 0 },
                { x: -1, y: 0 },
              ],
              [
                { x: -1, y: -2 },
                { x: 0, y: -2 },
                { x: 1, y: -2 },
                { x: -2, y: -1 },
                { x: -1, y: -1 },
                { x: 0, y: -1 },
                { x: 1, y: -1 },
                { x: -2, y: 0 },
                { x: -1, y: 0 },
              ],
              [
                { x: -3, y: -1 },
                { x: -2, y: -1 },
                { x: -1, y: -1 },
                { x: 0, y: -1 },
                { x: 1, y: -1 },
                { x: -4, y: 0 },
                { x: -3, y: 0 },
                { x: -2, y: 0 },
                { x: -1, y: 0 },
              ],
            ],
            u = [
              {
                coding: [
                  { x: 0, y: -1 },
                  { x: 1, y: -1 },
                  { x: -1, y: 0 },
                ],
                reference: [
                  { x: 0, y: -1 },
                  { x: 1, y: -1 },
                  { x: -1, y: 0 },
                  { x: 0, y: 0 },
                  { x: 1, y: 0 },
                  { x: -1, y: 1 },
                  { x: 0, y: 1 },
                  { x: 1, y: 1 },
                ],
              },
              {
                coding: [
                  { x: -1, y: -1 },
                  { x: 0, y: -1 },
                  { x: 1, y: -1 },
                  { x: -1, y: 0 },
                ],
                reference: [
                  { x: 0, y: -1 },
                  { x: -1, y: 0 },
                  { x: 0, y: 0 },
                  { x: 1, y: 0 },
                  { x: 0, y: 1 },
                  { x: 1, y: 1 },
                ],
              },
            ],
            d = [39717, 1941, 229, 405],
            f = [32, 8];
          function decodeBitmap(e, t, a, r, n, i, s, o) {
            if (e) {
              return decodeMMRBitmap(new Reader(o.data, o.start, o.end), t, a, !1);
            }
            if (
              0 === r &&
              !i &&
              !n &&
              4 === s.length &&
              3 === s[0].x &&
              -1 === s[0].y &&
              -3 === s[1].x &&
              -1 === s[1].y &&
              2 === s[2].x &&
              -2 === s[2].y &&
              -2 === s[3].x &&
              -2 === s[3].y
            )
              return (function decodeBitmapTemplate0(e, t, a) {
                const r = a.decoder,
                  n = a.contextCache.getContexts('GB'),
                  i = [];
                let s, o, c, l, h, u, d;
                for (o = 0; o < t; o++) {
                  h = i[o] = new Uint8Array(e);
                  u = o < 1 ? h : i[o - 1];
                  d = o < 2 ? h : i[o - 2];
                  s =
                    (d[0] << 13) | (d[1] << 12) | (d[2] << 11) | (u[0] << 7) | (u[1] << 6) | (u[2] << 5) | (u[3] << 4);
                  for (c = 0; c < e; c++) {
                    h[c] = l = r.readBit(n, s);
                    s = ((31735 & s) << 1) | (c + 3 < e ? d[c + 3] << 11 : 0) | (c + 4 < e ? u[c + 4] << 4 : 0) | l;
                  }
                }
                return i;
              })(t, a, o);
            const c = !!i,
              l = h[r].concat(s);
            l.sort(function (e, t) {
              return e.y - t.y || e.x - t.x;
            });
            const u = l.length,
              f = new Int8Array(u),
              g = new Int8Array(u),
              p = [];
            let m,
              b,
              y = 0,
              w = 0,
              S = 0,
              x = 0;
            for (b = 0; b < u; b++) {
              f[b] = l[b].x;
              g[b] = l[b].y;
              w = Math.min(w, l[b].x);
              S = Math.max(S, l[b].x);
              x = Math.min(x, l[b].y);
              b < u - 1 && l[b].y === l[b + 1].y && l[b].x === l[b + 1].x - 1 ? (y |= 1 << (u - 1 - b)) : p.push(b);
            }
            const C = p.length,
              k = new Int8Array(C),
              v = new Int8Array(C),
              F = new Uint16Array(C);
            for (m = 0; m < C; m++) {
              b = p[m];
              k[m] = l[b].x;
              v[m] = l[b].y;
              F[m] = 1 << (u - 1 - b);
            }
            const O = -w,
              T = -x,
              M = t - S,
              E = d[r];
            let D = new Uint8Array(t);
            const N = [],
              R = o.decoder,
              L = o.contextCache.getContexts('GB');
            let j,
              $,
              _,
              U,
              X,
              H = 0,
              q = 0;
            for (let e = 0; e < a; e++) {
              if (n) {
                H ^= R.readBit(L, E);
                if (H) {
                  N.push(D);
                  continue;
                }
              }
              D = new Uint8Array(D);
              N.push(D);
              for (j = 0; j < t; j++) {
                if (c && i[e][j]) {
                  D[j] = 0;
                  continue;
                }
                if (j >= O && j < M && e >= T) {
                  q = (q << 1) & y;
                  for (b = 0; b < C; b++) {
                    $ = e + v[b];
                    _ = j + k[b];
                    U = N[$][_];
                    if (U) {
                      U = F[b];
                      q |= U;
                    }
                  }
                } else {
                  q = 0;
                  X = u - 1;
                  for (b = 0; b < u; b++, X--) {
                    _ = j + f[b];
                    if (_ >= 0 && _ < t) {
                      $ = e + g[b];
                      if ($ >= 0) {
                        U = N[$][_];
                        U && (q |= U << X);
                      }
                    }
                  }
                }
                const a = R.readBit(L, q);
                D[j] = a;
              }
            }
            return N;
          }
          function decodeRefinement(e, t, a, r, n, i, s, o, c) {
            let l = u[a].coding;
            0 === a && (l = l.concat([o[0]]));
            const h = l.length,
              d = new Int32Array(h),
              g = new Int32Array(h);
            let p;
            for (p = 0; p < h; p++) {
              d[p] = l[p].x;
              g[p] = l[p].y;
            }
            let m = u[a].reference;
            0 === a && (m = m.concat([o[1]]));
            const b = m.length,
              y = new Int32Array(b),
              w = new Int32Array(b);
            for (p = 0; p < b; p++) {
              y[p] = m[p].x;
              w[p] = m[p].y;
            }
            const S = r[0].length,
              x = r.length,
              C = f[a],
              k = [],
              v = c.decoder,
              F = c.contextCache.getContexts('GR');
            let O = 0;
            for (let a = 0; a < t; a++) {
              if (s) {
                O ^= v.readBit(F, C);
                if (O) throw new Jbig2Error('prediction is not supported');
              }
              const t = new Uint8Array(e);
              k.push(t);
              for (let s = 0; s < e; s++) {
                let o,
                  c,
                  l = 0;
                for (p = 0; p < h; p++) {
                  o = a + g[p];
                  c = s + d[p];
                  o < 0 || c < 0 || c >= e ? (l <<= 1) : (l = (l << 1) | k[o][c]);
                }
                for (p = 0; p < b; p++) {
                  o = a + w[p] - i;
                  c = s + y[p] - n;
                  o < 0 || o >= x || c < 0 || c >= S ? (l <<= 1) : (l = (l << 1) | r[o][c]);
                }
                const u = v.readBit(F, l);
                t[s] = u;
              }
            }
            return k;
          }
          function decodeTextRegion(e, t, a, r, n, i, s, o, c, l, h, u, d, f, g, p, m, b, y) {
            if (e && t) throw new Jbig2Error('refinement with Huffman is not supported');
            const w = [];
            let S, x;
            for (S = 0; S < r; S++) {
              x = new Uint8Array(a);
              if (n) for (let e = 0; e < a; e++) x[e] = n;
              w.push(x);
            }
            const C = m.decoder,
              k = m.contextCache;
            let v = e ? -f.tableDeltaT.decode(y) : -decodeInteger(k, 'IADT', C),
              F = 0;
            S = 0;
            for (; S < i; ) {
              v += e ? f.tableDeltaT.decode(y) : decodeInteger(k, 'IADT', C);
              F += e ? f.tableFirstS.decode(y) : decodeInteger(k, 'IAFS', C);
              let r = F;
              for (;;) {
                let n = 0;
                s > 1 && (n = e ? y.readBits(b) : decodeInteger(k, 'IAIT', C));
                const i = s * v + n,
                  F = e ? f.symbolIDTable.decode(y) : decodeIAID(k, C, c),
                  O = t && (e ? y.readBit() : decodeInteger(k, 'IARI', C));
                let T = o[F],
                  M = T[0].length,
                  E = T.length;
                if (O) {
                  const e = decodeInteger(k, 'IARDW', C),
                    t = decodeInteger(k, 'IARDH', C);
                  M += e;
                  E += t;
                  T = decodeRefinement(
                    M,
                    E,
                    g,
                    T,
                    (e >> 1) + decodeInteger(k, 'IARDX', C),
                    (t >> 1) + decodeInteger(k, 'IARDY', C),
                    !1,
                    p,
                    m
                  );
                }
                const D = i - (1 & u ? 0 : E - 1),
                  N = r - (2 & u ? M - 1 : 0);
                let R, L, j;
                if (l) {
                  for (R = 0; R < E; R++) {
                    x = w[N + R];
                    if (!x) continue;
                    j = T[R];
                    const e = Math.min(a - D, M);
                    switch (d) {
                      case 0:
                        for (L = 0; L < e; L++) x[D + L] |= j[L];
                        break;
                      case 2:
                        for (L = 0; L < e; L++) x[D + L] ^= j[L];
                        break;
                      default:
                        throw new Jbig2Error(`operator ${d} is not supported`);
                    }
                  }
                  r += E - 1;
                } else {
                  for (L = 0; L < E; L++) {
                    x = w[D + L];
                    if (x) {
                      j = T[L];
                      switch (d) {
                        case 0:
                          for (R = 0; R < M; R++) x[N + R] |= j[R];
                          break;
                        case 2:
                          for (R = 0; R < M; R++) x[N + R] ^= j[R];
                          break;
                        default:
                          throw new Jbig2Error(`operator ${d} is not supported`);
                      }
                    }
                  }
                  r += M - 1;
                }
                S++;
                const $ = e ? f.tableDeltaS.decode(y) : decodeInteger(k, 'IADS', C);
                if (null === $) break;
                r += $ + h;
              }
            }
            return w;
          }
          function readSegmentHeader(e, t) {
            const a = {};
            a.number = (0, n.readUint32)(e, t);
            const r = e[t + 4],
              i = 63 & r;
            if (!l[i]) throw new Jbig2Error('invalid segment type: ' + i);
            a.type = i;
            a.typeName = l[i];
            a.deferredNonRetain = !!(128 & r);
            const s = !!(64 & r),
              o = e[t + 5];
            let c = (o >> 5) & 7;
            const h = [31 & o];
            let u = t + 6;
            if (7 === o) {
              c = 536870911 & (0, n.readUint32)(e, u - 1);
              u += 3;
              let t = (c + 7) >> 3;
              h[0] = e[u++];
              for (; --t > 0; ) h.push(e[u++]);
            } else if (5 === o || 6 === o) throw new Jbig2Error('invalid referred-to flags');
            a.retainBits = h;
            let d = 4;
            a.number <= 256 ? (d = 1) : a.number <= 65536 && (d = 2);
            const f = [];
            let p, m;
            for (p = 0; p < c; p++) {
              let t;
              t = 1 === d ? e[u] : 2 === d ? (0, n.readUint16)(e, u) : (0, n.readUint32)(e, u);
              f.push(t);
              u += d;
            }
            a.referredTo = f;
            if (s) {
              a.pageAssociation = (0, n.readUint32)(e, u);
              u += 4;
            } else a.pageAssociation = e[u++];
            a.length = (0, n.readUint32)(e, u);
            u += 4;
            if (4294967295 === a.length) {
              if (38 !== i) throw new Jbig2Error('invalid unknown segment length');
              {
                const t = readRegionSegmentInformation(e, u),
                  r = !!(1 & e[u + g]),
                  n = 6,
                  i = new Uint8Array(n);
                if (!r) {
                  i[0] = 255;
                  i[1] = 172;
                }
                i[2] = (t.height >>> 24) & 255;
                i[3] = (t.height >> 16) & 255;
                i[4] = (t.height >> 8) & 255;
                i[5] = 255 & t.height;
                for (p = u, m = e.length; p < m; p++) {
                  let t = 0;
                  for (; t < n && i[t] === e[p + t]; ) t++;
                  if (t === n) {
                    a.length = p + n;
                    break;
                  }
                }
                if (4294967295 === a.length) throw new Jbig2Error('segment end was not found');
              }
            }
            a.headerEnd = u;
            return a;
          }
          function readSegments(e, t, a, r) {
            const n = [];
            let i = a;
            for (; i < r; ) {
              const a = readSegmentHeader(t, i);
              i = a.headerEnd;
              const r = { header: a, data: t };
              if (!e.randomAccess) {
                r.start = i;
                i += a.length;
                r.end = i;
              }
              n.push(r);
              if (51 === a.type) break;
            }
            if (e.randomAccess)
              for (let e = 0, t = n.length; e < t; e++) {
                n[e].start = i;
                i += n[e].header.length;
                n[e].end = i;
              }
            return n;
          }
          function readRegionSegmentInformation(e, t) {
            return {
              width: (0, n.readUint32)(e, t),
              height: (0, n.readUint32)(e, t + 4),
              x: (0, n.readUint32)(e, t + 8),
              y: (0, n.readUint32)(e, t + 12),
              combinationOperator: 7 & e[t + 16],
            };
          }
          const g = 17;
          function processSegment(e, t) {
            const a = e.header,
              r = e.data,
              i = e.end;
            let s,
              o,
              c,
              l,
              h = e.start;
            switch (a.type) {
              case 0:
                const e = {},
                  t = (0, n.readUint16)(r, h);
                e.huffman = !!(1 & t);
                e.refinement = !!(2 & t);
                e.huffmanDHSelector = (t >> 2) & 3;
                e.huffmanDWSelector = (t >> 4) & 3;
                e.bitmapSizeSelector = (t >> 6) & 1;
                e.aggregationInstancesSelector = (t >> 7) & 1;
                e.bitmapCodingContextUsed = !!(256 & t);
                e.bitmapCodingContextRetained = !!(512 & t);
                e.template = (t >> 10) & 3;
                e.refinementTemplate = (t >> 12) & 1;
                h += 2;
                if (!e.huffman) {
                  l = 0 === e.template ? 4 : 1;
                  o = [];
                  for (c = 0; c < l; c++) {
                    o.push({ x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1) });
                    h += 2;
                  }
                  e.at = o;
                }
                if (e.refinement && !e.refinementTemplate) {
                  o = [];
                  for (c = 0; c < 2; c++) {
                    o.push({ x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1) });
                    h += 2;
                  }
                  e.refinementAt = o;
                }
                e.numberOfExportedSymbols = (0, n.readUint32)(r, h);
                h += 4;
                e.numberOfNewSymbols = (0, n.readUint32)(r, h);
                h += 4;
                s = [e, a.number, a.referredTo, r, h, i];
                break;
              case 6:
              case 7:
                const u = {};
                u.info = readRegionSegmentInformation(r, h);
                h += g;
                const d = (0, n.readUint16)(r, h);
                h += 2;
                u.huffman = !!(1 & d);
                u.refinement = !!(2 & d);
                u.logStripSize = (d >> 2) & 3;
                u.stripSize = 1 << u.logStripSize;
                u.referenceCorner = (d >> 4) & 3;
                u.transposed = !!(64 & d);
                u.combinationOperator = (d >> 7) & 3;
                u.defaultPixelValue = (d >> 9) & 1;
                u.dsOffset = (d << 17) >> 27;
                u.refinementTemplate = (d >> 15) & 1;
                if (u.huffman) {
                  const e = (0, n.readUint16)(r, h);
                  h += 2;
                  u.huffmanFS = 3 & e;
                  u.huffmanDS = (e >> 2) & 3;
                  u.huffmanDT = (e >> 4) & 3;
                  u.huffmanRefinementDW = (e >> 6) & 3;
                  u.huffmanRefinementDH = (e >> 8) & 3;
                  u.huffmanRefinementDX = (e >> 10) & 3;
                  u.huffmanRefinementDY = (e >> 12) & 3;
                  u.huffmanRefinementSizeSelector = !!(16384 & e);
                }
                if (u.refinement && !u.refinementTemplate) {
                  o = [];
                  for (c = 0; c < 2; c++) {
                    o.push({ x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1) });
                    h += 2;
                  }
                  u.refinementAt = o;
                }
                u.numberOfSymbolInstances = (0, n.readUint32)(r, h);
                h += 4;
                s = [u, a.referredTo, r, h, i];
                break;
              case 16:
                const f = {},
                  p = r[h++];
                f.mmr = !!(1 & p);
                f.template = (p >> 1) & 3;
                f.patternWidth = r[h++];
                f.patternHeight = r[h++];
                f.maxPatternIndex = (0, n.readUint32)(r, h);
                h += 4;
                s = [f, a.number, r, h, i];
                break;
              case 22:
              case 23:
                const m = {};
                m.info = readRegionSegmentInformation(r, h);
                h += g;
                const b = r[h++];
                m.mmr = !!(1 & b);
                m.template = (b >> 1) & 3;
                m.enableSkip = !!(8 & b);
                m.combinationOperator = (b >> 4) & 7;
                m.defaultPixelValue = (b >> 7) & 1;
                m.gridWidth = (0, n.readUint32)(r, h);
                h += 4;
                m.gridHeight = (0, n.readUint32)(r, h);
                h += 4;
                m.gridOffsetX = 4294967295 & (0, n.readUint32)(r, h);
                h += 4;
                m.gridOffsetY = 4294967295 & (0, n.readUint32)(r, h);
                h += 4;
                m.gridVectorX = (0, n.readUint16)(r, h);
                h += 2;
                m.gridVectorY = (0, n.readUint16)(r, h);
                h += 2;
                s = [m, a.referredTo, r, h, i];
                break;
              case 38:
              case 39:
                const y = {};
                y.info = readRegionSegmentInformation(r, h);
                h += g;
                const w = r[h++];
                y.mmr = !!(1 & w);
                y.template = (w >> 1) & 3;
                y.prediction = !!(8 & w);
                if (!y.mmr) {
                  l = 0 === y.template ? 4 : 1;
                  o = [];
                  for (c = 0; c < l; c++) {
                    o.push({ x: (0, n.readInt8)(r, h), y: (0, n.readInt8)(r, h + 1) });
                    h += 2;
                  }
                  y.at = o;
                }
                s = [y, r, h, i];
                break;
              case 48:
                const S = {
                  width: (0, n.readUint32)(r, h),
                  height: (0, n.readUint32)(r, h + 4),
                  resolutionX: (0, n.readUint32)(r, h + 8),
                  resolutionY: (0, n.readUint32)(r, h + 12),
                };
                4294967295 === S.height && delete S.height;
                const x = r[h + 16];
                (0, n.readUint16)(r, h + 17);
                S.lossless = !!(1 & x);
                S.refinement = !!(2 & x);
                S.defaultPixelValue = (x >> 2) & 1;
                S.combinationOperator = (x >> 3) & 3;
                S.requiresBuffer = !!(32 & x);
                S.combinationOperatorOverride = !!(64 & x);
                s = [S];
                break;
              case 49:
              case 50:
              case 51:
              case 62:
                break;
              case 53:
                s = [a.number, r, h, i];
                break;
              default:
                throw new Jbig2Error(`segment type ${a.typeName}(${a.type}) is not implemented`);
            }
            const u = 'on' + a.typeName;
            u in t && t[u].apply(t, s);
          }
          function processSegments(e, t) {
            for (let a = 0, r = e.length; a < r; a++) processSegment(e[a], t);
          }
          class SimpleSegmentVisitor {
            onPageInformation(e) {
              this.currentPageInfo = e;
              const t = (e.width + 7) >> 3,
                a = new Uint8ClampedArray(t * e.height);
              e.defaultPixelValue && a.fill(255);
              this.buffer = a;
            }
            drawBitmap(e, t) {
              const a = this.currentPageInfo,
                r = e.width,
                n = e.height,
                i = (a.width + 7) >> 3,
                s = a.combinationOperatorOverride ? e.combinationOperator : a.combinationOperator,
                o = this.buffer,
                c = 128 >> (7 & e.x);
              let l,
                h,
                u,
                d,
                f = e.y * i + (e.x >> 3);
              switch (s) {
                case 0:
                  for (l = 0; l < n; l++) {
                    u = c;
                    d = f;
                    for (h = 0; h < r; h++) {
                      t[l][h] && (o[d] |= u);
                      u >>= 1;
                      if (!u) {
                        u = 128;
                        d++;
                      }
                    }
                    f += i;
                  }
                  break;
                case 2:
                  for (l = 0; l < n; l++) {
                    u = c;
                    d = f;
                    for (h = 0; h < r; h++) {
                      t[l][h] && (o[d] ^= u);
                      u >>= 1;
                      if (!u) {
                        u = 128;
                        d++;
                      }
                    }
                    f += i;
                  }
                  break;
                default:
                  throw new Jbig2Error(`operator ${s} is not supported`);
              }
            }
            onImmediateGenericRegion(e, t, a, r) {
              const n = e.info,
                i = new DecodingContext(t, a, r),
                s = decodeBitmap(e.mmr, n.width, n.height, e.template, e.prediction, null, e.at, i);
              this.drawBitmap(n, s);
            }
            onImmediateLosslessGenericRegion() {
              this.onImmediateGenericRegion(...arguments);
            }
            onSymbolDictionary(e, t, a, r, i, s) {
              let o, c;
              if (e.huffman) {
                o = (function getSymbolDictionaryHuffmanTables(e, t, a) {
                  let r,
                    n,
                    i,
                    s,
                    o = 0;
                  switch (e.huffmanDHSelector) {
                    case 0:
                    case 1:
                      r = getStandardTable(e.huffmanDHSelector + 4);
                      break;
                    case 3:
                      r = getCustomHuffmanTable(o, t, a);
                      o++;
                      break;
                    default:
                      throw new Jbig2Error('invalid Huffman DH selector');
                  }
                  switch (e.huffmanDWSelector) {
                    case 0:
                    case 1:
                      n = getStandardTable(e.huffmanDWSelector + 2);
                      break;
                    case 3:
                      n = getCustomHuffmanTable(o, t, a);
                      o++;
                      break;
                    default:
                      throw new Jbig2Error('invalid Huffman DW selector');
                  }
                  if (e.bitmapSizeSelector) {
                    i = getCustomHuffmanTable(o, t, a);
                    o++;
                  } else i = getStandardTable(1);
                  s = e.aggregationInstancesSelector ? getCustomHuffmanTable(o, t, a) : getStandardTable(1);
                  return { tableDeltaHeight: r, tableDeltaWidth: n, tableBitmapSize: i, tableAggregateInstances: s };
                })(e, a, this.customTables);
                c = new Reader(r, i, s);
              }
              let l = this.symbols;
              l || (this.symbols = l = {});
              const h = [];
              for (const e of a) {
                const t = l[e];
                t && h.push(...t);
              }
              const u = new DecodingContext(r, i, s);
              l[t] = (function decodeSymbolDictionary(e, t, a, r, i, s, o, c, l, h, u, d) {
                if (e && t) throw new Jbig2Error('symbol refinement with Huffman is not supported');
                const f = [];
                let g = 0,
                  p = (0, n.log2)(a.length + r);
                const m = u.decoder,
                  b = u.contextCache;
                let y, w;
                if (e) {
                  y = getStandardTable(1);
                  w = [];
                  p = Math.max(p, 1);
                }
                for (; f.length < r; ) {
                  g += e ? s.tableDeltaHeight.decode(d) : decodeInteger(b, 'IADH', m);
                  let r = 0,
                    n = 0;
                  const i = e ? w.length : 0;
                  for (;;) {
                    const i = e ? s.tableDeltaWidth.decode(d) : decodeInteger(b, 'IADW', m);
                    if (null === i) break;
                    r += i;
                    n += r;
                    let y;
                    if (t) {
                      const n = decodeInteger(b, 'IAAI', m);
                      if (n > 1)
                        y = decodeTextRegion(e, t, r, g, 0, n, 1, a.concat(f), p, 0, 0, 1, 0, s, l, h, u, 0, d);
                      else {
                        const e = decodeIAID(b, m, p),
                          t = decodeInteger(b, 'IARDX', m),
                          n = decodeInteger(b, 'IARDY', m);
                        y = decodeRefinement(r, g, l, e < a.length ? a[e] : f[e - a.length], t, n, !1, h, u);
                      }
                      f.push(y);
                    } else if (e) w.push(r);
                    else {
                      y = decodeBitmap(!1, r, g, o, !1, null, c, u);
                      f.push(y);
                    }
                  }
                  if (e && !t) {
                    const e = s.tableBitmapSize.decode(d);
                    d.byteAlign();
                    let t;
                    if (0 === e) t = readUncompressedBitmap(d, n, g);
                    else {
                      const a = d.end,
                        r = d.position + e;
                      d.end = r;
                      t = decodeMMRBitmap(d, n, g, !1);
                      d.end = a;
                      d.position = r;
                    }
                    const a = w.length;
                    if (i === a - 1) f.push(t);
                    else {
                      let e,
                        r,
                        n,
                        s,
                        o,
                        c = 0;
                      for (e = i; e < a; e++) {
                        s = w[e];
                        n = c + s;
                        o = [];
                        for (r = 0; r < g; r++) o.push(t[r].subarray(c, n));
                        f.push(o);
                        c = n;
                      }
                    }
                  }
                }
                const S = [],
                  x = [];
                let C,
                  k,
                  v = !1;
                const F = a.length + r;
                for (; x.length < F; ) {
                  let t = e ? y.decode(d) : decodeInteger(b, 'IAEX', m);
                  for (; t--; ) x.push(v);
                  v = !v;
                }
                for (C = 0, k = a.length; C < k; C++) x[C] && S.push(a[C]);
                for (let e = 0; e < r; C++, e++) x[C] && S.push(f[e]);
                return S;
              })(
                e.huffman,
                e.refinement,
                h,
                e.numberOfNewSymbols,
                e.numberOfExportedSymbols,
                o,
                e.template,
                e.at,
                e.refinementTemplate,
                e.refinementAt,
                u,
                c
              );
            }
            onImmediateTextRegion(e, t, a, r, i) {
              const s = e.info;
              let o, c;
              const l = this.symbols,
                h = [];
              for (const e of t) {
                const t = l[e];
                t && h.push(...t);
              }
              const u = (0, n.log2)(h.length);
              if (e.huffman) {
                c = new Reader(a, r, i);
                o = (function getTextRegionHuffmanTables(e, t, a, r, n) {
                  const i = [];
                  for (let e = 0; e <= 34; e++) {
                    const t = n.readBits(4);
                    i.push(new HuffmanLine([e, t, 0, 0]));
                  }
                  const s = new HuffmanTable(i, !1);
                  i.length = 0;
                  for (let e = 0; e < r; ) {
                    const t = s.decode(n);
                    if (t >= 32) {
                      let a, r, s;
                      switch (t) {
                        case 32:
                          if (0 === e) throw new Jbig2Error('no previous value in symbol ID table');
                          r = n.readBits(2) + 3;
                          a = i[e - 1].prefixLength;
                          break;
                        case 33:
                          r = n.readBits(3) + 3;
                          a = 0;
                          break;
                        case 34:
                          r = n.readBits(7) + 11;
                          a = 0;
                          break;
                        default:
                          throw new Jbig2Error('invalid code length in symbol ID table');
                      }
                      for (s = 0; s < r; s++) {
                        i.push(new HuffmanLine([e, a, 0, 0]));
                        e++;
                      }
                    } else {
                      i.push(new HuffmanLine([e, t, 0, 0]));
                      e++;
                    }
                  }
                  n.byteAlign();
                  const o = new HuffmanTable(i, !1);
                  let c,
                    l,
                    h,
                    u = 0;
                  switch (e.huffmanFS) {
                    case 0:
                    case 1:
                      c = getStandardTable(e.huffmanFS + 6);
                      break;
                    case 3:
                      c = getCustomHuffmanTable(u, t, a);
                      u++;
                      break;
                    default:
                      throw new Jbig2Error('invalid Huffman FS selector');
                  }
                  switch (e.huffmanDS) {
                    case 0:
                    case 1:
                    case 2:
                      l = getStandardTable(e.huffmanDS + 8);
                      break;
                    case 3:
                      l = getCustomHuffmanTable(u, t, a);
                      u++;
                      break;
                    default:
                      throw new Jbig2Error('invalid Huffman DS selector');
                  }
                  switch (e.huffmanDT) {
                    case 0:
                    case 1:
                    case 2:
                      h = getStandardTable(e.huffmanDT + 11);
                      break;
                    case 3:
                      h = getCustomHuffmanTable(u, t, a);
                      u++;
                      break;
                    default:
                      throw new Jbig2Error('invalid Huffman DT selector');
                  }
                  if (e.refinement) throw new Jbig2Error('refinement with Huffman is not supported');
                  return { symbolIDTable: o, tableFirstS: c, tableDeltaS: l, tableDeltaT: h };
                })(e, t, this.customTables, h.length, c);
              }
              const d = new DecodingContext(a, r, i),
                f = decodeTextRegion(
                  e.huffman,
                  e.refinement,
                  s.width,
                  s.height,
                  e.defaultPixelValue,
                  e.numberOfSymbolInstances,
                  e.stripSize,
                  h,
                  u,
                  e.transposed,
                  e.dsOffset,
                  e.referenceCorner,
                  e.combinationOperator,
                  o,
                  e.refinementTemplate,
                  e.refinementAt,
                  d,
                  e.logStripSize,
                  c
                );
              this.drawBitmap(s, f);
            }
            onImmediateLosslessTextRegion() {
              this.onImmediateTextRegion(...arguments);
            }
            onPatternDictionary(e, t, a, r, n) {
              let i = this.patterns;
              i || (this.patterns = i = {});
              const s = new DecodingContext(a, r, n);
              i[t] = (function decodePatternDictionary(e, t, a, r, n, i) {
                const s = [];
                if (!e) {
                  s.push({ x: -t, y: 0 });
                  0 === n && s.push({ x: -3, y: -1 }, { x: 2, y: -2 }, { x: -2, y: -2 });
                }
                const o = decodeBitmap(e, (r + 1) * t, a, n, !1, null, s, i),
                  c = [];
                for (let e = 0; e <= r; e++) {
                  const r = [],
                    n = t * e,
                    i = n + t;
                  for (let e = 0; e < a; e++) r.push(o[e].subarray(n, i));
                  c.push(r);
                }
                return c;
              })(e.mmr, e.patternWidth, e.patternHeight, e.maxPatternIndex, e.template, s);
            }
            onImmediateHalftoneRegion(e, t, a, r, i) {
              const s = this.patterns[t[0]],
                o = e.info,
                c = new DecodingContext(a, r, i),
                l = (function decodeHalftoneRegion(e, t, a, r, i, s, o, c, l, h, u, d, f, g, p) {
                  if (o) throw new Jbig2Error('skip is not supported');
                  if (0 !== c) throw new Jbig2Error(`operator "${c}" is not supported in halftone region`);
                  const m = [];
                  let b, y, w;
                  for (b = 0; b < i; b++) {
                    w = new Uint8Array(r);
                    if (s) for (y = 0; y < r; y++) w[y] = s;
                    m.push(w);
                  }
                  const S = t.length,
                    x = t[0],
                    C = x[0].length,
                    k = x.length,
                    v = (0, n.log2)(S),
                    F = [];
                  if (!e) {
                    F.push({ x: a <= 1 ? 3 : 2, y: -1 });
                    0 === a && F.push({ x: -3, y: -1 }, { x: 2, y: -2 }, { x: -2, y: -2 });
                  }
                  const O = [];
                  let T, M, E, D, N, R, L, j, $, _, U;
                  e && (T = new Reader(p.data, p.start, p.end));
                  for (b = v - 1; b >= 0; b--) {
                    M = e ? decodeMMRBitmap(T, l, h, !0) : decodeBitmap(!1, l, h, a, !1, null, F, p);
                    O[b] = M;
                  }
                  for (E = 0; E < h; E++)
                    for (D = 0; D < l; D++) {
                      N = 0;
                      R = 0;
                      for (y = v - 1; y >= 0; y--) {
                        N ^= O[y][E][D];
                        R |= N << y;
                      }
                      L = t[R];
                      j = (u + E * g + D * f) >> 8;
                      $ = (d + E * f - D * g) >> 8;
                      if (j >= 0 && j + C <= r && $ >= 0 && $ + k <= i)
                        for (b = 0; b < k; b++) {
                          U = m[$ + b];
                          _ = L[b];
                          for (y = 0; y < C; y++) U[j + y] |= _[y];
                        }
                      else {
                        let e, t;
                        for (b = 0; b < k; b++) {
                          t = $ + b;
                          if (!(t < 0 || t >= i)) {
                            U = m[t];
                            _ = L[b];
                            for (y = 0; y < C; y++) {
                              e = j + y;
                              e >= 0 && e < r && (U[e] |= _[y]);
                            }
                          }
                        }
                      }
                    }
                  return m;
                })(
                  e.mmr,
                  s,
                  e.template,
                  o.width,
                  o.height,
                  e.defaultPixelValue,
                  e.enableSkip,
                  e.combinationOperator,
                  e.gridWidth,
                  e.gridHeight,
                  e.gridOffsetX,
                  e.gridOffsetY,
                  e.gridVectorX,
                  e.gridVectorY,
                  c
                );
              this.drawBitmap(o, l);
            }
            onImmediateLosslessHalftoneRegion() {
              this.onImmediateHalftoneRegion(...arguments);
            }
            onTables(e, t, a, r) {
              let i = this.customTables;
              i || (this.customTables = i = {});
              i[e] = (function decodeTablesSegment(e, t, a) {
                const r = e[t],
                  i = 4294967295 & (0, n.readUint32)(e, t + 1),
                  s = 4294967295 & (0, n.readUint32)(e, t + 5),
                  o = new Reader(e, t + 9, a),
                  c = 1 + ((r >> 1) & 7),
                  l = 1 + ((r >> 4) & 7),
                  h = [];
                let u,
                  d,
                  f = i;
                do {
                  u = o.readBits(c);
                  d = o.readBits(l);
                  h.push(new HuffmanLine([f, u, d, 0]));
                  f += 1 << d;
                } while (f < s);
                u = o.readBits(c);
                h.push(new HuffmanLine([i - 1, u, 32, 0, 'lower']));
                u = o.readBits(c);
                h.push(new HuffmanLine([s, u, 32, 0]));
                if (1 & r) {
                  u = o.readBits(c);
                  h.push(new HuffmanLine([u, 0]));
                }
                return new HuffmanTable(h, !1);
              })(t, a, r);
            }
          }
          class HuffmanLine {
            constructor(e) {
              if (2 === e.length) {
                this.isOOB = !0;
                this.rangeLow = 0;
                this.prefixLength = e[0];
                this.rangeLength = 0;
                this.prefixCode = e[1];
                this.isLowerRange = !1;
              } else {
                this.isOOB = !1;
                this.rangeLow = e[0];
                this.prefixLength = e[1];
                this.rangeLength = e[2];
                this.prefixCode = e[3];
                this.isLowerRange = 'lower' === e[4];
              }
            }
          }
          class HuffmanTreeNode {
            constructor(e) {
              this.children = [];
              if (e) {
                this.isLeaf = !0;
                this.rangeLength = e.rangeLength;
                this.rangeLow = e.rangeLow;
                this.isLowerRange = e.isLowerRange;
                this.isOOB = e.isOOB;
              } else this.isLeaf = !1;
            }
            buildTree(e, t) {
              const a = (e.prefixCode >> t) & 1;
              if (t <= 0) this.children[a] = new HuffmanTreeNode(e);
              else {
                let r = this.children[a];
                r || (this.children[a] = r = new HuffmanTreeNode(null));
                r.buildTree(e, t - 1);
              }
            }
            decodeNode(e) {
              if (this.isLeaf) {
                if (this.isOOB) return null;
                const t = e.readBits(this.rangeLength);
                return this.rangeLow + (this.isLowerRange ? -t : t);
              }
              const t = this.children[e.readBit()];
              if (!t) throw new Jbig2Error('invalid Huffman data');
              return t.decodeNode(e);
            }
          }
          class HuffmanTable {
            constructor(e, t) {
              t || this.assignPrefixCodes(e);
              this.rootNode = new HuffmanTreeNode(null);
              for (let t = 0, a = e.length; t < a; t++) {
                const a = e[t];
                a.prefixLength > 0 && this.rootNode.buildTree(a, a.prefixLength - 1);
              }
            }
            decode(e) {
              return this.rootNode.decodeNode(e);
            }
            assignPrefixCodes(e) {
              const t = e.length;
              let a = 0;
              for (let r = 0; r < t; r++) a = Math.max(a, e[r].prefixLength);
              const r = new Uint32Array(a + 1);
              for (let a = 0; a < t; a++) r[e[a].prefixLength]++;
              let n,
                i,
                s,
                o = 1,
                c = 0;
              r[0] = 0;
              for (; o <= a; ) {
                c = (c + r[o - 1]) << 1;
                n = c;
                i = 0;
                for (; i < t; ) {
                  s = e[i];
                  if (s.prefixLength === o) {
                    s.prefixCode = n;
                    n++;
                  }
                  i++;
                }
                o++;
              }
            }
          }
          const p = {};
          function getStandardTable(e) {
            let t,
              a = p[e];
            if (a) return a;
            switch (e) {
              case 1:
                t = [
                  [0, 1, 4, 0],
                  [16, 2, 8, 2],
                  [272, 3, 16, 6],
                  [65808, 3, 32, 7],
                ];
                break;
              case 2:
                t = [
                  [0, 1, 0, 0],
                  [1, 2, 0, 2],
                  [2, 3, 0, 6],
                  [3, 4, 3, 14],
                  [11, 5, 6, 30],
                  [75, 6, 32, 62],
                  [6, 63],
                ];
                break;
              case 3:
                t = [
                  [-256, 8, 8, 254],
                  [0, 1, 0, 0],
                  [1, 2, 0, 2],
                  [2, 3, 0, 6],
                  [3, 4, 3, 14],
                  [11, 5, 6, 30],
                  [-257, 8, 32, 255, 'lower'],
                  [75, 7, 32, 126],
                  [6, 62],
                ];
                break;
              case 4:
                t = [
                  [1, 1, 0, 0],
                  [2, 2, 0, 2],
                  [3, 3, 0, 6],
                  [4, 4, 3, 14],
                  [12, 5, 6, 30],
                  [76, 5, 32, 31],
                ];
                break;
              case 5:
                t = [
                  [-255, 7, 8, 126],
                  [1, 1, 0, 0],
                  [2, 2, 0, 2],
                  [3, 3, 0, 6],
                  [4, 4, 3, 14],
                  [12, 5, 6, 30],
                  [-256, 7, 32, 127, 'lower'],
                  [76, 6, 32, 62],
                ];
                break;
              case 6:
                t = [
                  [-2048, 5, 10, 28],
                  [-1024, 4, 9, 8],
                  [-512, 4, 8, 9],
                  [-256, 4, 7, 10],
                  [-128, 5, 6, 29],
                  [-64, 5, 5, 30],
                  [-32, 4, 5, 11],
                  [0, 2, 7, 0],
                  [128, 3, 7, 2],
                  [256, 3, 8, 3],
                  [512, 4, 9, 12],
                  [1024, 4, 10, 13],
                  [-2049, 6, 32, 62, 'lower'],
                  [2048, 6, 32, 63],
                ];
                break;
              case 7:
                t = [
                  [-1024, 4, 9, 8],
                  [-512, 3, 8, 0],
                  [-256, 4, 7, 9],
                  [-128, 5, 6, 26],
                  [-64, 5, 5, 27],
                  [-32, 4, 5, 10],
                  [0, 4, 5, 11],
                  [32, 5, 5, 28],
                  [64, 5, 6, 29],
                  [128, 4, 7, 12],
                  [256, 3, 8, 1],
                  [512, 3, 9, 2],
                  [1024, 3, 10, 3],
                  [-1025, 5, 32, 30, 'lower'],
                  [2048, 5, 32, 31],
                ];
                break;
              case 8:
                t = [
                  [-15, 8, 3, 252],
                  [-7, 9, 1, 508],
                  [-5, 8, 1, 253],
                  [-3, 9, 0, 509],
                  [-2, 7, 0, 124],
                  [-1, 4, 0, 10],
                  [0, 2, 1, 0],
                  [2, 5, 0, 26],
                  [3, 6, 0, 58],
                  [4, 3, 4, 4],
                  [20, 6, 1, 59],
                  [22, 4, 4, 11],
                  [38, 4, 5, 12],
                  [70, 5, 6, 27],
                  [134, 5, 7, 28],
                  [262, 6, 7, 60],
                  [390, 7, 8, 125],
                  [646, 6, 10, 61],
                  [-16, 9, 32, 510, 'lower'],
                  [1670, 9, 32, 511],
                  [2, 1],
                ];
                break;
              case 9:
                t = [
                  [-31, 8, 4, 252],
                  [-15, 9, 2, 508],
                  [-11, 8, 2, 253],
                  [-7, 9, 1, 509],
                  [-5, 7, 1, 124],
                  [-3, 4, 1, 10],
                  [-1, 3, 1, 2],
                  [1, 3, 1, 3],
                  [3, 5, 1, 26],
                  [5, 6, 1, 58],
                  [7, 3, 5, 4],
                  [39, 6, 2, 59],
                  [43, 4, 5, 11],
                  [75, 4, 6, 12],
                  [139, 5, 7, 27],
                  [267, 5, 8, 28],
                  [523, 6, 8, 60],
                  [779, 7, 9, 125],
                  [1291, 6, 11, 61],
                  [-32, 9, 32, 510, 'lower'],
                  [3339, 9, 32, 511],
                  [2, 0],
                ];
                break;
              case 10:
                t = [
                  [-21, 7, 4, 122],
                  [-5, 8, 0, 252],
                  [-4, 7, 0, 123],
                  [-3, 5, 0, 24],
                  [-2, 2, 2, 0],
                  [2, 5, 0, 25],
                  [3, 6, 0, 54],
                  [4, 7, 0, 124],
                  [5, 8, 0, 253],
                  [6, 2, 6, 1],
                  [70, 5, 5, 26],
                  [102, 6, 5, 55],
                  [134, 6, 6, 56],
                  [198, 6, 7, 57],
                  [326, 6, 8, 58],
                  [582, 6, 9, 59],
                  [1094, 6, 10, 60],
                  [2118, 7, 11, 125],
                  [-22, 8, 32, 254, 'lower'],
                  [4166, 8, 32, 255],
                  [2, 2],
                ];
                break;
              case 11:
                t = [
                  [1, 1, 0, 0],
                  [2, 2, 1, 2],
                  [4, 4, 0, 12],
                  [5, 4, 1, 13],
                  [7, 5, 1, 28],
                  [9, 5, 2, 29],
                  [13, 6, 2, 60],
                  [17, 7, 2, 122],
                  [21, 7, 3, 123],
                  [29, 7, 4, 124],
                  [45, 7, 5, 125],
                  [77, 7, 6, 126],
                  [141, 7, 32, 127],
                ];
                break;
              case 12:
                t = [
                  [1, 1, 0, 0],
                  [2, 2, 0, 2],
                  [3, 3, 1, 6],
                  [5, 5, 0, 28],
                  [6, 5, 1, 29],
                  [8, 6, 1, 60],
                  [10, 7, 0, 122],
                  [11, 7, 1, 123],
                  [13, 7, 2, 124],
                  [17, 7, 3, 125],
                  [25, 7, 4, 126],
                  [41, 8, 5, 254],
                  [73, 8, 32, 255],
                ];
                break;
              case 13:
                t = [
                  [1, 1, 0, 0],
                  [2, 3, 0, 4],
                  [3, 4, 0, 12],
                  [4, 5, 0, 28],
                  [5, 4, 1, 13],
                  [7, 3, 3, 5],
                  [15, 6, 1, 58],
                  [17, 6, 2, 59],
                  [21, 6, 3, 60],
                  [29, 6, 4, 61],
                  [45, 6, 5, 62],
                  [77, 7, 6, 126],
                  [141, 7, 32, 127],
                ];
                break;
              case 14:
                t = [
                  [-2, 3, 0, 4],
                  [-1, 3, 0, 5],
                  [0, 1, 0, 0],
                  [1, 3, 0, 6],
                  [2, 3, 0, 7],
                ];
                break;
              case 15:
                t = [
                  [-24, 7, 4, 124],
                  [-8, 6, 2, 60],
                  [-4, 5, 1, 28],
                  [-2, 4, 0, 12],
                  [-1, 3, 0, 4],
                  [0, 1, 0, 0],
                  [1, 3, 0, 5],
                  [2, 4, 0, 13],
                  [3, 5, 1, 29],
                  [5, 6, 2, 61],
                  [9, 7, 4, 125],
                  [-25, 7, 32, 126, 'lower'],
                  [25, 7, 32, 127],
                ];
                break;
              default:
                throw new Jbig2Error(`standard table B.${e} does not exist`);
            }
            for (let e = 0, a = t.length; e < a; e++) t[e] = new HuffmanLine(t[e]);
            a = new HuffmanTable(t, !0);
            p[e] = a;
            return a;
          }
          class Reader {
            constructor(e, t, a) {
              this.data = e;
              this.start = t;
              this.end = a;
              this.position = t;
              this.shift = -1;
              this.currentByte = 0;
            }
            readBit() {
              if (this.shift < 0) {
                if (this.position >= this.end) throw new Jbig2Error('end of data while reading bit');
                this.currentByte = this.data[this.position++];
                this.shift = 7;
              }
              const e = (this.currentByte >> this.shift) & 1;
              this.shift--;
              return e;
            }
            readBits(e) {
              let t,
                a = 0;
              for (t = e - 1; t >= 0; t--) a |= this.readBit() << t;
              return a;
            }
            byteAlign() {
              this.shift = -1;
            }
            next() {
              return this.position >= this.end ? -1 : this.data[this.position++];
            }
          }
          function getCustomHuffmanTable(e, t, a) {
            let r = 0;
            for (let n = 0, i = t.length; n < i; n++) {
              const i = a[t[n]];
              if (i) {
                if (e === r) return i;
                r++;
              }
            }
            throw new Jbig2Error("can't find custom Huffman table");
          }
          function readUncompressedBitmap(e, t, a) {
            const r = [];
            for (let n = 0; n < a; n++) {
              const a = new Uint8Array(t);
              r.push(a);
              for (let r = 0; r < t; r++) a[r] = e.readBit();
              e.byteAlign();
            }
            return r;
          }
          function decodeMMRBitmap(e, t, a, r) {
            const n = { K: -1, Columns: t, Rows: a, BlackIs1: !0, EndOfBlock: r },
              i = new s.CCITTFaxDecoder(e, n),
              o = [];
            let c,
              l = !1;
            for (let e = 0; e < a; e++) {
              const e = new Uint8Array(t);
              o.push(e);
              let a = -1;
              for (let r = 0; r < t; r++) {
                if (a < 0) {
                  c = i.readNextChar();
                  if (-1 === c) {
                    c = 0;
                    l = !0;
                  }
                  a = 7;
                }
                e[r] = (c >> a) & 1;
                a--;
              }
            }
            if (r && !l) {
              const e = 5;
              for (let t = 0; t < e && -1 !== i.readNextChar(); t++);
            }
            return o;
          }
          t.Jbig2Image = class Jbig2Image {
            parseChunks(e) {
              return (function parseJbig2Chunks(e) {
                const t = new SimpleSegmentVisitor();
                for (let a = 0, r = e.length; a < r; a++) {
                  const r = e[a];
                  processSegments(readSegments({}, r.data, r.start, r.end), t);
                }
                return t.buffer;
              })(e);
            }
            parse(e) {
              throw new Error('Not implemented: Jbig2Image.parse');
            }
          };
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ArithmeticDecoder = void 0;
          const a = [
            { qe: 22017, nmps: 1, nlps: 1, switchFlag: 1 },
            { qe: 13313, nmps: 2, nlps: 6, switchFlag: 0 },
            { qe: 6145, nmps: 3, nlps: 9, switchFlag: 0 },
            { qe: 2753, nmps: 4, nlps: 12, switchFlag: 0 },
            { qe: 1313, nmps: 5, nlps: 29, switchFlag: 0 },
            { qe: 545, nmps: 38, nlps: 33, switchFlag: 0 },
            { qe: 22017, nmps: 7, nlps: 6, switchFlag: 1 },
            { qe: 21505, nmps: 8, nlps: 14, switchFlag: 0 },
            { qe: 18433, nmps: 9, nlps: 14, switchFlag: 0 },
            { qe: 14337, nmps: 10, nlps: 14, switchFlag: 0 },
            { qe: 12289, nmps: 11, nlps: 17, switchFlag: 0 },
            { qe: 9217, nmps: 12, nlps: 18, switchFlag: 0 },
            { qe: 7169, nmps: 13, nlps: 20, switchFlag: 0 },
            { qe: 5633, nmps: 29, nlps: 21, switchFlag: 0 },
            { qe: 22017, nmps: 15, nlps: 14, switchFlag: 1 },
            { qe: 21505, nmps: 16, nlps: 14, switchFlag: 0 },
            { qe: 20737, nmps: 17, nlps: 15, switchFlag: 0 },
            { qe: 18433, nmps: 18, nlps: 16, switchFlag: 0 },
            { qe: 14337, nmps: 19, nlps: 17, switchFlag: 0 },
            { qe: 13313, nmps: 20, nlps: 18, switchFlag: 0 },
            { qe: 12289, nmps: 21, nlps: 19, switchFlag: 0 },
            { qe: 10241, nmps: 22, nlps: 19, switchFlag: 0 },
            { qe: 9217, nmps: 23, nlps: 20, switchFlag: 0 },
            { qe: 8705, nmps: 24, nlps: 21, switchFlag: 0 },
            { qe: 7169, nmps: 25, nlps: 22, switchFlag: 0 },
            { qe: 6145, nmps: 26, nlps: 23, switchFlag: 0 },
            { qe: 5633, nmps: 27, nlps: 24, switchFlag: 0 },
            { qe: 5121, nmps: 28, nlps: 25, switchFlag: 0 },
            { qe: 4609, nmps: 29, nlps: 26, switchFlag: 0 },
            { qe: 4353, nmps: 30, nlps: 27, switchFlag: 0 },
            { qe: 2753, nmps: 31, nlps: 28, switchFlag: 0 },
            { qe: 2497, nmps: 32, nlps: 29, switchFlag: 0 },
            { qe: 2209, nmps: 33, nlps: 30, switchFlag: 0 },
            { qe: 1313, nmps: 34, nlps: 31, switchFlag: 0 },
            { qe: 1089, nmps: 35, nlps: 32, switchFlag: 0 },
            { qe: 673, nmps: 36, nlps: 33, switchFlag: 0 },
            { qe: 545, nmps: 37, nlps: 34, switchFlag: 0 },
            { qe: 321, nmps: 38, nlps: 35, switchFlag: 0 },
            { qe: 273, nmps: 39, nlps: 36, switchFlag: 0 },
            { qe: 133, nmps: 40, nlps: 37, switchFlag: 0 },
            { qe: 73, nmps: 41, nlps: 38, switchFlag: 0 },
            { qe: 37, nmps: 42, nlps: 39, switchFlag: 0 },
            { qe: 21, nmps: 43, nlps: 40, switchFlag: 0 },
            { qe: 9, nmps: 44, nlps: 41, switchFlag: 0 },
            { qe: 5, nmps: 45, nlps: 42, switchFlag: 0 },
            { qe: 1, nmps: 45, nlps: 43, switchFlag: 0 },
            { qe: 22017, nmps: 46, nlps: 46, switchFlag: 0 },
          ];
          t.ArithmeticDecoder = class ArithmeticDecoder {
            constructor(e, t, a) {
              this.data = e;
              this.bp = t;
              this.dataEnd = a;
              this.chigh = e[t];
              this.clow = 0;
              this.byteIn();
              this.chigh = ((this.chigh << 7) & 65535) | ((this.clow >> 9) & 127);
              this.clow = (this.clow << 7) & 65535;
              this.ct -= 7;
              this.a = 32768;
            }
            byteIn() {
              const e = this.data;
              let t = this.bp;
              if (255 === e[t])
                if (e[t + 1] > 143) {
                  this.clow += 65280;
                  this.ct = 8;
                } else {
                  t++;
                  this.clow += e[t] << 9;
                  this.ct = 7;
                  this.bp = t;
                }
              else {
                t++;
                this.clow += t < this.dataEnd ? e[t] << 8 : 65280;
                this.ct = 8;
                this.bp = t;
              }
              if (this.clow > 65535) {
                this.chigh += this.clow >> 16;
                this.clow &= 65535;
              }
            }
            readBit(e, t) {
              let r = e[t] >> 1,
                n = 1 & e[t];
              const i = a[r],
                s = i.qe;
              let o,
                c = this.a - s;
              if (this.chigh < s)
                if (c < s) {
                  c = s;
                  o = n;
                  r = i.nmps;
                } else {
                  c = s;
                  o = 1 ^ n;
                  1 === i.switchFlag && (n = o);
                  r = i.nlps;
                }
              else {
                this.chigh -= s;
                if (0 != (32768 & c)) {
                  this.a = c;
                  return n;
                }
                if (c < s) {
                  o = 1 ^ n;
                  1 === i.switchFlag && (n = o);
                  r = i.nlps;
                } else {
                  o = n;
                  r = i.nmps;
                }
              }
              do {
                0 === this.ct && this.byteIn();
                c <<= 1;
                this.chigh = ((this.chigh << 1) & 65535) | ((this.clow >> 15) & 1);
                this.clow = (this.clow << 1) & 65535;
                this.ct--;
              } while (0 == (32768 & c));
              this.a = c;
              e[t] = (r << 1) | n;
              return o;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.JpegStream = void 0;
          var r = a(17),
            n = a(4),
            i = a(26),
            s = a(2);
          class JpegStream extends r.DecodeStream {
            constructor(e, t, a) {
              let r;
              for (; -1 !== (r = e.getByte()); )
                if (255 === r) {
                  e.skip(-1);
                  break;
                }
              super(t);
              this.stream = e;
              this.dict = e.dict;
              this.maybeLength = t;
              this.params = a;
            }
            get bytes() {
              return (0, s.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
            }
            ensureBuffer(e) {}
            readBlock() {
              if (this.eof) return;
              const e = { decodeTransform: void 0, colorTransform: void 0 },
                t = this.dict.getArray('D', 'Decode');
              if (this.forceRGB && Array.isArray(t)) {
                const a = this.dict.get('BPC', 'BitsPerComponent') || 8,
                  r = t.length,
                  n = new Int32Array(r);
                let i = !1;
                const s = (1 << a) - 1;
                for (let e = 0; e < r; e += 2) {
                  n[e] = (256 * (t[e + 1] - t[e])) | 0;
                  n[e + 1] = (t[e] * s) | 0;
                  (256 === n[e] && 0 === n[e + 1]) || (i = !0);
                }
                i && (e.decodeTransform = n);
              }
              if (this.params instanceof n.Dict) {
                const t = this.params.get('ColorTransform');
                Number.isInteger(t) && (e.colorTransform = t);
              }
              const a = new i.JpegImage(e);
              a.parse(this.bytes);
              const r = a.getData({
                width: this.drawWidth,
                height: this.drawHeight,
                forceRGB: this.forceRGB,
                isSourcePDF: !0,
              });
              this.buffer = r;
              this.bufferLength = r.length;
              this.eof = !0;
            }
          }
          t.JpegStream = JpegStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.JpegImage = void 0;
          var r = a(2),
            n = a(3);
          class JpegError extends r.BaseException {
            constructor(e) {
              super(`JPEG error: ${e}`, 'JpegError');
            }
          }
          class DNLMarkerError extends r.BaseException {
            constructor(e, t) {
              super(e, 'DNLMarkerError');
              this.scanLines = t;
            }
          }
          class EOIMarkerError extends r.BaseException {
            constructor(e) {
              super(e, 'EOIMarkerError');
            }
          }
          const i = new Uint8Array([
              0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7,
              14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39,
              46, 53, 60, 61, 54, 47, 55, 62, 63,
            ]),
            s = 4017,
            o = 799,
            c = 3406,
            l = 2276,
            h = 1567,
            u = 3784,
            d = 5793,
            f = 2896;
          function buildHuffmanTable(e, t) {
            let a,
              r,
              n = 0,
              i = 16;
            for (; i > 0 && !e[i - 1]; ) i--;
            const s = [{ children: [], index: 0 }];
            let o,
              c = s[0];
            for (a = 0; a < i; a++) {
              for (r = 0; r < e[a]; r++) {
                c = s.pop();
                c.children[c.index] = t[n];
                for (; c.index > 0; ) c = s.pop();
                c.index++;
                s.push(c);
                for (; s.length <= a; ) {
                  s.push((o = { children: [], index: 0 }));
                  c.children[c.index] = o.children;
                  c = o;
                }
                n++;
              }
              if (a + 1 < i) {
                s.push((o = { children: [], index: 0 }));
                c.children[c.index] = o.children;
                c = o;
              }
            }
            return s[0].children;
          }
          function getBlockBufferOffset(e, t, a) {
            return 64 * ((e.blocksPerLine + 1) * t + a);
          }
          function decodeScan(e, t, a, s, o, c, l, h, u, d = !1) {
            const f = a.mcusPerLine,
              g = a.progressive,
              p = t;
            let m = 0,
              b = 0;
            function readBit() {
              if (b > 0) {
                b--;
                return (m >> b) & 1;
              }
              m = e[t++];
              if (255 === m) {
                const r = e[t++];
                if (r) {
                  if (220 === r && d) {
                    t += 2;
                    const r = (0, n.readUint16)(e, t);
                    t += 2;
                    if (r > 0 && r !== a.scanLines)
                      throw new DNLMarkerError('Found DNL marker (0xFFDC) while parsing scan data', r);
                  } else if (217 === r) {
                    if (d) {
                      const e = x * (8 === a.precision ? 8 : 0);
                      if (e > 0 && Math.round(a.scanLines / e) >= 5)
                        throw new DNLMarkerError(
                          'Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter',
                          e
                        );
                    }
                    throw new EOIMarkerError('Found EOI marker (0xFFD9) while parsing scan data');
                  }
                  throw new JpegError(`unexpected marker ${((m << 8) | r).toString(16)}`);
                }
              }
              b = 7;
              return m >>> 7;
            }
            function decodeHuffman(e) {
              let t = e;
              for (;;) {
                t = t[readBit()];
                switch (typeof t) {
                  case 'number':
                    return t;
                  case 'object':
                    continue;
                }
                throw new JpegError('invalid huffman sequence');
              }
            }
            function receive(e) {
              let t = 0;
              for (; e > 0; ) {
                t = (t << 1) | readBit();
                e--;
              }
              return t;
            }
            function receiveAndExtend(e) {
              if (1 === e) return 1 === readBit() ? 1 : -1;
              const t = receive(e);
              return t >= 1 << (e - 1) ? t : t + (-1 << e) + 1;
            }
            let y = 0;
            let w,
              S = 0;
            let x = 0;
            function decodeMcu(e, t, a, r, n) {
              const i = a % f;
              x = ((a / f) | 0) * e.v + r;
              const s = i * e.h + n;
              t(e, getBlockBufferOffset(e, x, s));
            }
            function decodeBlock(e, t, a) {
              x = (a / e.blocksPerLine) | 0;
              const r = a % e.blocksPerLine;
              t(e, getBlockBufferOffset(e, x, r));
            }
            const C = s.length;
            let k, v, F, O, T, M;
            M = g
              ? 0 === c
                ? 0 === h
                  ? function decodeDCFirst(e, t) {
                      const a = decodeHuffman(e.huffmanTableDC),
                        r = 0 === a ? 0 : receiveAndExtend(a) << u;
                      e.blockData[t] = e.pred += r;
                    }
                  : function decodeDCSuccessive(e, t) {
                      e.blockData[t] |= readBit() << u;
                    }
                : 0 === h
                ? function decodeACFirst(e, t) {
                    if (y > 0) {
                      y--;
                      return;
                    }
                    let a = c;
                    const r = l;
                    for (; a <= r; ) {
                      const r = decodeHuffman(e.huffmanTableAC),
                        n = 15 & r,
                        s = r >> 4;
                      if (0 === n) {
                        if (s < 15) {
                          y = receive(s) + (1 << s) - 1;
                          break;
                        }
                        a += 16;
                        continue;
                      }
                      a += s;
                      const o = i[a];
                      e.blockData[t + o] = receiveAndExtend(n) * (1 << u);
                      a++;
                    }
                  }
                : function decodeACSuccessive(e, t) {
                    let a = c;
                    const r = l;
                    let n,
                      s,
                      o = 0;
                    for (; a <= r; ) {
                      const r = t + i[a],
                        c = e.blockData[r] < 0 ? -1 : 1;
                      switch (S) {
                        case 0:
                          s = decodeHuffman(e.huffmanTableAC);
                          n = 15 & s;
                          o = s >> 4;
                          if (0 === n)
                            if (o < 15) {
                              y = receive(o) + (1 << o);
                              S = 4;
                            } else {
                              o = 16;
                              S = 1;
                            }
                          else {
                            if (1 !== n) throw new JpegError('invalid ACn encoding');
                            w = receiveAndExtend(n);
                            S = o ? 2 : 3;
                          }
                          continue;
                        case 1:
                        case 2:
                          if (e.blockData[r]) e.blockData[r] += c * (readBit() << u);
                          else {
                            o--;
                            0 === o && (S = 2 === S ? 3 : 0);
                          }
                          break;
                        case 3:
                          if (e.blockData[r]) e.blockData[r] += c * (readBit() << u);
                          else {
                            e.blockData[r] = w << u;
                            S = 0;
                          }
                          break;
                        case 4:
                          e.blockData[r] && (e.blockData[r] += c * (readBit() << u));
                      }
                      a++;
                    }
                    if (4 === S) {
                      y--;
                      0 === y && (S = 0);
                    }
                  }
              : function decodeBaseline(e, t) {
                  const a = decodeHuffman(e.huffmanTableDC),
                    r = 0 === a ? 0 : receiveAndExtend(a);
                  e.blockData[t] = e.pred += r;
                  let n = 1;
                  for (; n < 64; ) {
                    const a = decodeHuffman(e.huffmanTableAC),
                      r = 15 & a,
                      s = a >> 4;
                    if (0 === r) {
                      if (s < 15) break;
                      n += 16;
                      continue;
                    }
                    n += s;
                    const o = i[n];
                    e.blockData[t + o] = receiveAndExtend(r);
                    n++;
                  }
                };
            let E,
              D,
              N,
              R,
              L = 0;
            D = 1 === C ? s[0].blocksPerLine * s[0].blocksPerColumn : f * a.mcusPerColumn;
            for (; L <= D; ) {
              const a = o ? Math.min(D - L, o) : D;
              if (a > 0) {
                for (v = 0; v < C; v++) s[v].pred = 0;
                y = 0;
                if (1 === C) {
                  k = s[0];
                  for (T = 0; T < a; T++) {
                    decodeBlock(k, M, L);
                    L++;
                  }
                } else
                  for (T = 0; T < a; T++) {
                    for (v = 0; v < C; v++) {
                      k = s[v];
                      N = k.h;
                      R = k.v;
                      for (F = 0; F < R; F++) for (O = 0; O < N; O++) decodeMcu(k, M, L, F, O);
                    }
                    L++;
                  }
              }
              b = 0;
              E = findNextFileMarker(e, t);
              if (!E) break;
              if (E.invalid) {
                const e = a > 0 ? 'unexpected' : 'excessive';
                (0, r.warn)(`decodeScan - ${e} MCU data, current marker is: ${E.invalid}`);
                t = E.offset;
              }
              if (!(E.marker >= 65488 && E.marker <= 65495)) break;
              t += 2;
            }
            return t - p;
          }
          function quantizeAndInverse(e, t, a) {
            const r = e.quantizationTable,
              n = e.blockData;
            let i, g, p, m, b, y, w, S, x, C, k, v, F, O, T, M, E;
            if (!r) throw new JpegError('missing required Quantization Table.');
            for (let e = 0; e < 64; e += 8) {
              x = n[t + e];
              C = n[t + e + 1];
              k = n[t + e + 2];
              v = n[t + e + 3];
              F = n[t + e + 4];
              O = n[t + e + 5];
              T = n[t + e + 6];
              M = n[t + e + 7];
              x *= r[e];
              if (0 != (C | k | v | F | O | T | M)) {
                C *= r[e + 1];
                k *= r[e + 2];
                v *= r[e + 3];
                F *= r[e + 4];
                O *= r[e + 5];
                T *= r[e + 6];
                M *= r[e + 7];
                i = (d * x + 128) >> 8;
                g = (d * F + 128) >> 8;
                p = k;
                m = T;
                b = (f * (C - M) + 128) >> 8;
                S = (f * (C + M) + 128) >> 8;
                y = v << 4;
                w = O << 4;
                i = (i + g + 1) >> 1;
                g = i - g;
                E = (p * u + m * h + 128) >> 8;
                p = (p * h - m * u + 128) >> 8;
                m = E;
                b = (b + w + 1) >> 1;
                w = b - w;
                S = (S + y + 1) >> 1;
                y = S - y;
                i = (i + m + 1) >> 1;
                m = i - m;
                g = (g + p + 1) >> 1;
                p = g - p;
                E = (b * l + S * c + 2048) >> 12;
                b = (b * c - S * l + 2048) >> 12;
                S = E;
                E = (y * o + w * s + 2048) >> 12;
                y = (y * s - w * o + 2048) >> 12;
                w = E;
                a[e] = i + S;
                a[e + 7] = i - S;
                a[e + 1] = g + w;
                a[e + 6] = g - w;
                a[e + 2] = p + y;
                a[e + 5] = p - y;
                a[e + 3] = m + b;
                a[e + 4] = m - b;
              } else {
                E = (d * x + 512) >> 10;
                a[e] = E;
                a[e + 1] = E;
                a[e + 2] = E;
                a[e + 3] = E;
                a[e + 4] = E;
                a[e + 5] = E;
                a[e + 6] = E;
                a[e + 7] = E;
              }
            }
            for (let e = 0; e < 8; ++e) {
              x = a[e];
              C = a[e + 8];
              k = a[e + 16];
              v = a[e + 24];
              F = a[e + 32];
              O = a[e + 40];
              T = a[e + 48];
              M = a[e + 56];
              if (0 != (C | k | v | F | O | T | M)) {
                i = (d * x + 2048) >> 12;
                g = (d * F + 2048) >> 12;
                p = k;
                m = T;
                b = (f * (C - M) + 2048) >> 12;
                S = (f * (C + M) + 2048) >> 12;
                y = v;
                w = O;
                i = 4112 + ((i + g + 1) >> 1);
                g = i - g;
                E = (p * u + m * h + 2048) >> 12;
                p = (p * h - m * u + 2048) >> 12;
                m = E;
                b = (b + w + 1) >> 1;
                w = b - w;
                S = (S + y + 1) >> 1;
                y = S - y;
                i = (i + m + 1) >> 1;
                m = i - m;
                g = (g + p + 1) >> 1;
                p = g - p;
                E = (b * l + S * c + 2048) >> 12;
                b = (b * c - S * l + 2048) >> 12;
                S = E;
                E = (y * o + w * s + 2048) >> 12;
                y = (y * s - w * o + 2048) >> 12;
                w = E;
                x = i + S;
                M = i - S;
                C = g + w;
                T = g - w;
                k = p + y;
                O = p - y;
                v = m + b;
                F = m - b;
                x < 16 ? (x = 0) : x >= 4080 ? (x = 255) : (x >>= 4);
                C < 16 ? (C = 0) : C >= 4080 ? (C = 255) : (C >>= 4);
                k < 16 ? (k = 0) : k >= 4080 ? (k = 255) : (k >>= 4);
                v < 16 ? (v = 0) : v >= 4080 ? (v = 255) : (v >>= 4);
                F < 16 ? (F = 0) : F >= 4080 ? (F = 255) : (F >>= 4);
                O < 16 ? (O = 0) : O >= 4080 ? (O = 255) : (O >>= 4);
                T < 16 ? (T = 0) : T >= 4080 ? (T = 255) : (T >>= 4);
                M < 16 ? (M = 0) : M >= 4080 ? (M = 255) : (M >>= 4);
                n[t + e] = x;
                n[t + e + 8] = C;
                n[t + e + 16] = k;
                n[t + e + 24] = v;
                n[t + e + 32] = F;
                n[t + e + 40] = O;
                n[t + e + 48] = T;
                n[t + e + 56] = M;
              } else {
                E = (d * x + 8192) >> 14;
                E = E < -2040 ? 0 : E >= 2024 ? 255 : (E + 2056) >> 4;
                n[t + e] = E;
                n[t + e + 8] = E;
                n[t + e + 16] = E;
                n[t + e + 24] = E;
                n[t + e + 32] = E;
                n[t + e + 40] = E;
                n[t + e + 48] = E;
                n[t + e + 56] = E;
              }
            }
          }
          function buildComponentData(e, t) {
            const a = t.blocksPerLine,
              r = t.blocksPerColumn,
              n = new Int16Array(64);
            for (let e = 0; e < r; e++)
              for (let r = 0; r < a; r++) {
                quantizeAndInverse(t, getBlockBufferOffset(t, e, r), n);
              }
            return t.blockData;
          }
          function findNextFileMarker(e, t, a = t) {
            const r = e.length - 1;
            let i = a < t ? a : t;
            if (t >= r) return null;
            const s = (0, n.readUint16)(e, t);
            if (s >= 65472 && s <= 65534) return { invalid: null, marker: s, offset: t };
            let o = (0, n.readUint16)(e, i);
            for (; !(o >= 65472 && o <= 65534); ) {
              if (++i >= r) return null;
              o = (0, n.readUint16)(e, i);
            }
            return { invalid: s.toString(16), marker: o, offset: i };
          }
          t.JpegImage = class JpegImage {
            constructor({ decodeTransform: e = null, colorTransform: t = -1 } = {}) {
              this._decodeTransform = e;
              this._colorTransform = t;
            }
            parse(e, { dnlScanLines: t = null } = {}) {
              function readDataBlock() {
                const t = (0, n.readUint16)(e, o);
                o += 2;
                let a = o + t - 2;
                const i = findNextFileMarker(e, a, o);
                if (i && i.invalid) {
                  (0, r.warn)('readDataBlock - incorrect length, current marker is: ' + i.invalid);
                  a = i.offset;
                }
                const s = e.subarray(o, a);
                o += s.length;
                return s;
              }
              function prepareComponents(e) {
                const t = Math.ceil(e.samplesPerLine / 8 / e.maxH),
                  a = Math.ceil(e.scanLines / 8 / e.maxV);
                for (const r of e.components) {
                  const n = Math.ceil((Math.ceil(e.samplesPerLine / 8) * r.h) / e.maxH),
                    i = Math.ceil((Math.ceil(e.scanLines / 8) * r.v) / e.maxV),
                    s = t * r.h,
                    o = 64 * (a * r.v) * (s + 1);
                  r.blockData = new Int16Array(o);
                  r.blocksPerLine = n;
                  r.blocksPerColumn = i;
                }
                e.mcusPerLine = t;
                e.mcusPerColumn = a;
              }
              let a,
                s,
                o = 0,
                c = null,
                l = null,
                h = 0;
              const u = [],
                d = [],
                f = [];
              let g = (0, n.readUint16)(e, o);
              o += 2;
              if (65496 !== g) throw new JpegError('SOI not found');
              g = (0, n.readUint16)(e, o);
              o += 2;
              e: for (; 65497 !== g; ) {
                let p, m, b;
                switch (g) {
                  case 65504:
                  case 65505:
                  case 65506:
                  case 65507:
                  case 65508:
                  case 65509:
                  case 65510:
                  case 65511:
                  case 65512:
                  case 65513:
                  case 65514:
                  case 65515:
                  case 65516:
                  case 65517:
                  case 65518:
                  case 65519:
                  case 65534:
                    const y = readDataBlock();
                    65504 === g &&
                      74 === y[0] &&
                      70 === y[1] &&
                      73 === y[2] &&
                      70 === y[3] &&
                      0 === y[4] &&
                      (c = {
                        version: { major: y[5], minor: y[6] },
                        densityUnits: y[7],
                        xDensity: (y[8] << 8) | y[9],
                        yDensity: (y[10] << 8) | y[11],
                        thumbWidth: y[12],
                        thumbHeight: y[13],
                        thumbData: y.subarray(14, 14 + 3 * y[12] * y[13]),
                      });
                    65518 === g &&
                      65 === y[0] &&
                      100 === y[1] &&
                      111 === y[2] &&
                      98 === y[3] &&
                      101 === y[4] &&
                      (l = {
                        version: (y[5] << 8) | y[6],
                        flags0: (y[7] << 8) | y[8],
                        flags1: (y[9] << 8) | y[10],
                        transformCode: y[11],
                      });
                    break;
                  case 65499:
                    const w = (0, n.readUint16)(e, o);
                    o += 2;
                    const S = w + o - 2;
                    let x;
                    for (; o < S; ) {
                      const t = e[o++],
                        a = new Uint16Array(64);
                      if (t >> 4 == 0)
                        for (m = 0; m < 64; m++) {
                          x = i[m];
                          a[x] = e[o++];
                        }
                      else {
                        if (t >> 4 != 1) throw new JpegError('DQT - invalid table spec');
                        for (m = 0; m < 64; m++) {
                          x = i[m];
                          a[x] = (0, n.readUint16)(e, o);
                          o += 2;
                        }
                      }
                      u[15 & t] = a;
                    }
                    break;
                  case 65472:
                  case 65473:
                  case 65474:
                    if (a) throw new JpegError('Only single frame JPEGs supported');
                    o += 2;
                    a = {};
                    a.extended = 65473 === g;
                    a.progressive = 65474 === g;
                    a.precision = e[o++];
                    const C = (0, n.readUint16)(e, o);
                    o += 2;
                    a.scanLines = t || C;
                    a.samplesPerLine = (0, n.readUint16)(e, o);
                    o += 2;
                    a.components = [];
                    a.componentIds = {};
                    const k = e[o++];
                    let v = 0,
                      F = 0;
                    for (p = 0; p < k; p++) {
                      const t = e[o],
                        r = e[o + 1] >> 4,
                        n = 15 & e[o + 1];
                      v < r && (v = r);
                      F < n && (F = n);
                      const i = e[o + 2];
                      b = a.components.push({ h: r, v: n, quantizationId: i, quantizationTable: null });
                      a.componentIds[t] = b - 1;
                      o += 3;
                    }
                    a.maxH = v;
                    a.maxV = F;
                    prepareComponents(a);
                    break;
                  case 65476:
                    const O = (0, n.readUint16)(e, o);
                    o += 2;
                    for (p = 2; p < O; ) {
                      const t = e[o++],
                        a = new Uint8Array(16);
                      let r = 0;
                      for (m = 0; m < 16; m++, o++) r += a[m] = e[o];
                      const n = new Uint8Array(r);
                      for (m = 0; m < r; m++, o++) n[m] = e[o];
                      p += 17 + r;
                      (t >> 4 == 0 ? f : d)[15 & t] = buildHuffmanTable(a, n);
                    }
                    break;
                  case 65501:
                    o += 2;
                    s = (0, n.readUint16)(e, o);
                    o += 2;
                    break;
                  case 65498:
                    const T = 1 == ++h && !t;
                    o += 2;
                    const M = e[o++],
                      E = [];
                    for (p = 0; p < M; p++) {
                      const t = e[o++],
                        r = a.componentIds[t],
                        n = a.components[r];
                      n.index = t;
                      const i = e[o++];
                      n.huffmanTableDC = f[i >> 4];
                      n.huffmanTableAC = d[15 & i];
                      E.push(n);
                    }
                    const D = e[o++],
                      N = e[o++],
                      R = e[o++];
                    try {
                      const t = decodeScan(e, o, a, E, s, D, N, R >> 4, 15 & R, T);
                      o += t;
                    } catch (t) {
                      if (t instanceof DNLMarkerError) {
                        (0, r.warn)(`${t.message} -- attempting to re-parse the JPEG image.`);
                        return this.parse(e, { dnlScanLines: t.scanLines });
                      }
                      if (t instanceof EOIMarkerError) {
                        (0, r.warn)(`${t.message} -- ignoring the rest of the image data.`);
                        break e;
                      }
                      throw t;
                    }
                    break;
                  case 65500:
                    o += 4;
                    break;
                  case 65535:
                    255 !== e[o] && o--;
                    break;
                  default:
                    const L = findNextFileMarker(e, o - 2, o - 3);
                    if (L && L.invalid) {
                      (0, r.warn)('JpegImage.parse - unexpected data, current marker is: ' + L.invalid);
                      o = L.offset;
                      break;
                    }
                    if (!L || o >= e.length - 1) {
                      (0, r.warn)(
                        'JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).'
                      );
                      break e;
                    }
                    throw new JpegError('JpegImage.parse - unknown marker: ' + g.toString(16));
                }
                g = (0, n.readUint16)(e, o);
                o += 2;
              }
              this.width = a.samplesPerLine;
              this.height = a.scanLines;
              this.jfif = c;
              this.adobe = l;
              this.components = [];
              for (const e of a.components) {
                const t = u[e.quantizationId];
                t && (e.quantizationTable = t);
                this.components.push({
                  index: e.index,
                  output: buildComponentData(0, e),
                  scaleX: e.h / a.maxH,
                  scaleY: e.v / a.maxV,
                  blocksPerLine: e.blocksPerLine,
                  blocksPerColumn: e.blocksPerColumn,
                });
              }
              this.numComponents = this.components.length;
            }
            _getLinearizedBlockData(e, t, a = !1) {
              const r = this.width / e,
                n = this.height / t;
              let i,
                s,
                o,
                c,
                l,
                h,
                u,
                d,
                f,
                g,
                p,
                m = 0;
              const b = this.components.length,
                y = e * t * b,
                w = new Uint8ClampedArray(y),
                S = new Uint32Array(e),
                x = 4294967288;
              let C;
              for (u = 0; u < b; u++) {
                i = this.components[u];
                s = i.scaleX * r;
                o = i.scaleY * n;
                m = u;
                p = i.output;
                c = (i.blocksPerLine + 1) << 3;
                if (s !== C) {
                  for (l = 0; l < e; l++) {
                    d = 0 | (l * s);
                    S[l] = ((d & x) << 3) | (7 & d);
                  }
                  C = s;
                }
                for (h = 0; h < t; h++) {
                  d = 0 | (h * o);
                  g = (c * (d & x)) | ((7 & d) << 3);
                  for (l = 0; l < e; l++) {
                    w[m] = p[g + S[l]];
                    m += b;
                  }
                }
              }
              let k = this._decodeTransform;
              a || 4 !== b || k || (k = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]));
              if (k)
                for (u = 0; u < y; ) for (d = 0, f = 0; d < b; d++, u++, f += 2) w[u] = ((w[u] * k[f]) >> 8) + k[f + 1];
              return w;
            }
            get _isColorConversionNeeded() {
              return this.adobe
                ? !!this.adobe.transformCode
                : 3 === this.numComponents
                ? 0 !== this._colorTransform &&
                  (82 !== this.components[0].index ||
                    71 !== this.components[1].index ||
                    66 !== this.components[2].index)
                : 1 === this._colorTransform;
            }
            _convertYccToRgb(e) {
              let t, a, r;
              for (let n = 0, i = e.length; n < i; n += 3) {
                t = e[n];
                a = e[n + 1];
                r = e[n + 2];
                e[n] = t - 179.456 + 1.402 * r;
                e[n + 1] = t + 135.459 - 0.344 * a - 0.714 * r;
                e[n + 2] = t - 226.816 + 1.772 * a;
              }
              return e;
            }
            _convertYcckToRgb(e) {
              let t,
                a,
                r,
                n,
                i = 0;
              for (let s = 0, o = e.length; s < o; s += 4) {
                t = e[s];
                a = e[s + 1];
                r = e[s + 2];
                n = e[s + 3];
                e[i++] =
                  a *
                    (-660635669420364e-19 * a +
                      0.000437130475926232 * r -
                      54080610064599e-18 * t +
                      0.00048449797120281 * n -
                      0.154362151871126) -
                  122.67195406894 +
                  r *
                    (-0.000957964378445773 * r +
                      0.000817076911346625 * t -
                      0.00477271405408747 * n +
                      1.53380253221734) +
                  t * (0.000961250184130688 * t - 0.00266257332283933 * n + 0.48357088451265) +
                  n * (-0.000336197177618394 * n + 0.484791561490776);
                e[i++] =
                  107.268039397724 +
                  a *
                    (219927104525741e-19 * a -
                      0.000640992018297945 * r +
                      0.000659397001245577 * t +
                      0.000426105652938837 * n -
                      0.176491792462875) +
                  r *
                    (-0.000778269941513683 * r +
                      0.00130872261408275 * t +
                      0.000770482631801132 * n -
                      0.151051492775562) +
                  t * (0.00126935368114843 * t - 0.00265090189010898 * n + 0.25802910206845) +
                  n * (-0.000318913117588328 * n - 0.213742400323665);
                e[i++] =
                  a *
                    (-0.000570115196973677 * a -
                      263409051004589e-19 * r +
                      0.0020741088115012 * t -
                      0.00288260236853442 * n +
                      0.814272968359295) -
                  20.810012546947 +
                  r *
                    (-153496057440975e-19 * r -
                      0.000132689043961446 * t +
                      0.000560833691242812 * n -
                      0.195152027534049) +
                  t * (0.00174418132927582 * t - 0.00255243321439347 * n + 0.116935020465145) +
                  n * (-0.000343531996510555 * n + 0.24165260232407);
              }
              return e.subarray(0, i);
            }
            _convertYcckToCmyk(e) {
              let t, a, r;
              for (let n = 0, i = e.length; n < i; n += 4) {
                t = e[n];
                a = e[n + 1];
                r = e[n + 2];
                e[n] = 434.456 - t - 1.402 * r;
                e[n + 1] = 119.541 - t + 0.344 * a + 0.714 * r;
                e[n + 2] = 481.816 - t - 1.772 * a;
              }
              return e;
            }
            _convertCmykToRgb(e) {
              let t,
                a,
                r,
                n,
                i = 0;
              for (let s = 0, o = e.length; s < o; s += 4) {
                t = e[s];
                a = e[s + 1];
                r = e[s + 2];
                n = e[s + 3];
                e[i++] =
                  255 +
                  t *
                    (-6747147073602441e-20 * t +
                      0.0008379262121013727 * a +
                      0.0002894718188643294 * r +
                      0.003264231057537806 * n -
                      1.1185611867203937) +
                  a *
                    (26374107616089405e-21 * a -
                      8626949158638572e-20 * r -
                      0.0002748769067499491 * n -
                      0.02155688794978967) +
                  r * (-3878099212869363e-20 * r - 0.0003267808279485286 * n + 0.0686742238595345) -
                  n * (0.0003361971776183937 * n + 0.7430659151342254);
                e[i++] =
                  255 +
                  t *
                    (0.00013596372813588848 * t +
                      0.000924537132573585 * a +
                      0.00010567359618683593 * r +
                      0.0004791864687436512 * n -
                      0.3109689587515875) +
                  a *
                    (-0.00023545346108370344 * a +
                      0.0002702845253534714 * r +
                      0.0020200308977307156 * n -
                      0.7488052167015494) +
                  r * (6834815998235662e-20 * r + 0.00015168452363460973 * n - 0.09751927774728933) -
                  n * (0.0003189131175883281 * n + 0.7364883807733168);
                e[i++] =
                  255 +
                  t *
                    (13598650411385307e-21 * t +
                      0.00012423956175490851 * a +
                      0.0004751985097583589 * r -
                      36729317476630422e-22 * n -
                      0.05562186980264034) +
                  a *
                    (0.00016141380598724676 * a +
                      0.0009692239130725186 * r +
                      0.0007782692450036253 * n -
                      0.44015232367526463) +
                  r * (5.068882914068769e-7 * r + 0.0017778369011375071 * n - 0.7591454649749609) -
                  n * (0.0003435319965105553 * n + 0.7063770186160144);
              }
              return e.subarray(0, i);
            }
            getData({ width: e, height: t, forceRGB: a = !1, isSourcePDF: r = !1 }) {
              if (this.numComponents > 4) throw new JpegError('Unsupported color mode');
              const n = this._getLinearizedBlockData(e, t, r);
              if (1 === this.numComponents && a) {
                const e = new Uint8ClampedArray(3 * n.length);
                let t = 0;
                for (const a of n) {
                  e[t++] = a;
                  e[t++] = a;
                  e[t++] = a;
                }
                return e;
              }
              if (3 === this.numComponents && this._isColorConversionNeeded) return this._convertYccToRgb(n);
              if (4 === this.numComponents) {
                if (this._isColorConversionNeeded) return a ? this._convertYcckToRgb(n) : this._convertYcckToCmyk(n);
                if (a) return this._convertCmykToRgb(n);
              }
              return n;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.JpxStream = void 0;
          var r = a(17),
            n = a(28),
            i = a(2);
          class JpxStream extends r.DecodeStream {
            constructor(e, t, a) {
              super(t);
              this.stream = e;
              this.dict = e.dict;
              this.maybeLength = t;
              this.params = a;
            }
            get bytes() {
              return (0, i.shadow)(this, 'bytes', this.stream.getBytes(this.maybeLength));
            }
            ensureBuffer(e) {}
            readBlock() {
              if (this.eof) return;
              const e = new n.JpxImage();
              e.parse(this.bytes);
              const t = e.width,
                a = e.height,
                r = e.componentsCount,
                i = e.tiles.length;
              if (1 === i) this.buffer = e.tiles[0].items;
              else {
                const n = new Uint8ClampedArray(t * a * r);
                for (let a = 0; a < i; a++) {
                  const i = e.tiles[a],
                    s = i.width,
                    o = i.height,
                    c = i.left,
                    l = i.top,
                    h = i.items;
                  let u = 0,
                    d = (t * l + c) * r;
                  const f = t * r,
                    g = s * r;
                  for (let e = 0; e < o; e++) {
                    const e = h.subarray(u, u + g);
                    n.set(e, d);
                    u += g;
                    d += f;
                  }
                }
                this.buffer = n;
              }
              this.bufferLength = this.buffer.length;
              this.eof = !0;
            }
          }
          t.JpxStream = JpxStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.JpxImage = void 0;
          var r = a(2),
            n = a(3),
            i = a(24);
          class JpxError extends r.BaseException {
            constructor(e) {
              super(`JPX error: ${e}`, 'JpxError');
            }
          }
          const s = { LL: 0, LH: 1, HL: 1, HH: 2 };
          t.JpxImage = class JpxImage {
            constructor() {
              this.failOnCorruptedImage = !1;
            }
            parse(e) {
              if (65359 === (0, n.readUint16)(e, 0)) {
                this.parseCodestream(e, 0, e.length);
                return;
              }
              const t = e.length;
              let a = 0;
              for (; a < t; ) {
                let i = 8,
                  s = (0, n.readUint32)(e, a);
                const o = (0, n.readUint32)(e, a + 4);
                a += i;
                if (1 === s) {
                  s = 4294967296 * (0, n.readUint32)(e, a) + (0, n.readUint32)(e, a + 4);
                  a += 8;
                  i += 8;
                }
                0 === s && (s = t - a + i);
                if (s < i) throw new JpxError('Invalid box field size');
                const c = s - i;
                let l = !0;
                switch (o) {
                  case 1785737832:
                    l = !1;
                    break;
                  case 1668246642:
                    const t = e[a];
                    if (1 === t) {
                      const t = (0, n.readUint32)(e, a + 3);
                      switch (t) {
                        case 16:
                        case 17:
                        case 18:
                          break;
                        default:
                          (0, r.warn)('Unknown colorspace ' + t);
                      }
                    } else 2 === t && (0, r.info)('ICC profile not supported');
                    break;
                  case 1785737827:
                    this.parseCodestream(e, a, a + c);
                    break;
                  case 1783636e3:
                    218793738 !== (0, n.readUint32)(e, a) && (0, r.warn)('Invalid JP2 signature');
                    break;
                  case 1783634458:
                  case 1718909296:
                  case 1920099697:
                  case 1919251232:
                  case 1768449138:
                    break;
                  default:
                    const i = String.fromCharCode((o >> 24) & 255, (o >> 16) & 255, (o >> 8) & 255, 255 & o);
                    (0, r.warn)(`Unsupported header type ${o} (${i}).`);
                }
                l && (a += c);
              }
            }
            parseImageProperties(e) {
              let t = e.getByte();
              for (; t >= 0; ) {
                const a = t;
                t = e.getByte();
                if (65361 === ((a << 8) | t)) {
                  e.skip(4);
                  const t = e.getInt32() >>> 0,
                    a = e.getInt32() >>> 0,
                    r = e.getInt32() >>> 0,
                    n = e.getInt32() >>> 0;
                  e.skip(16);
                  const i = e.getUint16();
                  this.width = t - r;
                  this.height = a - n;
                  this.componentsCount = i;
                  this.bitsPerComponent = 8;
                  return;
                }
              }
              throw new JpxError('No size marker found in JPX stream');
            }
            parseCodestream(e, t, a) {
              const i = {};
              let s = !1;
              try {
                let o = t;
                for (; o + 1 < a; ) {
                  const t = (0, n.readUint16)(e, o);
                  o += 2;
                  let a,
                    c,
                    l,
                    h,
                    u,
                    d,
                    f = 0;
                  switch (t) {
                    case 65359:
                      i.mainHeader = !0;
                      break;
                    case 65497:
                      break;
                    case 65361:
                      f = (0, n.readUint16)(e, o);
                      const g = {};
                      g.Xsiz = (0, n.readUint32)(e, o + 4);
                      g.Ysiz = (0, n.readUint32)(e, o + 8);
                      g.XOsiz = (0, n.readUint32)(e, o + 12);
                      g.YOsiz = (0, n.readUint32)(e, o + 16);
                      g.XTsiz = (0, n.readUint32)(e, o + 20);
                      g.YTsiz = (0, n.readUint32)(e, o + 24);
                      g.XTOsiz = (0, n.readUint32)(e, o + 28);
                      g.YTOsiz = (0, n.readUint32)(e, o + 32);
                      const p = (0, n.readUint16)(e, o + 36);
                      g.Csiz = p;
                      const m = [];
                      a = o + 38;
                      for (let t = 0; t < p; t++) {
                        const t = {
                          precision: 1 + (127 & e[a]),
                          isSigned: !!(128 & e[a]),
                          XRsiz: e[a + 1],
                          YRsiz: e[a + 2],
                        };
                        a += 3;
                        calculateComponentDimensions(t, g);
                        m.push(t);
                      }
                      i.SIZ = g;
                      i.components = m;
                      calculateTileGrids(i, m);
                      i.QCC = [];
                      i.COC = [];
                      break;
                    case 65372:
                      f = (0, n.readUint16)(e, o);
                      const b = {};
                      a = o + 2;
                      c = e[a++];
                      switch (31 & c) {
                        case 0:
                          h = 8;
                          u = !0;
                          break;
                        case 1:
                          h = 16;
                          u = !1;
                          break;
                        case 2:
                          h = 16;
                          u = !0;
                          break;
                        default:
                          throw new Error('Invalid SQcd value ' + c);
                      }
                      b.noQuantization = 8 === h;
                      b.scalarExpounded = u;
                      b.guardBits = c >> 5;
                      l = [];
                      for (; a < f + o; ) {
                        const t = {};
                        if (8 === h) {
                          t.epsilon = e[a++] >> 3;
                          t.mu = 0;
                        } else {
                          t.epsilon = e[a] >> 3;
                          t.mu = ((7 & e[a]) << 8) | e[a + 1];
                          a += 2;
                        }
                        l.push(t);
                      }
                      b.SPqcds = l;
                      if (i.mainHeader) i.QCD = b;
                      else {
                        i.currentTile.QCD = b;
                        i.currentTile.QCC = [];
                      }
                      break;
                    case 65373:
                      f = (0, n.readUint16)(e, o);
                      const y = {};
                      a = o + 2;
                      let w;
                      if (i.SIZ.Csiz < 257) w = e[a++];
                      else {
                        w = (0, n.readUint16)(e, a);
                        a += 2;
                      }
                      c = e[a++];
                      switch (31 & c) {
                        case 0:
                          h = 8;
                          u = !0;
                          break;
                        case 1:
                          h = 16;
                          u = !1;
                          break;
                        case 2:
                          h = 16;
                          u = !0;
                          break;
                        default:
                          throw new Error('Invalid SQcd value ' + c);
                      }
                      y.noQuantization = 8 === h;
                      y.scalarExpounded = u;
                      y.guardBits = c >> 5;
                      l = [];
                      for (; a < f + o; ) {
                        const t = {};
                        if (8 === h) {
                          t.epsilon = e[a++] >> 3;
                          t.mu = 0;
                        } else {
                          t.epsilon = e[a] >> 3;
                          t.mu = ((7 & e[a]) << 8) | e[a + 1];
                          a += 2;
                        }
                        l.push(t);
                      }
                      y.SPqcds = l;
                      i.mainHeader ? (i.QCC[w] = y) : (i.currentTile.QCC[w] = y);
                      break;
                    case 65362:
                      f = (0, n.readUint16)(e, o);
                      const S = {};
                      a = o + 2;
                      const x = e[a++];
                      S.entropyCoderWithCustomPrecincts = !!(1 & x);
                      S.sopMarkerUsed = !!(2 & x);
                      S.ephMarkerUsed = !!(4 & x);
                      S.progressionOrder = e[a++];
                      S.layersCount = (0, n.readUint16)(e, a);
                      a += 2;
                      S.multipleComponentTransform = e[a++];
                      S.decompositionLevelsCount = e[a++];
                      S.xcb = 2 + (15 & e[a++]);
                      S.ycb = 2 + (15 & e[a++]);
                      const C = e[a++];
                      S.selectiveArithmeticCodingBypass = !!(1 & C);
                      S.resetContextProbabilities = !!(2 & C);
                      S.terminationOnEachCodingPass = !!(4 & C);
                      S.verticallyStripe = !!(8 & C);
                      S.predictableTermination = !!(16 & C);
                      S.segmentationSymbolUsed = !!(32 & C);
                      S.reversibleTransformation = e[a++];
                      if (S.entropyCoderWithCustomPrecincts) {
                        const t = [];
                        for (; a < f + o; ) {
                          const r = e[a++];
                          t.push({ PPx: 15 & r, PPy: r >> 4 });
                        }
                        S.precinctsSizes = t;
                      }
                      const k = [];
                      S.selectiveArithmeticCodingBypass && k.push('selectiveArithmeticCodingBypass');
                      S.terminationOnEachCodingPass && k.push('terminationOnEachCodingPass');
                      S.verticallyStripe && k.push('verticallyStripe');
                      S.predictableTermination && k.push('predictableTermination');
                      if (k.length > 0) {
                        s = !0;
                        (0, r.warn)(`JPX: Unsupported COD options (${k.join(', ')}).`);
                      }
                      if (i.mainHeader) i.COD = S;
                      else {
                        i.currentTile.COD = S;
                        i.currentTile.COC = [];
                      }
                      break;
                    case 65424:
                      f = (0, n.readUint16)(e, o);
                      d = {};
                      d.index = (0, n.readUint16)(e, o + 2);
                      d.length = (0, n.readUint32)(e, o + 4);
                      d.dataEnd = d.length + o - 2;
                      d.partIndex = e[o + 8];
                      d.partsCount = e[o + 9];
                      i.mainHeader = !1;
                      if (0 === d.partIndex) {
                        d.COD = i.COD;
                        d.COC = i.COC.slice(0);
                        d.QCD = i.QCD;
                        d.QCC = i.QCC.slice(0);
                      }
                      i.currentTile = d;
                      break;
                    case 65427:
                      d = i.currentTile;
                      if (0 === d.partIndex) {
                        initializeTile(i, d.index);
                        buildPackets(i);
                      }
                      f = d.dataEnd - o;
                      parseTilePackets(i, e, o, f);
                      break;
                    case 65363:
                      (0, r.warn)('JPX: Codestream code 0xFF53 (COC) is not implemented.');
                    case 65365:
                    case 65367:
                    case 65368:
                    case 65380:
                      f = (0, n.readUint16)(e, o);
                      break;
                    default:
                      throw new Error('Unknown codestream code: ' + t.toString(16));
                  }
                  o += f;
                }
              } catch (e) {
                if (s || this.failOnCorruptedImage) throw new JpxError(e.message);
                (0, r.warn)(`JPX: Trying to recover from: "${e.message}".`);
              }
              this.tiles = (function transformComponents(e) {
                const t = e.SIZ,
                  a = e.components,
                  r = t.Csiz,
                  n = [];
                for (let t = 0, i = e.tiles.length; t < i; t++) {
                  const i = e.tiles[t],
                    s = [];
                  for (let t = 0; t < r; t++) s[t] = transformTile(e, i, t);
                  const o = s[0],
                    c = new Uint8ClampedArray(o.items.length * r),
                    l = { left: o.left, top: o.top, width: o.width, height: o.height, items: c };
                  let h,
                    u,
                    d,
                    f,
                    g,
                    p,
                    m,
                    b = 0;
                  if (i.codingStyleDefaultParameters.multipleComponentTransform) {
                    const e = 4 === r,
                      t = s[0].items,
                      n = s[1].items,
                      o = s[2].items,
                      l = e ? s[3].items : null;
                    h = a[0].precision - 8;
                    u = 0.5 + (128 << h);
                    const y = i.components[0],
                      w = r - 3;
                    f = t.length;
                    if (y.codingStyleParameters.reversibleTransformation)
                      for (d = 0; d < f; d++, b += w) {
                        g = t[d] + u;
                        p = n[d];
                        m = o[d];
                        const e = g - ((m + p) >> 2);
                        c[b++] = (e + m) >> h;
                        c[b++] = e >> h;
                        c[b++] = (e + p) >> h;
                      }
                    else
                      for (d = 0; d < f; d++, b += w) {
                        g = t[d] + u;
                        p = n[d];
                        m = o[d];
                        c[b++] = (g + 1.402 * m) >> h;
                        c[b++] = (g - 0.34413 * p - 0.71414 * m) >> h;
                        c[b++] = (g + 1.772 * p) >> h;
                      }
                    if (e) for (d = 0, b = 3; d < f; d++, b += 4) c[b] = (l[d] + u) >> h;
                  } else
                    for (let e = 0; e < r; e++) {
                      const t = s[e].items;
                      h = a[e].precision - 8;
                      u = 0.5 + (128 << h);
                      for (b = e, d = 0, f = t.length; d < f; d++) {
                        c[b] = (t[d] + u) >> h;
                        b += r;
                      }
                    }
                  n.push(l);
                }
                return n;
              })(i);
              this.width = i.SIZ.Xsiz - i.SIZ.XOsiz;
              this.height = i.SIZ.Ysiz - i.SIZ.YOsiz;
              this.componentsCount = i.SIZ.Csiz;
            }
          };
          function calculateComponentDimensions(e, t) {
            e.x0 = Math.ceil(t.XOsiz / e.XRsiz);
            e.x1 = Math.ceil(t.Xsiz / e.XRsiz);
            e.y0 = Math.ceil(t.YOsiz / e.YRsiz);
            e.y1 = Math.ceil(t.Ysiz / e.YRsiz);
            e.width = e.x1 - e.x0;
            e.height = e.y1 - e.y0;
          }
          function calculateTileGrids(e, t) {
            const a = e.SIZ,
              r = [];
            let n;
            const i = Math.ceil((a.Xsiz - a.XTOsiz) / a.XTsiz),
              s = Math.ceil((a.Ysiz - a.YTOsiz) / a.YTsiz);
            for (let e = 0; e < s; e++)
              for (let t = 0; t < i; t++) {
                n = {};
                n.tx0 = Math.max(a.XTOsiz + t * a.XTsiz, a.XOsiz);
                n.ty0 = Math.max(a.YTOsiz + e * a.YTsiz, a.YOsiz);
                n.tx1 = Math.min(a.XTOsiz + (t + 1) * a.XTsiz, a.Xsiz);
                n.ty1 = Math.min(a.YTOsiz + (e + 1) * a.YTsiz, a.Ysiz);
                n.width = n.tx1 - n.tx0;
                n.height = n.ty1 - n.ty0;
                n.components = [];
                r.push(n);
              }
            e.tiles = r;
            for (let e = 0, i = a.Csiz; e < i; e++) {
              const a = t[e];
              for (let t = 0, i = r.length; t < i; t++) {
                const i = {};
                n = r[t];
                i.tcx0 = Math.ceil(n.tx0 / a.XRsiz);
                i.tcy0 = Math.ceil(n.ty0 / a.YRsiz);
                i.tcx1 = Math.ceil(n.tx1 / a.XRsiz);
                i.tcy1 = Math.ceil(n.ty1 / a.YRsiz);
                i.width = i.tcx1 - i.tcx0;
                i.height = i.tcy1 - i.tcy0;
                n.components[e] = i;
              }
            }
          }
          function getBlocksDimensions(e, t, a) {
            const r = t.codingStyleParameters,
              n = {};
            if (r.entropyCoderWithCustomPrecincts) {
              n.PPx = r.precinctsSizes[a].PPx;
              n.PPy = r.precinctsSizes[a].PPy;
            } else {
              n.PPx = 15;
              n.PPy = 15;
            }
            n.xcb_ = a > 0 ? Math.min(r.xcb, n.PPx - 1) : Math.min(r.xcb, n.PPx);
            n.ycb_ = a > 0 ? Math.min(r.ycb, n.PPy - 1) : Math.min(r.ycb, n.PPy);
            return n;
          }
          function buildPrecincts(e, t, a) {
            const r = 1 << a.PPx,
              n = 1 << a.PPy,
              i = 0 === t.resLevel,
              s = 1 << (a.PPx + (i ? 0 : -1)),
              o = 1 << (a.PPy + (i ? 0 : -1)),
              c = t.trx1 > t.trx0 ? Math.ceil(t.trx1 / r) - Math.floor(t.trx0 / r) : 0,
              l = t.try1 > t.try0 ? Math.ceil(t.try1 / n) - Math.floor(t.try0 / n) : 0,
              h = c * l;
            t.precinctParameters = {
              precinctWidth: r,
              precinctHeight: n,
              numprecinctswide: c,
              numprecinctshigh: l,
              numprecincts: h,
              precinctWidthInSubband: s,
              precinctHeightInSubband: o,
            };
          }
          function buildCodeblocks(e, t, a) {
            const r = a.xcb_,
              n = a.ycb_,
              i = 1 << r,
              s = 1 << n,
              o = t.tbx0 >> r,
              c = t.tby0 >> n,
              l = (t.tbx1 + i - 1) >> r,
              h = (t.tby1 + s - 1) >> n,
              u = t.resolution.precinctParameters,
              d = [],
              f = [];
            let g, p, m, b;
            for (p = c; p < h; p++)
              for (g = o; g < l; g++) {
                m = { cbx: g, cby: p, tbx0: i * g, tby0: s * p, tbx1: i * (g + 1), tby1: s * (p + 1) };
                m.tbx0_ = Math.max(t.tbx0, m.tbx0);
                m.tby0_ = Math.max(t.tby0, m.tby0);
                m.tbx1_ = Math.min(t.tbx1, m.tbx1);
                m.tby1_ = Math.min(t.tby1, m.tby1);
                b =
                  Math.floor((m.tbx0_ - t.tbx0) / u.precinctWidthInSubband) +
                  Math.floor((m.tby0_ - t.tby0) / u.precinctHeightInSubband) * u.numprecinctswide;
                m.precinctNumber = b;
                m.subbandType = t.type;
                m.Lblock = 3;
                if (m.tbx1_ <= m.tbx0_ || m.tby1_ <= m.tby0_) continue;
                d.push(m);
                let e = f[b];
                if (void 0 !== e) {
                  g < e.cbxMin ? (e.cbxMin = g) : g > e.cbxMax && (e.cbxMax = g);
                  p < e.cbyMin ? (e.cbxMin = p) : p > e.cbyMax && (e.cbyMax = p);
                } else f[b] = e = { cbxMin: g, cbyMin: p, cbxMax: g, cbyMax: p };
                m.precinct = e;
              }
            t.codeblockParameters = {
              codeblockWidth: r,
              codeblockHeight: n,
              numcodeblockwide: l - o + 1,
              numcodeblockhigh: h - c + 1,
            };
            t.codeblocks = d;
            t.precincts = f;
          }
          function createPacket(e, t, a) {
            const r = [],
              n = e.subbands;
            for (let e = 0, a = n.length; e < a; e++) {
              const a = n[e].codeblocks;
              for (let e = 0, n = a.length; e < n; e++) {
                const n = a[e];
                n.precinctNumber === t && r.push(n);
              }
            }
            return { layerNumber: a, codeblocks: r };
          }
          function LayerResolutionComponentPositionIterator(e) {
            const t = e.SIZ,
              a = e.currentTile.index,
              r = e.tiles[a],
              n = r.codingStyleDefaultParameters.layersCount,
              i = t.Csiz;
            let s = 0;
            for (let e = 0; e < i; e++) s = Math.max(s, r.components[e].codingStyleParameters.decompositionLevelsCount);
            let o = 0,
              c = 0,
              l = 0,
              h = 0;
            this.nextPacket = function JpxImage_nextPacket() {
              for (; o < n; o++) {
                for (; c <= s; c++) {
                  for (; l < i; l++) {
                    const e = r.components[l];
                    if (c > e.codingStyleParameters.decompositionLevelsCount) continue;
                    const t = e.resolutions[c],
                      a = t.precinctParameters.numprecincts;
                    for (; h < a; ) {
                      const e = createPacket(t, h, o);
                      h++;
                      return e;
                    }
                    h = 0;
                  }
                  l = 0;
                }
                c = 0;
              }
              throw new JpxError('Out of packets');
            };
          }
          function ResolutionLayerComponentPositionIterator(e) {
            const t = e.SIZ,
              a = e.currentTile.index,
              r = e.tiles[a],
              n = r.codingStyleDefaultParameters.layersCount,
              i = t.Csiz;
            let s = 0;
            for (let e = 0; e < i; e++) s = Math.max(s, r.components[e].codingStyleParameters.decompositionLevelsCount);
            let o = 0,
              c = 0,
              l = 0,
              h = 0;
            this.nextPacket = function JpxImage_nextPacket() {
              for (; o <= s; o++) {
                for (; c < n; c++) {
                  for (; l < i; l++) {
                    const e = r.components[l];
                    if (o > e.codingStyleParameters.decompositionLevelsCount) continue;
                    const t = e.resolutions[o],
                      a = t.precinctParameters.numprecincts;
                    for (; h < a; ) {
                      const e = createPacket(t, h, c);
                      h++;
                      return e;
                    }
                    h = 0;
                  }
                  l = 0;
                }
                c = 0;
              }
              throw new JpxError('Out of packets');
            };
          }
          function ResolutionPositionComponentLayerIterator(e) {
            const t = e.SIZ,
              a = e.currentTile.index,
              r = e.tiles[a],
              n = r.codingStyleDefaultParameters.layersCount,
              i = t.Csiz;
            let s,
              o,
              c,
              l,
              h = 0;
            for (c = 0; c < i; c++) {
              const e = r.components[c];
              h = Math.max(h, e.codingStyleParameters.decompositionLevelsCount);
            }
            const u = new Int32Array(h + 1);
            for (o = 0; o <= h; ++o) {
              let e = 0;
              for (c = 0; c < i; ++c) {
                const t = r.components[c].resolutions;
                o < t.length && (e = Math.max(e, t[o].precinctParameters.numprecincts));
              }
              u[o] = e;
            }
            s = 0;
            o = 0;
            c = 0;
            l = 0;
            this.nextPacket = function JpxImage_nextPacket() {
              for (; o <= h; o++) {
                for (; l < u[o]; l++) {
                  for (; c < i; c++) {
                    const e = r.components[c];
                    if (o > e.codingStyleParameters.decompositionLevelsCount) continue;
                    const t = e.resolutions[o],
                      a = t.precinctParameters.numprecincts;
                    if (!(l >= a)) {
                      for (; s < n; ) {
                        const e = createPacket(t, l, s);
                        s++;
                        return e;
                      }
                      s = 0;
                    }
                  }
                  c = 0;
                }
                l = 0;
              }
              throw new JpxError('Out of packets');
            };
          }
          function PositionComponentResolutionLayerIterator(e) {
            const t = e.SIZ,
              a = e.currentTile.index,
              r = e.tiles[a],
              n = r.codingStyleDefaultParameters.layersCount,
              i = t.Csiz,
              s = getPrecinctSizesInImageScale(r),
              o = s;
            let c = 0,
              l = 0,
              h = 0,
              u = 0,
              d = 0;
            this.nextPacket = function JpxImage_nextPacket() {
              for (; d < o.maxNumHigh; d++) {
                for (; u < o.maxNumWide; u++) {
                  for (; h < i; h++) {
                    const e = r.components[h],
                      t = e.codingStyleParameters.decompositionLevelsCount;
                    for (; l <= t; l++) {
                      const t = e.resolutions[l],
                        a = s.components[h].resolutions[l],
                        r = getPrecinctIndexIfExist(u, d, a, o, t);
                      if (null !== r) {
                        for (; c < n; ) {
                          const e = createPacket(t, r, c);
                          c++;
                          return e;
                        }
                        c = 0;
                      }
                    }
                    l = 0;
                  }
                  h = 0;
                }
                u = 0;
              }
              throw new JpxError('Out of packets');
            };
          }
          function ComponentPositionResolutionLayerIterator(e) {
            const t = e.SIZ,
              a = e.currentTile.index,
              r = e.tiles[a],
              n = r.codingStyleDefaultParameters.layersCount,
              i = t.Csiz,
              s = getPrecinctSizesInImageScale(r);
            let o = 0,
              c = 0,
              l = 0,
              h = 0,
              u = 0;
            this.nextPacket = function JpxImage_nextPacket() {
              for (; l < i; ++l) {
                const e = r.components[l],
                  t = s.components[l],
                  a = e.codingStyleParameters.decompositionLevelsCount;
                for (; u < t.maxNumHigh; u++) {
                  for (; h < t.maxNumWide; h++) {
                    for (; c <= a; c++) {
                      const a = e.resolutions[c],
                        r = t.resolutions[c],
                        i = getPrecinctIndexIfExist(h, u, r, t, a);
                      if (null !== i) {
                        for (; o < n; ) {
                          const e = createPacket(a, i, o);
                          o++;
                          return e;
                        }
                        o = 0;
                      }
                    }
                    c = 0;
                  }
                  h = 0;
                }
                u = 0;
              }
              throw new JpxError('Out of packets');
            };
          }
          function getPrecinctIndexIfExist(e, t, a, r, n) {
            const i = e * r.minWidth,
              s = t * r.minHeight;
            if (i % a.width != 0 || s % a.height != 0) return null;
            const o = (s / a.width) * n.precinctParameters.numprecinctswide;
            return i / a.height + o;
          }
          function getPrecinctSizesInImageScale(e) {
            const t = e.components.length;
            let a = Number.MAX_VALUE,
              r = Number.MAX_VALUE,
              n = 0,
              i = 0;
            const s = new Array(t);
            for (let o = 0; o < t; o++) {
              const t = e.components[o],
                c = t.codingStyleParameters.decompositionLevelsCount,
                l = new Array(c + 1);
              let h = Number.MAX_VALUE,
                u = Number.MAX_VALUE,
                d = 0,
                f = 0,
                g = 1;
              for (let e = c; e >= 0; --e) {
                const a = t.resolutions[e],
                  r = g * a.precinctParameters.precinctWidth,
                  n = g * a.precinctParameters.precinctHeight;
                h = Math.min(h, r);
                u = Math.min(u, n);
                d = Math.max(d, a.precinctParameters.numprecinctswide);
                f = Math.max(f, a.precinctParameters.numprecinctshigh);
                l[e] = { width: r, height: n };
                g <<= 1;
              }
              a = Math.min(a, h);
              r = Math.min(r, u);
              n = Math.max(n, d);
              i = Math.max(i, f);
              s[o] = { resolutions: l, minWidth: h, minHeight: u, maxNumWide: d, maxNumHigh: f };
            }
            return { components: s, minWidth: a, minHeight: r, maxNumWide: n, maxNumHigh: i };
          }
          function buildPackets(e) {
            const t = e.SIZ,
              a = e.currentTile.index,
              r = e.tiles[a],
              n = t.Csiz;
            for (let e = 0; e < n; e++) {
              const t = r.components[e],
                a = t.codingStyleParameters.decompositionLevelsCount,
                n = [],
                i = [];
              for (let e = 0; e <= a; e++) {
                const r = getBlocksDimensions(0, t, e),
                  s = {},
                  o = 1 << (a - e);
                s.trx0 = Math.ceil(t.tcx0 / o);
                s.try0 = Math.ceil(t.tcy0 / o);
                s.trx1 = Math.ceil(t.tcx1 / o);
                s.try1 = Math.ceil(t.tcy1 / o);
                s.resLevel = e;
                buildPrecincts(0, s, r);
                n.push(s);
                let c;
                if (0 === e) {
                  c = {};
                  c.type = 'LL';
                  c.tbx0 = Math.ceil(t.tcx0 / o);
                  c.tby0 = Math.ceil(t.tcy0 / o);
                  c.tbx1 = Math.ceil(t.tcx1 / o);
                  c.tby1 = Math.ceil(t.tcy1 / o);
                  c.resolution = s;
                  buildCodeblocks(0, c, r);
                  i.push(c);
                  s.subbands = [c];
                } else {
                  const n = 1 << (a - e + 1),
                    o = [];
                  c = {};
                  c.type = 'HL';
                  c.tbx0 = Math.ceil(t.tcx0 / n - 0.5);
                  c.tby0 = Math.ceil(t.tcy0 / n);
                  c.tbx1 = Math.ceil(t.tcx1 / n - 0.5);
                  c.tby1 = Math.ceil(t.tcy1 / n);
                  c.resolution = s;
                  buildCodeblocks(0, c, r);
                  i.push(c);
                  o.push(c);
                  c = {};
                  c.type = 'LH';
                  c.tbx0 = Math.ceil(t.tcx0 / n);
                  c.tby0 = Math.ceil(t.tcy0 / n - 0.5);
                  c.tbx1 = Math.ceil(t.tcx1 / n);
                  c.tby1 = Math.ceil(t.tcy1 / n - 0.5);
                  c.resolution = s;
                  buildCodeblocks(0, c, r);
                  i.push(c);
                  o.push(c);
                  c = {};
                  c.type = 'HH';
                  c.tbx0 = Math.ceil(t.tcx0 / n - 0.5);
                  c.tby0 = Math.ceil(t.tcy0 / n - 0.5);
                  c.tbx1 = Math.ceil(t.tcx1 / n - 0.5);
                  c.tby1 = Math.ceil(t.tcy1 / n - 0.5);
                  c.resolution = s;
                  buildCodeblocks(0, c, r);
                  i.push(c);
                  o.push(c);
                  s.subbands = o;
                }
              }
              t.resolutions = n;
              t.subbands = i;
            }
            const i = r.codingStyleDefaultParameters.progressionOrder;
            switch (i) {
              case 0:
                r.packetsIterator = new LayerResolutionComponentPositionIterator(e);
                break;
              case 1:
                r.packetsIterator = new ResolutionLayerComponentPositionIterator(e);
                break;
              case 2:
                r.packetsIterator = new ResolutionPositionComponentLayerIterator(e);
                break;
              case 3:
                r.packetsIterator = new PositionComponentResolutionLayerIterator(e);
                break;
              case 4:
                r.packetsIterator = new ComponentPositionResolutionLayerIterator(e);
                break;
              default:
                throw new JpxError(`Unsupported progression order ${i}`);
            }
          }
          function parseTilePackets(e, t, a, r) {
            let i,
              s = 0,
              o = 0,
              c = !1;
            function readBits(e) {
              for (; o < e; ) {
                const e = t[a + s];
                s++;
                if (c) {
                  i = (i << 7) | e;
                  o += 7;
                  c = !1;
                } else {
                  i = (i << 8) | e;
                  o += 8;
                }
                255 === e && (c = !0);
              }
              o -= e;
              return (i >>> o) & ((1 << e) - 1);
            }
            function skipMarkerIfEqual(e) {
              if (255 === t[a + s - 1] && t[a + s] === e) {
                skipBytes(1);
                return !0;
              }
              if (255 === t[a + s] && t[a + s + 1] === e) {
                skipBytes(2);
                return !0;
              }
              return !1;
            }
            function skipBytes(e) {
              s += e;
            }
            function alignToByte() {
              o = 0;
              if (c) {
                s++;
                c = !1;
              }
            }
            function readCodingpasses() {
              if (0 === readBits(1)) return 1;
              if (0 === readBits(1)) return 2;
              let e = readBits(2);
              if (e < 3) return e + 3;
              e = readBits(5);
              if (e < 31) return e + 6;
              e = readBits(7);
              return e + 37;
            }
            const l = e.currentTile.index,
              h = e.tiles[l],
              u = e.COD.sopMarkerUsed,
              d = e.COD.ephMarkerUsed,
              f = h.packetsIterator;
            for (; s < r; ) {
              alignToByte();
              u && skipMarkerIfEqual(145) && skipBytes(4);
              const e = f.nextPacket();
              if (!readBits(1)) continue;
              const r = e.layerNumber,
                i = [];
              let o;
              for (let t = 0, a = e.codeblocks.length; t < a; t++) {
                o = e.codeblocks[t];
                let a = o.precinct;
                const s = o.cbx - a.cbxMin,
                  c = o.cby - a.cbyMin;
                let l,
                  h,
                  u = !1,
                  d = !1;
                if (void 0 !== o.included) u = !!readBits(1);
                else {
                  a = o.precinct;
                  let e;
                  if (void 0 !== a.inclusionTree) e = a.inclusionTree;
                  else {
                    const t = a.cbxMax - a.cbxMin + 1,
                      n = a.cbyMax - a.cbyMin + 1;
                    e = new InclusionTree(t, n, r);
                    h = new TagTree(t, n);
                    a.inclusionTree = e;
                    a.zeroBitPlanesTree = h;
                    for (let e = 0; e < r; e++) if (0 !== readBits(1)) throw new JpxError('Invalid tag tree');
                  }
                  if (e.reset(s, c, r))
                    for (;;) {
                      if (!readBits(1)) {
                        e.incrementValue(r);
                        break;
                      }
                      l = !e.nextLevel();
                      if (l) {
                        o.included = !0;
                        u = d = !0;
                        break;
                      }
                    }
                }
                if (!u) continue;
                if (d) {
                  h = a.zeroBitPlanesTree;
                  h.reset(s, c);
                  for (;;)
                    if (readBits(1)) {
                      l = !h.nextLevel();
                      if (l) break;
                    } else h.incrementValue();
                  o.zeroBitPlanes = h.value;
                }
                const f = readCodingpasses();
                for (; readBits(1); ) o.Lblock++;
                const g = (0, n.log2)(f),
                  p = readBits((f < 1 << g ? g - 1 : g) + o.Lblock);
                i.push({ codeblock: o, codingpasses: f, dataLength: p });
              }
              alignToByte();
              d && skipMarkerIfEqual(146);
              for (; i.length > 0; ) {
                const e = i.shift();
                o = e.codeblock;
                void 0 === o.data && (o.data = []);
                o.data.push({ data: t, start: a + s, end: a + s + e.dataLength, codingpasses: e.codingpasses });
                s += e.dataLength;
              }
            }
            return s;
          }
          function copyCoefficients(e, t, a, r, n, s, c, l, h) {
            const u = r.tbx0,
              d = r.tby0,
              f = r.tbx1 - r.tbx0,
              g = r.codeblocks,
              p = 'H' === r.type.charAt(0) ? 1 : 0,
              m = 'H' === r.type.charAt(1) ? t : 0;
            for (let a = 0, b = g.length; a < b; ++a) {
              const b = g[a],
                y = b.tbx1_ - b.tbx0_,
                w = b.tby1_ - b.tby0_;
              if (0 === y || 0 === w) continue;
              if (void 0 === b.data) continue;
              const S = new o(y, w, b.subbandType, b.zeroBitPlanes, s);
              let x = 2;
              const C = b.data;
              let k,
                v,
                F,
                O = 0,
                T = 0;
              for (k = 0, v = C.length; k < v; k++) {
                F = C[k];
                O += F.end - F.start;
                T += F.codingpasses;
              }
              const M = new Uint8Array(O);
              let E = 0;
              for (k = 0, v = C.length; k < v; k++) {
                F = C[k];
                const e = F.data.subarray(F.start, F.end);
                M.set(e, E);
                E += e.length;
              }
              const D = new i.ArithmeticDecoder(M, 0, O);
              S.setDecoder(D);
              for (k = 0; k < T; k++) {
                switch (x) {
                  case 0:
                    S.runSignificancePropagationPass();
                    break;
                  case 1:
                    S.runMagnitudeRefinementPass();
                    break;
                  case 2:
                    S.runCleanupPass();
                    l && S.checkSegmentationSymbol();
                }
                h && S.reset();
                x = (x + 1) % 3;
              }
              let N = b.tbx0_ - u + (b.tby0_ - d) * f;
              const R = S.coefficentsSign,
                L = S.coefficentsMagnitude,
                j = S.bitsDecoded,
                $ = c ? 0 : 0.5;
              let _, U, X;
              E = 0;
              const H = 'LL' !== r.type;
              for (k = 0; k < w; k++) {
                const a = 2 * ((N / f) | 0) * (t - f) + p + m;
                for (_ = 0; _ < y; _++) {
                  U = L[E];
                  if (0 !== U) {
                    U = (U + $) * n;
                    0 !== R[E] && (U = -U);
                    X = j[E];
                    const t = H ? a + (N << 1) : N;
                    e[t] = c && X >= s ? U : U * (1 << (s - X));
                  }
                  N++;
                  E++;
                }
                N += f - y;
              }
            }
          }
          function transformTile(e, t, a) {
            const r = t.components[a],
              n = r.codingStyleParameters,
              i = r.quantizationParameters,
              o = n.decompositionLevelsCount,
              c = i.SPqcds,
              l = i.scalarExpounded,
              h = i.guardBits,
              u = n.segmentationSymbolUsed,
              d = n.resetContextProbabilities,
              f = e.components[a].precision,
              g = n.reversibleTransformation,
              p = g ? new ReversibleTransform() : new IrreversibleTransform(),
              m = [];
            let b = 0;
            for (let e = 0; e <= o; e++) {
              const t = r.resolutions[e],
                a = t.trx1 - t.trx0,
                n = t.try1 - t.try0,
                i = new Float32Array(a * n);
              for (let r = 0, n = t.subbands.length; r < n; r++) {
                let n, o;
                if (l) {
                  n = c[b].mu;
                  o = c[b].epsilon;
                  b++;
                } else {
                  n = c[0].mu;
                  o = c[0].epsilon + (e > 0 ? 1 - e : 0);
                }
                const p = t.subbands[r],
                  m = s[p.type];
                copyCoefficients(i, a, 0, p, g ? 1 : 2 ** (f + m - o) * (1 + n / 2048), h + o - 1, g, u, d);
              }
              m.push({ width: a, height: n, items: i });
            }
            const y = p.calculate(m, r.tcx0, r.tcy0);
            return { left: r.tcx0, top: r.tcy0, width: y.width, height: y.height, items: y.items };
          }
          function initializeTile(e, t) {
            const a = e.SIZ.Csiz,
              r = e.tiles[t];
            for (let t = 0; t < a; t++) {
              const a = r.components[t],
                n = void 0 !== e.currentTile.QCC[t] ? e.currentTile.QCC[t] : e.currentTile.QCD;
              a.quantizationParameters = n;
              const i = void 0 !== e.currentTile.COC[t] ? e.currentTile.COC[t] : e.currentTile.COD;
              a.codingStyleParameters = i;
            }
            r.codingStyleDefaultParameters = e.currentTile.COD;
          }
          class TagTree {
            constructor(e, t) {
              const a = (0, n.log2)(Math.max(e, t)) + 1;
              this.levels = [];
              for (let r = 0; r < a; r++) {
                const a = { width: e, height: t, items: [] };
                this.levels.push(a);
                e = Math.ceil(e / 2);
                t = Math.ceil(t / 2);
              }
            }
            reset(e, t) {
              let a,
                r = 0,
                n = 0;
              for (; r < this.levels.length; ) {
                a = this.levels[r];
                const i = e + t * a.width;
                if (void 0 !== a.items[i]) {
                  n = a.items[i];
                  break;
                }
                a.index = i;
                e >>= 1;
                t >>= 1;
                r++;
              }
              r--;
              a = this.levels[r];
              a.items[a.index] = n;
              this.currentLevel = r;
              delete this.value;
            }
            incrementValue() {
              const e = this.levels[this.currentLevel];
              e.items[e.index]++;
            }
            nextLevel() {
              let e = this.currentLevel,
                t = this.levels[e];
              const a = t.items[t.index];
              e--;
              if (e < 0) {
                this.value = a;
                return !1;
              }
              this.currentLevel = e;
              t = this.levels[e];
              t.items[t.index] = a;
              return !0;
            }
          }
          class InclusionTree {
            constructor(e, t, a) {
              const r = (0, n.log2)(Math.max(e, t)) + 1;
              this.levels = [];
              for (let n = 0; n < r; n++) {
                const r = new Uint8Array(e * t);
                for (let e = 0, t = r.length; e < t; e++) r[e] = a;
                const n = { width: e, height: t, items: r };
                this.levels.push(n);
                e = Math.ceil(e / 2);
                t = Math.ceil(t / 2);
              }
            }
            reset(e, t, a) {
              let r = 0;
              for (; r < this.levels.length; ) {
                const n = this.levels[r],
                  i = e + t * n.width;
                n.index = i;
                const s = n.items[i];
                if (255 === s) break;
                if (s > a) {
                  this.currentLevel = r;
                  this.propagateValues();
                  return !1;
                }
                e >>= 1;
                t >>= 1;
                r++;
              }
              this.currentLevel = r - 1;
              return !0;
            }
            incrementValue(e) {
              const t = this.levels[this.currentLevel];
              t.items[t.index] = e + 1;
              this.propagateValues();
            }
            propagateValues() {
              let e = this.currentLevel,
                t = this.levels[e];
              const a = t.items[t.index];
              for (; --e >= 0; ) {
                t = this.levels[e];
                t.items[t.index] = a;
              }
            }
            nextLevel() {
              let e = this.currentLevel,
                t = this.levels[e];
              const a = t.items[t.index];
              t.items[t.index] = 255;
              e--;
              if (e < 0) return !1;
              this.currentLevel = e;
              t = this.levels[e];
              t.items[t.index] = a;
              return !0;
            }
          }
          const o = (function BitModelClosure() {
            const e = 17,
              t = new Uint8Array([
                0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8,
                0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7,
                8, 0, 4, 7, 8,
              ]),
              a = new Uint8Array([
                0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4,
                0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7,
                7, 0, 8, 8, 8,
              ]),
              r = new Uint8Array([
                0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7,
                0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8,
                8, 0, 8, 8, 8,
              ]);
            return class BitModel {
              constructor(e, n, i, s, o) {
                this.width = e;
                this.height = n;
                let c;
                c = 'HH' === i ? r : 'HL' === i ? a : t;
                this.contextLabelTable = c;
                const l = e * n;
                this.neighborsSignificance = new Uint8Array(l);
                this.coefficentsSign = new Uint8Array(l);
                let h;
                h = o > 14 ? new Uint32Array(l) : o > 6 ? new Uint16Array(l) : new Uint8Array(l);
                this.coefficentsMagnitude = h;
                this.processingFlags = new Uint8Array(l);
                const u = new Uint8Array(l);
                if (0 !== s) for (let e = 0; e < l; e++) u[e] = s;
                this.bitsDecoded = u;
                this.reset();
              }
              setDecoder(e) {
                this.decoder = e;
              }
              reset() {
                this.contexts = new Int8Array(19);
                this.contexts[0] = 8;
                this.contexts[17] = 92;
                this.contexts[18] = 6;
              }
              setNeighborsSignificance(e, t, a) {
                const r = this.neighborsSignificance,
                  n = this.width,
                  i = this.height,
                  s = t > 0,
                  o = t + 1 < n;
                let c;
                if (e > 0) {
                  c = a - n;
                  s && (r[c - 1] += 16);
                  o && (r[c + 1] += 16);
                  r[c] += 4;
                }
                if (e + 1 < i) {
                  c = a + n;
                  s && (r[c - 1] += 16);
                  o && (r[c + 1] += 16);
                  r[c] += 4;
                }
                s && (r[a - 1] += 1);
                o && (r[a + 1] += 1);
                r[a] |= 128;
              }
              runSignificancePropagationPass() {
                const e = this.decoder,
                  t = this.width,
                  a = this.height,
                  r = this.coefficentsMagnitude,
                  n = this.coefficentsSign,
                  i = this.neighborsSignificance,
                  s = this.processingFlags,
                  o = this.contexts,
                  c = this.contextLabelTable,
                  l = this.bitsDecoded;
                for (let h = 0; h < a; h += 4)
                  for (let u = 0; u < t; u++) {
                    let d = h * t + u;
                    for (let f = 0; f < 4; f++, d += t) {
                      const t = h + f;
                      if (t >= a) break;
                      s[d] &= -2;
                      if (r[d] || !i[d]) continue;
                      const g = c[i[d]];
                      if (e.readBit(o, g)) {
                        const e = this.decodeSignBit(t, u, d);
                        n[d] = e;
                        r[d] = 1;
                        this.setNeighborsSignificance(t, u, d);
                        s[d] |= 2;
                      }
                      l[d]++;
                      s[d] |= 1;
                    }
                  }
              }
              decodeSignBit(e, t, a) {
                const r = this.width,
                  n = this.height,
                  i = this.coefficentsMagnitude,
                  s = this.coefficentsSign;
                let o, c, l, h, u, d;
                h = t > 0 && 0 !== i[a - 1];
                if (t + 1 < r && 0 !== i[a + 1]) {
                  l = s[a + 1];
                  if (h) {
                    c = s[a - 1];
                    o = 1 - l - c;
                  } else o = 1 - l - l;
                } else if (h) {
                  c = s[a - 1];
                  o = 1 - c - c;
                } else o = 0;
                const f = 3 * o;
                h = e > 0 && 0 !== i[a - r];
                if (e + 1 < n && 0 !== i[a + r]) {
                  l = s[a + r];
                  if (h) {
                    c = s[a - r];
                    o = 1 - l - c + f;
                  } else o = 1 - l - l + f;
                } else if (h) {
                  c = s[a - r];
                  o = 1 - c - c + f;
                } else o = f;
                if (o >= 0) {
                  u = 9 + o;
                  d = this.decoder.readBit(this.contexts, u);
                } else {
                  u = 9 - o;
                  d = 1 ^ this.decoder.readBit(this.contexts, u);
                }
                return d;
              }
              runMagnitudeRefinementPass() {
                const e = this.decoder,
                  t = this.width,
                  a = this.height,
                  r = this.coefficentsMagnitude,
                  n = this.neighborsSignificance,
                  i = this.contexts,
                  s = this.bitsDecoded,
                  o = this.processingFlags,
                  c = t * a,
                  l = 4 * t;
                for (let a, h = 0; h < c; h = a) {
                  a = Math.min(c, h + l);
                  for (let c = 0; c < t; c++)
                    for (let l = h + c; l < a; l += t) {
                      if (!r[l] || 0 != (1 & o[l])) continue;
                      let t = 16;
                      if (0 != (2 & o[l])) {
                        o[l] ^= 2;
                        t = 0 === (127 & n[l]) ? 15 : 14;
                      }
                      const a = e.readBit(i, t);
                      r[l] = (r[l] << 1) | a;
                      s[l]++;
                      o[l] |= 1;
                    }
                }
              }
              runCleanupPass() {
                const t = this.decoder,
                  a = this.width,
                  r = this.height,
                  n = this.neighborsSignificance,
                  i = this.coefficentsMagnitude,
                  s = this.coefficentsSign,
                  o = this.contexts,
                  c = this.contextLabelTable,
                  l = this.bitsDecoded,
                  h = this.processingFlags,
                  u = a,
                  d = 2 * a,
                  f = 3 * a;
                let g;
                for (let p = 0; p < r; p = g) {
                  g = Math.min(p + 4, r);
                  const m = p * a,
                    b = p + 3 < r;
                  for (let r = 0; r < a; r++) {
                    const y = m + r;
                    let w,
                      S = 0,
                      x = y,
                      C = p;
                    if (
                      b &&
                      0 === h[y] &&
                      0 === h[y + u] &&
                      0 === h[y + d] &&
                      0 === h[y + f] &&
                      0 === n[y] &&
                      0 === n[y + u] &&
                      0 === n[y + d] &&
                      0 === n[y + f]
                    ) {
                      if (!t.readBit(o, 18)) {
                        l[y]++;
                        l[y + u]++;
                        l[y + d]++;
                        l[y + f]++;
                        continue;
                      }
                      S = (t.readBit(o, e) << 1) | t.readBit(o, e);
                      if (0 !== S) {
                        C = p + S;
                        x += S * a;
                      }
                      w = this.decodeSignBit(C, r, x);
                      s[x] = w;
                      i[x] = 1;
                      this.setNeighborsSignificance(C, r, x);
                      h[x] |= 2;
                      x = y;
                      for (let e = p; e <= C; e++, x += a) l[x]++;
                      S++;
                    }
                    for (C = p + S; C < g; C++, x += a) {
                      if (i[x] || 0 != (1 & h[x])) continue;
                      const e = c[n[x]];
                      if (1 === t.readBit(o, e)) {
                        w = this.decodeSignBit(C, r, x);
                        s[x] = w;
                        i[x] = 1;
                        this.setNeighborsSignificance(C, r, x);
                        h[x] |= 2;
                      }
                      l[x]++;
                    }
                  }
                }
              }
              checkSegmentationSymbol() {
                const t = this.decoder,
                  a = this.contexts;
                if (10 !== ((t.readBit(a, e) << 3) | (t.readBit(a, e) << 2) | (t.readBit(a, e) << 1) | t.readBit(a, e)))
                  throw new JpxError('Invalid segmentation symbol');
              }
            };
          })();
          class Transform {
            constructor() {
              this.constructor === Transform && (0, r.unreachable)('Cannot initialize Transform.');
            }
            calculate(e, t, a) {
              let r = e[0];
              for (let n = 1, i = e.length; n < i; n++) r = this.iterate(r, e[n], t, a);
              return r;
            }
            extend(e, t, a) {
              let r = t - 1,
                n = t + 1,
                i = t + a - 2,
                s = t + a;
              e[r--] = e[n++];
              e[s++] = e[i--];
              e[r--] = e[n++];
              e[s++] = e[i--];
              e[r--] = e[n++];
              e[s++] = e[i--];
              e[r] = e[n];
              e[s] = e[i];
            }
            filter(e, t, a) {
              (0, r.unreachable)('Abstract method `filter` called');
            }
            iterate(e, t, a, r) {
              const n = e.width,
                i = e.height;
              let s = e.items;
              const o = t.width,
                c = t.height,
                l = t.items;
              let h, u, d, f, g, p;
              for (d = 0, h = 0; h < i; h++) {
                f = 2 * h * o;
                for (u = 0; u < n; u++, d++, f += 2) l[f] = s[d];
              }
              s = e.items = null;
              const m = new Float32Array(o + 8);
              if (1 === o) {
                if (0 != (1 & a)) for (p = 0, d = 0; p < c; p++, d += o) l[d] *= 0.5;
              } else
                for (p = 0, d = 0; p < c; p++, d += o) {
                  m.set(l.subarray(d, d + o), 4);
                  this.extend(m, 4, o);
                  this.filter(m, 4, o);
                  l.set(m.subarray(4, 4 + o), d);
                }
              let b = 16;
              const y = [];
              for (h = 0; h < b; h++) y.push(new Float32Array(c + 8));
              let w,
                S = 0;
              e = 4 + c;
              if (1 === c) {
                if (0 != (1 & r)) for (g = 0; g < o; g++) l[g] *= 0.5;
              } else
                for (g = 0; g < o; g++) {
                  if (0 === S) {
                    b = Math.min(o - g, b);
                    for (d = g, f = 4; f < e; d += o, f++) for (w = 0; w < b; w++) y[w][f] = l[d + w];
                    S = b;
                  }
                  S--;
                  const t = y[S];
                  this.extend(t, 4, c);
                  this.filter(t, 4, c);
                  if (0 === S) {
                    d = g - b + 1;
                    for (f = 4; f < e; d += o, f++) for (w = 0; w < b; w++) l[d + w] = y[w][f];
                  }
                }
              return { width: o, height: c, items: l };
            }
          }
          class IrreversibleTransform extends Transform {
            filter(e, t, a) {
              const r = a >> 1;
              let n, i, s, o;
              const c = -1.586134342059924,
                l = -0.052980118572961,
                h = 0.882911075530934,
                u = 0.443506852043971,
                d = 1.230174104914001;
              n = (t |= 0) - 3;
              for (i = r + 4; i--; n += 2) e[n] *= 0.8128930661159609;
              n = t - 2;
              s = u * e[n - 1];
              for (i = r + 3; i--; n += 2) {
                o = u * e[n + 1];
                e[n] = d * e[n] - s - o;
                if (!i--) break;
                n += 2;
                s = u * e[n + 1];
                e[n] = d * e[n] - s - o;
              }
              n = t - 1;
              s = h * e[n - 1];
              for (i = r + 2; i--; n += 2) {
                o = h * e[n + 1];
                e[n] -= s + o;
                if (!i--) break;
                n += 2;
                s = h * e[n + 1];
                e[n] -= s + o;
              }
              n = t;
              s = l * e[n - 1];
              for (i = r + 1; i--; n += 2) {
                o = l * e[n + 1];
                e[n] -= s + o;
                if (!i--) break;
                n += 2;
                s = l * e[n + 1];
                e[n] -= s + o;
              }
              if (0 !== r) {
                n = t + 1;
                s = c * e[n - 1];
                for (i = r; i--; n += 2) {
                  o = c * e[n + 1];
                  e[n] -= s + o;
                  if (!i--) break;
                  n += 2;
                  s = c * e[n + 1];
                  e[n] -= s + o;
                }
              }
            }
          }
          class ReversibleTransform extends Transform {
            filter(e, t, a) {
              const r = a >> 1;
              let n, i;
              for (n = t |= 0, i = r + 1; i--; n += 2) e[n] -= (e[n - 1] + e[n + 1] + 2) >> 2;
              for (n = t + 1, i = r; i--; n += 2) e[n] += (e[n - 1] + e[n + 1]) >> 1;
            }
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.LZWStream = void 0;
          var r = a(17);
          class LZWStream extends r.DecodeStream {
            constructor(e, t, a) {
              super(t);
              this.str = e;
              this.dict = e.dict;
              this.cachedData = 0;
              this.bitsCached = 0;
              const r = 4096,
                n = {
                  earlyChange: a,
                  codeLength: 9,
                  nextCode: 258,
                  dictionaryValues: new Uint8Array(r),
                  dictionaryLengths: new Uint16Array(r),
                  dictionaryPrevCodes: new Uint16Array(r),
                  currentSequence: new Uint8Array(r),
                  currentSequenceLength: 0,
                };
              for (let e = 0; e < 256; ++e) {
                n.dictionaryValues[e] = e;
                n.dictionaryLengths[e] = 1;
              }
              this.lzwState = n;
            }
            readBits(e) {
              let t = this.bitsCached,
                a = this.cachedData;
              for (; t < e; ) {
                const e = this.str.getByte();
                if (-1 === e) {
                  this.eof = !0;
                  return null;
                }
                a = (a << 8) | e;
                t += 8;
              }
              this.bitsCached = t -= e;
              this.cachedData = a;
              this.lastCode = null;
              return (a >>> t) & ((1 << e) - 1);
            }
            readBlock() {
              let e,
                t,
                a,
                r = 1024;
              const n = this.lzwState;
              if (!n) return;
              const i = n.earlyChange;
              let s = n.nextCode;
              const o = n.dictionaryValues,
                c = n.dictionaryLengths,
                l = n.dictionaryPrevCodes;
              let h = n.codeLength,
                u = n.prevCode;
              const d = n.currentSequence;
              let f = n.currentSequenceLength,
                g = 0,
                p = this.bufferLength,
                m = this.ensureBuffer(this.bufferLength + r);
              for (e = 0; e < 512; e++) {
                const e = this.readBits(h),
                  n = f > 0;
                if (e < 256) {
                  d[0] = e;
                  f = 1;
                } else {
                  if (!(e >= 258)) {
                    if (256 === e) {
                      h = 9;
                      s = 258;
                      f = 0;
                      continue;
                    }
                    this.eof = !0;
                    delete this.lzwState;
                    break;
                  }
                  if (e < s) {
                    f = c[e];
                    for (t = f - 1, a = e; t >= 0; t--) {
                      d[t] = o[a];
                      a = l[a];
                    }
                  } else d[f++] = d[0];
                }
                if (n) {
                  l[s] = u;
                  c[s] = c[u] + 1;
                  o[s] = d[0];
                  s++;
                  h = (s + i) & (s + i - 1) ? h : 0 | Math.min(Math.log(s + i) / 0.6931471805599453 + 1, 12);
                }
                u = e;
                g += f;
                if (r < g) {
                  do {
                    r += 512;
                  } while (r < g);
                  m = this.ensureBuffer(this.bufferLength + r);
                }
                for (t = 0; t < f; t++) m[p++] = d[t];
              }
              n.nextCode = s;
              n.codeLength = h;
              n.prevCode = u;
              n.currentSequenceLength = f;
              this.bufferLength = p;
            }
          }
          t.LZWStream = LZWStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PredictorStream = void 0;
          var r = a(17),
            n = a(4),
            i = a(2);
          class PredictorStream extends r.DecodeStream {
            constructor(e, t, a) {
              super(t);
              if (!(a instanceof n.Dict)) return e;
              const r = (this.predictor = a.get('Predictor') || 1);
              if (r <= 1) return e;
              if (2 !== r && (r < 10 || r > 15)) throw new i.FormatError(`Unsupported predictor: ${r}`);
              this.readBlock = 2 === r ? this.readBlockTiff : this.readBlockPng;
              this.str = e;
              this.dict = e.dict;
              const s = (this.colors = a.get('Colors') || 1),
                o = (this.bits = a.get('BPC', 'BitsPerComponent') || 8),
                c = (this.columns = a.get('Columns') || 1);
              this.pixBytes = (s * o + 7) >> 3;
              this.rowBytes = (c * s * o + 7) >> 3;
              return this;
            }
            readBlockTiff() {
              const e = this.rowBytes,
                t = this.bufferLength,
                a = this.ensureBuffer(t + e),
                r = this.bits,
                n = this.colors,
                i = this.str.getBytes(e);
              this.eof = !i.length;
              if (this.eof) return;
              let s,
                o = 0,
                c = 0,
                l = 0,
                h = 0,
                u = t;
              if (1 === r && 1 === n)
                for (s = 0; s < e; ++s) {
                  let e = i[s] ^ o;
                  e ^= e >> 1;
                  e ^= e >> 2;
                  e ^= e >> 4;
                  o = (1 & e) << 7;
                  a[u++] = e;
                }
              else if (8 === r) {
                for (s = 0; s < n; ++s) a[u++] = i[s];
                for (; s < e; ++s) {
                  a[u] = a[u - n] + i[s];
                  u++;
                }
              } else if (16 === r) {
                const t = 2 * n;
                for (s = 0; s < t; ++s) a[u++] = i[s];
                for (; s < e; s += 2) {
                  const e = ((255 & i[s]) << 8) + (255 & i[s + 1]) + ((255 & a[u - t]) << 8) + (255 & a[u - t + 1]);
                  a[u++] = (e >> 8) & 255;
                  a[u++] = 255 & e;
                }
              } else {
                const e = new Uint8Array(n + 1),
                  u = (1 << r) - 1;
                let d = 0,
                  f = t;
                const g = this.columns;
                for (s = 0; s < g; ++s)
                  for (let t = 0; t < n; ++t) {
                    if (l < r) {
                      o = (o << 8) | (255 & i[d++]);
                      l += 8;
                    }
                    e[t] = (e[t] + (o >> (l - r))) & u;
                    l -= r;
                    c = (c << r) | e[t];
                    h += r;
                    if (h >= 8) {
                      a[f++] = (c >> (h - 8)) & 255;
                      h -= 8;
                    }
                  }
                h > 0 && (a[f++] = (c << (8 - h)) + (o & ((1 << (8 - h)) - 1)));
              }
              this.bufferLength += e;
            }
            readBlockPng() {
              const e = this.rowBytes,
                t = this.pixBytes,
                a = this.str.getByte(),
                r = this.str.getBytes(e);
              this.eof = !r.length;
              if (this.eof) return;
              const n = this.bufferLength,
                s = this.ensureBuffer(n + e);
              let o = s.subarray(n - e, n);
              0 === o.length && (o = new Uint8Array(e));
              let c,
                l,
                h,
                u = n;
              switch (a) {
                case 0:
                  for (c = 0; c < e; ++c) s[u++] = r[c];
                  break;
                case 1:
                  for (c = 0; c < t; ++c) s[u++] = r[c];
                  for (; c < e; ++c) {
                    s[u] = (s[u - t] + r[c]) & 255;
                    u++;
                  }
                  break;
                case 2:
                  for (c = 0; c < e; ++c) s[u++] = (o[c] + r[c]) & 255;
                  break;
                case 3:
                  for (c = 0; c < t; ++c) s[u++] = (o[c] >> 1) + r[c];
                  for (; c < e; ++c) {
                    s[u] = (((o[c] + s[u - t]) >> 1) + r[c]) & 255;
                    u++;
                  }
                  break;
                case 4:
                  for (c = 0; c < t; ++c) {
                    l = o[c];
                    h = r[c];
                    s[u++] = l + h;
                  }
                  for (; c < e; ++c) {
                    l = o[c];
                    const e = o[c - t],
                      a = s[u - t],
                      n = a + l - e;
                    let i = n - a;
                    i < 0 && (i = -i);
                    let d = n - l;
                    d < 0 && (d = -d);
                    let f = n - e;
                    f < 0 && (f = -f);
                    h = r[c];
                    s[u++] = i <= d && i <= f ? a + h : d <= f ? l + h : e + h;
                  }
                  break;
                default:
                  throw new i.FormatError(`Unsupported predictor: ${a}`);
              }
              this.bufferLength += e;
            }
          }
          t.PredictorStream = PredictorStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.RunLengthStream = void 0;
          var r = a(17);
          class RunLengthStream extends r.DecodeStream {
            constructor(e, t) {
              super(t);
              this.str = e;
              this.dict = e.dict;
            }
            readBlock() {
              const e = this.str.getBytes(2);
              if (!e || e.length < 2 || 128 === e[0]) {
                this.eof = !0;
                return;
              }
              let t,
                a = this.bufferLength,
                r = e[0];
              if (r < 128) {
                t = this.ensureBuffer(a + r + 1);
                t[a++] = e[1];
                if (r > 0) {
                  const e = this.str.getBytes(r);
                  t.set(e, a);
                  a += r;
                }
              } else {
                r = 257 - r;
                const n = e[1];
                t = this.ensureBuffer(a + r + 1);
                for (let e = 0; e < r; e++) t[a++] = n;
              }
              this.bufferLength = a;
            }
          }
          t.RunLengthStream = RunLengthStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Font = t.ErrorFont = void 0;
          var r = a(2),
            n = a(33),
            i = a(36),
            s = a(38),
            o = a(37),
            c = a(35),
            l = a(39),
            h = a(40),
            u = a(41),
            d = a(42),
            f = a(43),
            g = a(44),
            p = a(14),
            m = a(45),
            b = a(3),
            y = a(8),
            w = a(46);
          const S = [
              [57344, 63743],
              [1048576, 1114109],
            ],
            x = 1e3,
            C = [
              'ascent',
              'bbox',
              'black',
              'bold',
              'charProcOperatorList',
              'composite',
              'cssFontInfo',
              'data',
              'defaultVMetrics',
              'defaultWidth',
              'descent',
              'fallbackName',
              'fontMatrix',
              'isInvalidPDFjsFont',
              'isType3Font',
              'italic',
              'loadedName',
              'mimetype',
              'missingFile',
              'name',
              'remeasure',
              'subtype',
              'type',
              'vertical',
            ],
            k = [
              'cMap',
              'defaultEncoding',
              'differences',
              'isMonospace',
              'isSerifFont',
              'isSymbolicFont',
              'seacMap',
              'toFontChar',
              'toUnicode',
              'vmetrics',
              'widths',
            ];
          function adjustWidths(e) {
            if (!e.fontMatrix) return;
            if (e.fontMatrix[0] === r.FONT_IDENTITY_MATRIX[0]) return;
            const t = 0.001 / e.fontMatrix[0],
              a = e.widths;
            for (const e in a) a[e] *= t;
            e.defaultWidth *= t;
          }
          function amendFallbackToUnicode(e) {
            if (!e.fallbackToUnicode) return;
            if (e.toUnicode instanceof h.IdentityToUnicodeMap) return;
            const t = [];
            for (const a in e.fallbackToUnicode) e.toUnicode.has(a) || (t[a] = e.fallbackToUnicode[a]);
            t.length > 0 && e.toUnicode.amend(t);
          }
          class Glyph {
            constructor(e, t, a, r, n, i, s, o, c) {
              this.originalCharCode = e;
              this.fontChar = t;
              this.unicode = a;
              this.accent = r;
              this.width = n;
              this.vmetric = i;
              this.operatorListId = s;
              this.isSpace = o;
              this.isInFont = c;
            }
            get category() {
              return (0, r.shadow)(this, 'category', (0, s.getCharUnicodeCategory)(this.unicode), !0);
            }
            get normalizedUnicode() {
              return (0, r.shadow)(
                this,
                'normalizedUnicode',
                (0, s.reverseIfRtl)(Glyph._NormalizedUnicodes[this.unicode] || this.unicode),
                !0
              );
            }
            static get _NormalizedUnicodes() {
              return (0, r.shadow)(this, '_NormalizedUnicodes', (0, s.getNormalizedUnicodes)());
            }
          }
          function int16(e, t) {
            return (e << 8) + t;
          }
          function writeSignedInt16(e, t, a) {
            e[t + 1] = a;
            e[t] = a >>> 8;
          }
          function signedInt16(e, t) {
            const a = (e << 8) + t;
            return 32768 & a ? a - 65536 : a;
          }
          function string16(e) {
            return String.fromCharCode((e >> 8) & 255, 255 & e);
          }
          function safeString16(e) {
            e > 32767 ? (e = 32767) : e < -32768 && (e = -32768);
            return String.fromCharCode((e >> 8) & 255, 255 & e);
          }
          function isTrueTypeCollectionFile(e) {
            const t = e.peekBytes(4);
            return 'ttcf' === (0, r.bytesToString)(t);
          }
          function getFontFileType(e, { type: t, subtype: a, composite: n }) {
            let i, s;
            if (
              (function isTrueTypeFile(e) {
                const t = e.peekBytes(4);
                return 65536 === (0, b.readUint32)(t, 0) || 'true' === (0, r.bytesToString)(t);
              })(e) ||
              isTrueTypeCollectionFile(e)
            )
              i = n ? 'CIDFontType2' : 'TrueType';
            else if (
              (function isOpenTypeFile(e) {
                const t = e.peekBytes(4);
                return 'OTTO' === (0, r.bytesToString)(t);
              })(e)
            )
              i = n ? 'CIDFontType2' : 'OpenType';
            else if (
              (function isType1File(e) {
                const t = e.peekBytes(2);
                return (37 === t[0] && 33 === t[1]) || (128 === t[0] && 1 === t[1]);
              })(e)
            )
              i = n ? 'CIDFontType0' : 'MMType1' === t ? 'MMType1' : 'Type1';
            else if (
              (function isCFFFile(e) {
                const t = e.peekBytes(4);
                return t[0] >= 1 && t[3] >= 1 && t[3] <= 4;
              })(e)
            )
              if (n) {
                i = 'CIDFontType0';
                s = 'CIDFontType0C';
              } else {
                i = 'MMType1' === t ? 'MMType1' : 'Type1';
                s = 'Type1C';
              }
            else {
              (0, r.warn)('getFontFileType: Unable to detect correct font file Type/Subtype.');
              i = t;
              s = a;
            }
            return [i, s];
          }
          function applyStandardFontGlyphMap(e, t) {
            for (const a in t) e[+a] = t[a];
          }
          function buildToFontChar(e, t, a) {
            const r = [];
            let n;
            for (let a = 0, i = e.length; a < i; a++) {
              n = (0, s.getUnicodeForGlyph)(e[a], t);
              -1 !== n && (r[a] = n);
            }
            for (const e in a) {
              n = (0, s.getUnicodeForGlyph)(a[e], t);
              -1 !== n && (r[+e] = n);
            }
            return r;
          }
          function isMacNameRecord(e) {
            return 1 === e.platform && 0 === e.encoding && 0 === e.language;
          }
          function isWinNameRecord(e) {
            return 3 === e.platform && 1 === e.encoding && 1033 === e.language;
          }
          function convertCidString(e, t, a = !1) {
            switch (t.length) {
              case 1:
                return t.charCodeAt(0);
              case 2:
                return (t.charCodeAt(0) << 8) | t.charCodeAt(1);
            }
            const n = `Unsupported CID string (charCode ${e}): "${t}".`;
            if (a) throw new r.FormatError(n);
            (0, r.warn)(n);
            return t;
          }
          function adjustMapping(e, t, a, n) {
            const i = Object.create(null),
              s = new Map(),
              o = [],
              c = new Set();
            let l = 0;
            const h = S[l][0];
            let u = h,
              d = S[l][1];
            for (let f in e) {
              f |= 0;
              let g = e[f];
              if (!t(g)) continue;
              if (u > d) {
                l++;
                if (l >= S.length) {
                  (0, r.warn)('Ran out of space in font private use area.');
                  break;
                }
                u = S[l][0];
                d = S[l][1];
              }
              const p = u++;
              0 === g && (g = a);
              let m = n.get(f);
              'string' == typeof m && (m = m.codePointAt(0));
              if (m && m < h && !c.has(g)) {
                s.set(m, g);
                c.add(g);
              }
              i[p] = g;
              o[f] = p;
            }
            return { toFontChar: o, charCodeToGlyphId: i, toUnicodeExtraMap: s, nextAvailableFontCharCode: u };
          }
          function createCmapTable(e, t, a) {
            const n = (function getRanges(e, t, a) {
                const r = [];
                for (const t in e) e[t] >= a || r.push({ fontCharCode: 0 | t, glyphId: e[t] });
                if (t) for (const [e, n] of t) n >= a || r.push({ fontCharCode: e, glyphId: n });
                0 === r.length && r.push({ fontCharCode: 0, glyphId: 0 });
                r.sort(function fontGetRangesSort(e, t) {
                  return e.fontCharCode - t.fontCharCode;
                });
                const n = [],
                  i = r.length;
                for (let e = 0; e < i; ) {
                  const t = r[e].fontCharCode,
                    a = [r[e].glyphId];
                  ++e;
                  let s = t;
                  for (; e < i && s + 1 === r[e].fontCharCode; ) {
                    a.push(r[e].glyphId);
                    ++s;
                    ++e;
                    if (65535 === s) break;
                  }
                  n.push([t, s, a]);
                }
                return n;
              })(e, t, a),
              i = n.at(-1)[1] > 65535 ? 2 : 1;
            let s,
              o,
              c,
              l,
              h = '\0\0' + string16(i) + '\0\0' + (0, r.string32)(4 + 8 * i);
            for (s = n.length - 1; s >= 0 && !(n[s][0] <= 65535); --s);
            const u = s + 1;
            n[s][0] < 65535 && 65535 === n[s][1] && (n[s][1] = 65534);
            const d = n[s][1] < 65535 ? 1 : 0,
              f = u + d,
              g = m.OpenTypeFileBuilder.getSearchParams(f, 2);
            let p,
              b,
              y,
              w,
              S = '',
              x = '',
              C = '',
              k = '',
              v = '',
              F = 0;
            for (s = 0, o = u; s < o; s++) {
              p = n[s];
              b = p[0];
              y = p[1];
              S += string16(b);
              x += string16(y);
              w = p[2];
              let e = !0;
              for (c = 1, l = w.length; c < l; ++c)
                if (w[c] !== w[c - 1] + 1) {
                  e = !1;
                  break;
                }
              if (e) {
                C += string16((w[0] - b) & 65535);
                k += string16(0);
              } else {
                const e = 2 * (f - s) + 2 * F;
                F += y - b + 1;
                C += string16(0);
                k += string16(e);
                for (c = 0, l = w.length; c < l; ++c) v += string16(w[c]);
              }
            }
            if (d > 0) {
              x += 'ÿÿ';
              S += 'ÿÿ';
              C += '\0';
              k += '\0\0';
            }
            const O =
              '\0\0' +
              string16(2 * f) +
              string16(g.range) +
              string16(g.entry) +
              string16(g.rangeShift) +
              x +
              '\0\0' +
              S +
              C +
              k +
              v;
            let T = '',
              M = '';
            if (i > 1) {
              h += '\0\0\n' + (0, r.string32)(4 + 8 * i + 4 + O.length);
              T = '';
              for (s = 0, o = n.length; s < o; s++) {
                p = n[s];
                b = p[0];
                w = p[2];
                let e = w[0];
                for (c = 1, l = w.length; c < l; ++c)
                  if (w[c] !== w[c - 1] + 1) {
                    y = p[0] + c - 1;
                    T += (0, r.string32)(b) + (0, r.string32)(y) + (0, r.string32)(e);
                    b = y + 1;
                    e = w[c];
                  }
                T += (0, r.string32)(b) + (0, r.string32)(p[1]) + (0, r.string32)(e);
              }
              M = '\0\f\0\0' + (0, r.string32)(T.length + 16) + '\0\0\0\0' + (0, r.string32)(T.length / 12);
            }
            return h + '\0' + string16(O.length + 4) + O + M + T;
          }
          function createOS2Table(e, t, a) {
            a = a || { unitsPerEm: 0, yMax: 0, yMin: 0, ascent: 0, descent: 0 };
            let n = 0,
              i = 0,
              o = 0,
              c = 0,
              l = null,
              h = 0;
            if (t) {
              for (let e in t) {
                e |= 0;
                (l > e || !l) && (l = e);
                h < e && (h = e);
                const t = (0, s.getUnicodeRangeFor)(e);
                if (t < 32) n |= 1 << t;
                else if (t < 64) i |= 1 << (t - 32);
                else if (t < 96) o |= 1 << (t - 64);
                else {
                  if (!(t < 123)) throw new r.FormatError('Unicode ranges Bits > 123 are reserved for internal usage');
                  c |= 1 << (t - 96);
                }
              }
              h > 65535 && (h = 65535);
            } else {
              l = 0;
              h = 255;
            }
            const u = e.bbox || [0, 0, 0, 0],
              d = a.unitsPerEm || 1 / (e.fontMatrix || r.FONT_IDENTITY_MATRIX)[0],
              f = e.ascentScaled ? 1 : d / x,
              g = a.ascent || Math.round(f * (e.ascent || u[3]));
            let p = a.descent || Math.round(f * (e.descent || u[1]));
            p > 0 && e.descent > 0 && u[1] < 0 && (p = -p);
            const m = a.yMax || g,
              b = -a.yMin || -p;
            return (
              '\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0' +
              String.fromCharCode(e.fixedPitch ? 9 : 0) +
              '\0\0\0\0\0\0' +
              (0, r.string32)(n) +
              (0, r.string32)(i) +
              (0, r.string32)(o) +
              (0, r.string32)(c) +
              '*21*' +
              string16(e.italicAngle ? 1 : 0) +
              string16(l || e.firstChar) +
              string16(h || e.lastChar) +
              string16(g) +
              string16(p) +
              '\0d' +
              string16(m) +
              string16(b) +
              '\0\0\0\0\0\0\0\0' +
              string16(e.xHeight) +
              string16(e.capHeight) +
              string16(0) +
              string16(l || e.firstChar) +
              '\0'
            );
          }
          function createPostTable(e) {
            const t = Math.floor(65536 * e.italicAngle);
            return (
              '\0\0\0' +
              (0, r.string32)(t) +
              '\0\0\0\0' +
              (0, r.string32)(e.fixedPitch ? 1 : 0) +
              '\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0'
            );
          }
          function createPostscriptName(e) {
            return e.replace(/[^\x21-\x7E]|[[\](){}<>/%]/g, '').slice(0, 63);
          }
          function createNameTable(e, t) {
            t || (t = [[], []]);
            const a = [
                t[0][0] || 'Original licence',
                t[0][1] || e,
                t[0][2] || 'Unknown',
                t[0][3] || 'uniqueID',
                t[0][4] || e,
                t[0][5] || 'Version 0.11',
                t[0][6] || createPostscriptName(e),
                t[0][7] || 'Unknown',
                t[0][8] || 'Unknown',
                t[0][9] || 'Unknown',
              ],
              r = [];
            let n, i, s, o, c;
            for (n = 0, i = a.length; n < i; n++) {
              c = t[1][n] || a[n];
              const e = [];
              for (s = 0, o = c.length; s < o; s++) e.push(string16(c.charCodeAt(s)));
              r.push(e.join(''));
            }
            const l = [a, r],
              h = ['\0', '\0'],
              u = ['\0\0', '\0'],
              d = ['\0\0', '\t'],
              f = a.length * h.length;
            let g = '\0\0' + string16(f) + string16(12 * f + 6),
              p = 0;
            for (n = 0, i = h.length; n < i; n++) {
              const e = l[n];
              for (s = 0, o = e.length; s < o; s++) {
                c = e[s];
                g += h[n] + u[n] + d[n] + string16(s) + string16(c.length) + string16(p);
                p += c.length;
              }
            }
            g += a.join('') + r.join('');
            return g;
          }
          t.Font = class Font {
            constructor(e, t, a) {
              this.name = e;
              this.psName = null;
              this.mimetype = null;
              this.disableFontFace = !1;
              this.loadedName = a.loadedName;
              this.isType3Font = a.isType3Font;
              this.missingFile = !1;
              this.cssFontInfo = a.cssFontInfo;
              this._charsCache = Object.create(null);
              this._glyphCache = Object.create(null);
              let n = !!(a.flags & i.FontFlags.Serif);
              if (!n && !a.isSimulatedFlags) {
                const t = e.replace(/[,_]/g, '-').split('-')[0],
                  a = (0, l.getSerifFonts)();
                for (const e of t.split('+'))
                  if (a[e]) {
                    n = !0;
                    break;
                  }
              }
              this.isSerifFont = n;
              this.isSymbolicFont = !!(a.flags & i.FontFlags.Symbolic);
              this.isMonospace = !!(a.flags & i.FontFlags.FixedPitch);
              let { type: s, subtype: o } = a;
              this.type = s;
              this.subtype = o;
              const c = e.match(/^InvalidPDFjsFont_(.*)_\d+$/);
              this.isInvalidPDFjsFont = !!c;
              this.isInvalidPDFjsFont
                ? (this.fallbackName = c[1])
                : this.isMonospace
                ? (this.fallbackName = 'monospace')
                : this.isSerifFont
                ? (this.fallbackName = 'serif')
                : (this.fallbackName = 'sans-serif');
              this.differences = a.differences;
              this.widths = a.widths;
              this.defaultWidth = a.defaultWidth;
              this.composite = a.composite;
              this.cMap = a.cMap;
              this.capHeight = a.capHeight / x;
              this.ascent = a.ascent / x;
              this.descent = a.descent / x;
              this.lineHeight = this.ascent - this.descent;
              this.fontMatrix = a.fontMatrix;
              this.bbox = a.bbox;
              this.defaultEncoding = a.defaultEncoding;
              this.toUnicode = a.toUnicode;
              this.toFontChar = [];
              if ('Type3' === a.type) {
                for (let e = 0; e < 256; e++) this.toFontChar[e] = this.differences[e] || a.defaultEncoding[e];
                return;
              }
              this.cidEncoding = a.cidEncoding || '';
              this.vertical = !!a.vertical;
              if (this.vertical) {
                this.vmetrics = a.vmetrics;
                this.defaultVMetrics = a.defaultVMetrics;
              }
              if (!t || t.isEmpty) {
                t && (0, r.warn)('Font file is empty in "' + e + '" (' + this.loadedName + ')');
                this.fallbackToSystemFont(a);
                return;
              }
              [s, o] = getFontFileType(t, a);
              (s === this.type && o === this.subtype) ||
                (0, r.info)(
                  `Inconsistent font file Type/SubType, expected: ${this.type}/${this.subtype} but found: ${s}/${o}.`
                );
              let h;
              try {
                switch (s) {
                  case 'MMType1':
                    (0, r.info)('MMType1 font (' + e + '), falling back to Type1.');
                  case 'Type1':
                  case 'CIDFontType0':
                    this.mimetype = 'font/opentype';
                    const n = 'Type1C' === o || 'CIDFontType0C' === o ? new u.CFFFont(t, a) : new w.Type1Font(e, t, a);
                    adjustWidths(a);
                    h = this.convert(e, n, a);
                    break;
                  case 'OpenType':
                  case 'TrueType':
                  case 'CIDFontType2':
                    this.mimetype = 'font/opentype';
                    h = this.checkAndRepair(e, t, a);
                    if (this.isOpenType) {
                      adjustWidths(a);
                      s = 'OpenType';
                    }
                    break;
                  default:
                    throw new r.FormatError(`Font ${s} is not supported`);
                }
              } catch (e) {
                (0, r.warn)(e);
                this.fallbackToSystemFont(a);
                return;
              }
              amendFallbackToUnicode(a);
              this.data = h;
              this.type = s;
              this.subtype = o;
              this.fontMatrix = a.fontMatrix;
              this.widths = a.widths;
              this.defaultWidth = a.defaultWidth;
              this.toUnicode = a.toUnicode;
              this.seacMap = a.seacMap;
            }
            get renderer() {
              const e = d.FontRendererFactory.create(this, i.SEAC_ANALYSIS_ENABLED);
              return (0, r.shadow)(this, 'renderer', e);
            }
            exportData(e = !1) {
              const t = e ? [...C, ...k] : C,
                a = Object.create(null);
              let r, n;
              for (r of t) {
                n = this[r];
                void 0 !== n && (a[r] = n);
              }
              return a;
            }
            fallbackToSystemFont(e) {
              this.missingFile = !0;
              const { name: t, type: a } = this;
              let n = (0, i.normalizeFontName)(t);
              const u = (0, l.getStdFontMap)(),
                d = (0, l.getNonStdFontMap)(),
                g = !!u[n],
                p = !(!d[n] || !u[d[n]]);
              n = u[n] || d[n] || n;
              const m = (0, f.getFontBasicMetrics)()[n];
              if (m) {
                isNaN(this.ascent) && (this.ascent = m.ascent / x);
                isNaN(this.descent) && (this.descent = m.descent / x);
                isNaN(this.capHeight) && (this.capHeight = m.capHeight / x);
              }
              this.bold = /bold/gi.test(n);
              this.italic = /oblique|italic/gi.test(n);
              this.black = /Black/g.test(t);
              const b = /Narrow/g.test(t);
              this.remeasure = (!g || b) && Object.keys(this.widths).length > 0;
              if ((g || p) && 'CIDFontType2' === a && this.cidEncoding.startsWith('Identity-')) {
                const a = e.cidToGidMap,
                  r = [];
                applyStandardFontGlyphMap(r, (0, l.getGlyphMapForStandardFonts)());
                /Arial-?Black/i.test(t)
                  ? applyStandardFontGlyphMap(r, (0, l.getSupplementalGlyphMapForArialBlack)())
                  : /Calibri/i.test(t) && applyStandardFontGlyphMap(r, (0, l.getSupplementalGlyphMapForCalibri)());
                if (a) {
                  for (const e in r) {
                    const t = r[e];
                    void 0 !== a[t] && (r[+e] = a[t]);
                  }
                  a.length !== this.toUnicode.length &&
                    e.hasIncludedToUnicodeMap &&
                    this.toUnicode instanceof h.IdentityToUnicodeMap &&
                    this.toUnicode.forEach(function (e, t) {
                      const n = r[e];
                      void 0 === a[n] && (r[+e] = t);
                    });
                }
                this.toUnicode instanceof h.IdentityToUnicodeMap ||
                  this.toUnicode.forEach(function (e, t) {
                    r[+e] = t;
                  });
                this.toFontChar = r;
                this.toUnicode = new h.ToUnicodeMap(r);
              } else if (/Symbol/i.test(n))
                this.toFontChar = buildToFontChar(c.SymbolSetEncoding, (0, o.getGlyphsUnicode)(), this.differences);
              else if (/Dingbats/i.test(n)) {
                /Wingdings/i.test(t) && (0, r.warn)('Non-embedded Wingdings font, falling back to ZapfDingbats.');
                this.toFontChar = buildToFontChar(
                  c.ZapfDingbatsEncoding,
                  (0, o.getDingbatsGlyphsUnicode)(),
                  this.differences
                );
              } else if (g) {
                const e = buildToFontChar(this.defaultEncoding, (0, o.getGlyphsUnicode)(), this.differences);
                'CIDFontType2' !== a ||
                  this.cidEncoding.startsWith('Identity-') ||
                  this.toUnicode instanceof h.IdentityToUnicodeMap ||
                  this.toUnicode.forEach(function (t, a) {
                    e[+t] = a;
                  });
                this.toFontChar = e;
              } else {
                const e = (0, o.getGlyphsUnicode)(),
                  a = [];
                this.toUnicode.forEach((t, r) => {
                  if (!this.composite) {
                    const a = this.differences[t] || this.defaultEncoding[t],
                      n = (0, s.getUnicodeForGlyph)(a, e);
                    -1 !== n && (r = n);
                  }
                  a[+t] = r;
                });
                this.composite &&
                  this.toUnicode instanceof h.IdentityToUnicodeMap &&
                  /Tahoma|Verdana/i.test(t) &&
                  applyStandardFontGlyphMap(a, (0, l.getGlyphMapForStandardFonts)());
                this.toFontChar = a;
              }
              amendFallbackToUnicode(e);
              this.loadedName = n.split('-')[0];
            }
            checkAndRepair(e, t, a) {
              const s = [
                'OS/2',
                'cmap',
                'head',
                'hhea',
                'hmtx',
                'maxp',
                'name',
                'post',
                'loca',
                'glyf',
                'fpgm',
                'prep',
                'cvt ',
                'CFF ',
              ];
              function readTables(e, t) {
                const a = Object.create(null);
                a['OS/2'] = null;
                a.cmap = null;
                a.head = null;
                a.hhea = null;
                a.hmtx = null;
                a.maxp = null;
                a.name = null;
                a.post = null;
                for (let r = 0; r < t; r++) {
                  const t = readTableEntry(e);
                  s.includes(t.tag) && 0 !== t.length && (a[t.tag] = t);
                }
                return a;
              }
              function readTableEntry(e) {
                const t = e.getString(4),
                  a = e.getInt32() >>> 0,
                  r = e.getInt32() >>> 0,
                  n = e.getInt32() >>> 0,
                  i = e.pos;
                e.pos = e.start || 0;
                e.skip(r);
                const s = e.getBytes(n);
                e.pos = i;
                if ('head' === t) {
                  s[8] = s[9] = s[10] = s[11] = 0;
                  s[17] |= 32;
                }
                return { tag: t, checksum: a, length: n, offset: r, data: s };
              }
              function readOpenTypeHeader(e) {
                return {
                  version: e.getString(4),
                  numTables: e.getUint16(),
                  searchRange: e.getUint16(),
                  entrySelector: e.getUint16(),
                  rangeShift: e.getUint16(),
                };
              }
              function sanitizeGlyph(e, t, a, r, n, i) {
                const s = { length: 0, sizeOfInstructions: 0 };
                if (a - t <= 12) return s;
                const o = e.subarray(t, a);
                let c = signedInt16(o[0], o[1]);
                if (c < 0) {
                  c = -1;
                  writeSignedInt16(o, 0, c);
                  r.set(o, n);
                  s.length = o.length;
                  return s;
                }
                let l,
                  h = 10,
                  u = 0;
                for (l = 0; l < c; l++) {
                  u = ((o[h] << 8) | o[h + 1]) + 1;
                  h += 2;
                }
                const d = h,
                  f = (o[h] << 8) | o[h + 1];
                s.sizeOfInstructions = f;
                h += 2 + f;
                const g = h;
                let p = 0;
                for (l = 0; l < u; l++) {
                  const e = o[h++];
                  192 & e && (o[h - 1] = 63 & e);
                  let t = 2;
                  2 & e ? (t = 1) : 16 & e && (t = 0);
                  let a = 2;
                  4 & e ? (a = 1) : 32 & e && (a = 0);
                  const r = t + a;
                  p += r;
                  if (8 & e) {
                    const e = o[h++];
                    l += e;
                    p += e * r;
                  }
                }
                if (0 === p) return s;
                let m = h + p;
                if (m > o.length) return s;
                if (!i && f > 0) {
                  r.set(o.subarray(0, d), n);
                  r.set([0, 0], n + d);
                  r.set(o.subarray(g, m), n + d + 2);
                  m -= f;
                  o.length - m > 3 && (m = (m + 3) & -4);
                  s.length = m;
                  return s;
                }
                if (o.length - m > 3) {
                  m = (m + 3) & -4;
                  r.set(o.subarray(0, m), n);
                  s.length = m;
                  return s;
                }
                r.set(o, n);
                s.length = o.length;
                return s;
              }
              function readNameTable(e) {
                const a = (t.start || 0) + e.offset;
                t.pos = a;
                const r = [[], []],
                  n = [],
                  i = e.length,
                  s = a + i;
                if (0 !== t.getUint16() || i < 6) return [r, n];
                const o = t.getUint16(),
                  c = t.getUint16();
                let l, h;
                for (l = 0; l < o && t.pos + 12 <= s; l++) {
                  const e = {
                    platform: t.getUint16(),
                    encoding: t.getUint16(),
                    language: t.getUint16(),
                    name: t.getUint16(),
                    length: t.getUint16(),
                    offset: t.getUint16(),
                  };
                  (isMacNameRecord(e) || isWinNameRecord(e)) && n.push(e);
                }
                for (l = 0, h = n.length; l < h; l++) {
                  const e = n[l];
                  if (e.length <= 0) continue;
                  const i = a + c + e.offset;
                  if (i + e.length > s) continue;
                  t.pos = i;
                  const o = e.name;
                  if (e.encoding) {
                    let a = '';
                    for (let r = 0, n = e.length; r < n; r += 2) a += String.fromCharCode(t.getUint16());
                    r[1][o] = a;
                  } else r[0][o] = t.getString(e.length);
                }
                return [r, n];
              }
              const l = [
                0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1,
                -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1,
                -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1,
                -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0,
                0, 0, -1, -1, -1, -2,
              ];
              function sanitizeTTProgram(e, t) {
                let a,
                  n,
                  i,
                  s,
                  o,
                  c = e.data,
                  h = 0,
                  u = 0,
                  d = 0;
                const f = [],
                  g = [],
                  p = [];
                let m = t.tooComplexToFollowFunctions,
                  b = !1,
                  y = 0,
                  w = 0;
                for (let e = c.length; h < e; ) {
                  const e = c[h++];
                  if (64 === e) {
                    n = c[h++];
                    if (b || w) h += n;
                    else for (a = 0; a < n; a++) f.push(c[h++]);
                  } else if (65 === e) {
                    n = c[h++];
                    if (b || w) h += 2 * n;
                    else
                      for (a = 0; a < n; a++) {
                        i = c[h++];
                        f.push((i << 8) | c[h++]);
                      }
                  } else if (176 == (248 & e)) {
                    n = e - 176 + 1;
                    if (b || w) h += n;
                    else for (a = 0; a < n; a++) f.push(c[h++]);
                  } else if (184 == (248 & e)) {
                    n = e - 184 + 1;
                    if (b || w) h += 2 * n;
                    else
                      for (a = 0; a < n; a++) {
                        i = c[h++];
                        f.push((i << 8) | c[h++]);
                      }
                  } else if (43 !== e || m)
                    if (44 !== e || m) {
                      if (45 === e)
                        if (b) {
                          b = !1;
                          u = h;
                        } else {
                          o = g.pop();
                          if (!o) {
                            (0, r.warn)('TT: ENDF bad stack');
                            t.hintsValid = !1;
                            return;
                          }
                          s = p.pop();
                          c = o.data;
                          h = o.i;
                          t.functionsStackDeltas[s] = f.length - o.stackTop;
                        }
                      else if (137 === e) {
                        if (b || w) {
                          (0, r.warn)('TT: nested IDEFs not allowed');
                          m = !0;
                        }
                        b = !0;
                        d = h;
                      } else if (88 === e) ++y;
                      else if (27 === e) w = y;
                      else if (89 === e) {
                        w === y && (w = 0);
                        --y;
                      } else if (28 === e && !b && !w) {
                        const e = f.at(-1);
                        e > 0 && (h += e - 1);
                      }
                    } else {
                      if (b || w) {
                        (0, r.warn)('TT: nested FDEFs not allowed');
                        m = !0;
                      }
                      b = !0;
                      d = h;
                      s = f.pop();
                      t.functionsDefined[s] = { data: c, i: h };
                    }
                  else if (!b && !w) {
                    s = f.at(-1);
                    if (isNaN(s)) (0, r.info)('TT: CALL empty stack (or invalid entry).');
                    else {
                      t.functionsUsed[s] = !0;
                      if (s in t.functionsStackDeltas) {
                        const e = f.length + t.functionsStackDeltas[s];
                        if (e < 0) {
                          (0, r.warn)('TT: CALL invalid functions stack delta.');
                          t.hintsValid = !1;
                          return;
                        }
                        f.length = e;
                      } else if (s in t.functionsDefined && !p.includes(s)) {
                        g.push({ data: c, i: h, stackTop: f.length - 1 });
                        p.push(s);
                        o = t.functionsDefined[s];
                        if (!o) {
                          (0, r.warn)('TT: CALL non-existent function');
                          t.hintsValid = !1;
                          return;
                        }
                        c = o.data;
                        h = o.i;
                      }
                    }
                  }
                  if (!b && !w) {
                    let t = 0;
                    e <= 142 ? (t = l[e]) : e >= 192 && e <= 223 ? (t = -1) : e >= 224 && (t = -2);
                    if (e >= 113 && e <= 117) {
                      n = f.pop();
                      isNaN(n) || (t = 2 * -n);
                    }
                    for (; t < 0 && f.length > 0; ) {
                      f.pop();
                      t++;
                    }
                    for (; t > 0; ) {
                      f.push(NaN);
                      t--;
                    }
                  }
                }
                t.tooComplexToFollowFunctions = m;
                const S = [c];
                h > c.length && S.push(new Uint8Array(h - c.length));
                if (d > u) {
                  (0, r.warn)('TT: complementing a missing function tail');
                  S.push(new Uint8Array([34, 45]));
                }
                !(function foldTTTable(e, t) {
                  if (t.length > 1) {
                    let a,
                      r,
                      n = 0;
                    for (a = 0, r = t.length; a < r; a++) n += t[a].length;
                    n = (n + 3) & -4;
                    const i = new Uint8Array(n);
                    let s = 0;
                    for (a = 0, r = t.length; a < r; a++) {
                      i.set(t[a], s);
                      s += t[a].length;
                    }
                    e.data = i;
                    e.length = n;
                  }
                })(e, S);
              }
              let d, f, b, w;
              if (isTrueTypeCollectionFile((t = new y.Stream(new Uint8Array(t.getBytes()))))) {
                const e = (function readTrueTypeCollectionData(e, t) {
                  const { numFonts: a, offsetTable: n } = (function readTrueTypeCollectionHeader(e) {
                      const t = e.getString(4);
                      (0, r.assert)('ttcf' === t, 'Must be a TrueType Collection font.');
                      const a = e.getUint16(),
                        n = e.getUint16(),
                        i = e.getInt32() >>> 0,
                        s = [];
                      for (let t = 0; t < i; t++) s.push(e.getInt32() >>> 0);
                      const o = { ttcTag: t, majorVersion: a, minorVersion: n, numFonts: i, offsetTable: s };
                      switch (a) {
                        case 1:
                          return o;
                        case 2:
                          o.dsigTag = e.getInt32() >>> 0;
                          o.dsigLength = e.getInt32() >>> 0;
                          o.dsigOffset = e.getInt32() >>> 0;
                          return o;
                      }
                      throw new r.FormatError(`Invalid TrueType Collection majorVersion: ${a}.`);
                    })(e),
                    i = t.split('+');
                  let s;
                  for (let o = 0; o < a; o++) {
                    e.pos = (e.start || 0) + n[o];
                    const a = readOpenTypeHeader(e),
                      c = readTables(e, a.numTables);
                    if (!c.name) throw new r.FormatError('TrueType Collection font must contain a "name" table.');
                    const [l] = readNameTable(c.name);
                    for (let e = 0, r = l.length; e < r; e++)
                      for (let r = 0, n = l[e].length; r < n; r++) {
                        const n = l[e][r] && l[e][r].replace(/\s/g, '');
                        if (n) {
                          if (n === t) return { header: a, tables: c };
                          if (!(i.length < 2)) for (const e of i) n === e && (s = { name: e, header: a, tables: c });
                        }
                      }
                  }
                  if (s) {
                    (0, r.warn)(
                      `TrueType Collection does not contain "${t}" font, falling back to "${s.name}" font instead.`
                    );
                    return { header: s.header, tables: s.tables };
                  }
                  throw new r.FormatError(`TrueType Collection does not contain "${t}" font.`);
                })(t, this.name);
                d = e.header;
                f = e.tables;
              } else {
                d = readOpenTypeHeader(t);
                f = readTables(t, d.numTables);
              }
              const S = !f['CFF '];
              if (S) {
                if (!f.loca) throw new r.FormatError('Required "loca" table is not found');
                if (!f.glyf) {
                  (0, r.warn)('Required "glyf" table is not found -- trying to recover.');
                  f.glyf = { tag: 'glyf', data: new Uint8Array(0) };
                }
                this.isOpenType = !1;
              } else {
                const t = a.composite && ((a.cidToGidMap || []).length > 0 || !(a.cMap instanceof p.IdentityCMap));
                if (('OTTO' === d.version && !t) || !f.head || !f.hhea || !f.maxp || !f.post) {
                  w = new y.Stream(f['CFF '].data);
                  b = new u.CFFFont(w, a);
                  adjustWidths(a);
                  return this.convert(e, b, a);
                }
                delete f.glyf;
                delete f.loca;
                delete f.fpgm;
                delete f.prep;
                delete f['cvt '];
                this.isOpenType = !0;
              }
              if (!f.maxp) throw new r.FormatError('Required "maxp" table is not found');
              t.pos = (t.start || 0) + f.maxp.offset;
              const x = t.getInt32(),
                C = t.getUint16();
              if (a.scaleFactors && a.scaleFactors.length === C && S) {
                const { scaleFactors: e } = a,
                  t = int16(f.head.data[50], f.head.data[51]),
                  r = new g.GlyfTable({
                    glyfTable: f.glyf.data,
                    isGlyphLocationsLong: t,
                    locaTable: f.loca.data,
                    numGlyphs: C,
                  });
                r.scale(e);
                const { glyf: n, loca: i, isLocationLong: s } = r.write();
                f.glyf.data = n;
                f.loca.data = i;
                if (s !== !!t) {
                  f.head.data[50] = 0;
                  f.head.data[51] = s ? 1 : 0;
                }
                const o = f.hmtx.data;
                for (let t = 0; t < C; t++) {
                  const a = 4 * t,
                    r = Math.round(e[t] * int16(o[a], o[a + 1]));
                  o[a] = (r >> 8) & 255;
                  o[a + 1] = 255 & r;
                  writeSignedInt16(o, a + 2, Math.round(e[t] * signedInt16(o[a + 2], o[a + 3])));
                }
              }
              let k = C + 1,
                v = !0;
              if (k > 65535) {
                v = !1;
                k = C;
                (0, r.warn)('Not enough space in glyfs to duplicate first glyph.');
              }
              let F = 0,
                O = 0;
              if (x >= 65536 && f.maxp.length >= 22) {
                t.pos += 8;
                if (t.getUint16() > 2) {
                  f.maxp.data[14] = 0;
                  f.maxp.data[15] = 2;
                }
                t.pos += 4;
                F = t.getUint16();
                t.pos += 4;
                O = t.getUint16();
              }
              f.maxp.data[4] = k >> 8;
              f.maxp.data[5] = 255 & k;
              const T = (function sanitizeTTPrograms(e, t, a, n) {
                const i = {
                  functionsDefined: [],
                  functionsUsed: [],
                  functionsStackDeltas: [],
                  tooComplexToFollowFunctions: !1,
                  hintsValid: !0,
                };
                e && sanitizeTTProgram(e, i);
                t && sanitizeTTProgram(t, i);
                e &&
                  (function checkInvalidFunctions(e, t) {
                    if (!e.tooComplexToFollowFunctions)
                      if (e.functionsDefined.length > t) {
                        (0, r.warn)('TT: more functions defined than expected');
                        e.hintsValid = !1;
                      } else
                        for (let a = 0, n = e.functionsUsed.length; a < n; a++) {
                          if (a > t) {
                            (0, r.warn)('TT: invalid function id: ' + a);
                            e.hintsValid = !1;
                            return;
                          }
                          if (e.functionsUsed[a] && !e.functionsDefined[a]) {
                            (0, r.warn)('TT: undefined function: ' + a);
                            e.hintsValid = !1;
                            return;
                          }
                        }
                  })(i, n);
                if (a && 1 & a.length) {
                  const e = new Uint8Array(a.length + 1);
                  e.set(a.data);
                  a.data = e;
                }
                return i.hintsValid;
              })(f.fpgm, f.prep, f['cvt '], F);
              if (!T) {
                delete f.fpgm;
                delete f.prep;
                delete f['cvt '];
              }
              !(function sanitizeMetrics(e, t, a, n, i, s) {
                if (!t) {
                  a && (a.data = null);
                  return;
                }
                e.pos = (e.start || 0) + t.offset;
                e.pos += 4;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                e.pos += 2;
                const o = e.getUint16();
                e.pos += 8;
                e.pos += 2;
                let c = e.getUint16();
                if (0 !== o) {
                  if (!(2 & int16(n.data[44], n.data[45]))) {
                    t.data[22] = 0;
                    t.data[23] = 0;
                  }
                }
                if (c > i) {
                  (0, r.info)(`The numOfMetrics (${c}) should not be greater than the numGlyphs (${i}).`);
                  c = i;
                  t.data[34] = (65280 & c) >> 8;
                  t.data[35] = 255 & c;
                }
                const l = i - c - ((a.length - 4 * c) >> 1);
                if (l > 0) {
                  const e = new Uint8Array(a.length + 2 * l);
                  e.set(a.data);
                  if (s) {
                    e[a.length] = a.data[2];
                    e[a.length + 1] = a.data[3];
                  }
                  a.data = e;
                }
              })(t, f.hhea, f.hmtx, f.head, k, v);
              if (!f.head) throw new r.FormatError('Required "head" table is not found');
              !(function sanitizeHead(e, t, a) {
                const n = e.data,
                  i = (function int32(e, t, a, r) {
                    return (e << 24) + (t << 16) + (a << 8) + r;
                  })(n[0], n[1], n[2], n[3]);
                if (i >> 16 != 1) {
                  (0, r.info)('Attempting to fix invalid version in head table: ' + i);
                  n[0] = 0;
                  n[1] = 1;
                  n[2] = 0;
                  n[3] = 0;
                }
                const s = int16(n[50], n[51]);
                if (s < 0 || s > 1) {
                  (0, r.info)('Attempting to fix invalid indexToLocFormat in head table: ' + s);
                  const e = t + 1;
                  if (a === e << 1) {
                    n[50] = 0;
                    n[51] = 0;
                  } else {
                    if (a !== e << 2) throw new r.FormatError('Could not fix indexToLocFormat: ' + s);
                    n[50] = 0;
                    n[51] = 1;
                  }
                }
              })(f.head, C, S ? f.loca.length : 0);
              let M = Object.create(null);
              if (S) {
                const e = int16(f.head.data[50], f.head.data[51]),
                  t = (function sanitizeGlyphLocations(e, t, a, r, n, i, s) {
                    let o, c, l;
                    if (r) {
                      o = 4;
                      c = function fontItemDecodeLong(e, t) {
                        return (e[t] << 24) | (e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3];
                      };
                      l = function fontItemEncodeLong(e, t, a) {
                        e[t] = (a >>> 24) & 255;
                        e[t + 1] = (a >> 16) & 255;
                        e[t + 2] = (a >> 8) & 255;
                        e[t + 3] = 255 & a;
                      };
                    } else {
                      o = 2;
                      c = function fontItemDecode(e, t) {
                        return (e[t] << 9) | (e[t + 1] << 1);
                      };
                      l = function fontItemEncode(e, t, a) {
                        e[t] = (a >> 9) & 255;
                        e[t + 1] = (a >> 1) & 255;
                      };
                    }
                    const h = i ? a + 1 : a,
                      u = o * (1 + h),
                      d = new Uint8Array(u);
                    d.set(e.data.subarray(0, u));
                    e.data = d;
                    const f = t.data,
                      g = f.length,
                      p = new Uint8Array(g);
                    let m, b;
                    const y = [];
                    for (m = 0, b = 0; m < a + 1; m++, b += o) {
                      let e = c(d, b);
                      e > g && (e = g);
                      y.push({ index: m, offset: e, endOffset: 0 });
                    }
                    y.sort((e, t) => e.offset - t.offset);
                    for (m = 0; m < a; m++) y[m].endOffset = y[m + 1].offset;
                    y.sort((e, t) => e.index - t.index);
                    for (m = 0; m < a; m++) {
                      const { offset: e, endOffset: t } = y[m];
                      if (0 !== e || 0 !== t) break;
                      const a = y[m + 1].offset;
                      if (0 !== a) {
                        y[m].endOffset = a;
                        break;
                      }
                    }
                    const w = Object.create(null);
                    let S = 0;
                    l(d, 0, S);
                    for (m = 0, b = o; m < a; m++, b += o) {
                      const e = sanitizeGlyph(f, y[m].offset, y[m].endOffset, p, S, n),
                        t = e.length;
                      0 === t && (w[m] = !0);
                      e.sizeOfInstructions > s && (s = e.sizeOfInstructions);
                      S += t;
                      l(d, b, S);
                    }
                    if (0 === S) {
                      const e = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);
                      for (m = 0, b = o; m < h; m++, b += o) l(d, b, e.length);
                      t.data = e;
                    } else if (i) {
                      const a = c(d, o);
                      if (p.length > a + S) t.data = p.subarray(0, a + S);
                      else {
                        t.data = new Uint8Array(a + S);
                        t.data.set(p.subarray(0, S));
                      }
                      t.data.set(p.subarray(0, a), S);
                      l(e.data, d.length - o, S + a);
                    } else t.data = p.subarray(0, S);
                    return { missingGlyphs: w, maxSizeOfInstructions: s };
                  })(f.loca, f.glyf, C, e, T, v, O);
                M = t.missingGlyphs;
                if (x >= 65536 && f.maxp.length >= 22) {
                  f.maxp.data[26] = t.maxSizeOfInstructions >> 8;
                  f.maxp.data[27] = 255 & t.maxSizeOfInstructions;
                }
              }
              if (!f.hhea) throw new r.FormatError('Required "hhea" table is not found');
              if (0 === f.hhea.data[10] && 0 === f.hhea.data[11]) {
                f.hhea.data[10] = 255;
                f.hhea.data[11] = 255;
              }
              const E = {
                unitsPerEm: int16(f.head.data[18], f.head.data[19]),
                yMax: int16(f.head.data[42], f.head.data[43]),
                yMin: signedInt16(f.head.data[38], f.head.data[39]),
                ascent: signedInt16(f.hhea.data[4], f.hhea.data[5]),
                descent: signedInt16(f.hhea.data[6], f.hhea.data[7]),
                lineGap: signedInt16(f.hhea.data[8], f.hhea.data[9]),
              };
              this.ascent = E.ascent / E.unitsPerEm;
              this.descent = E.descent / E.unitsPerEm;
              this.lineGap = E.lineGap / E.unitsPerEm;
              if (this.cssFontInfo && this.cssFontInfo.lineHeight) {
                this.lineHeight = this.cssFontInfo.metrics.lineHeight;
                this.lineGap = this.cssFontInfo.metrics.lineGap;
              } else this.lineHeight = this.ascent - this.descent + this.lineGap;
              f.post &&
                (function readPostScriptTable(e, a, n) {
                  const s = (t.start || 0) + e.offset;
                  t.pos = s;
                  const o = s + e.length,
                    c = t.getInt32();
                  t.skip(28);
                  let l,
                    h,
                    u = !0;
                  switch (c) {
                    case 65536:
                      l = i.MacStandardGlyphOrdering;
                      break;
                    case 131072:
                      const e = t.getUint16();
                      if (e !== n) {
                        u = !1;
                        break;
                      }
                      const s = [];
                      for (h = 0; h < e; ++h) {
                        const e = t.getUint16();
                        if (e >= 32768) {
                          u = !1;
                          break;
                        }
                        s.push(e);
                      }
                      if (!u) break;
                      const d = [],
                        f = [];
                      for (; t.pos < o; ) {
                        const e = t.getByte();
                        f.length = e;
                        for (h = 0; h < e; ++h) f[h] = String.fromCharCode(t.getByte());
                        d.push(f.join(''));
                      }
                      l = [];
                      for (h = 0; h < e; ++h) {
                        const e = s[h];
                        e < 258 ? l.push(i.MacStandardGlyphOrdering[e]) : l.push(d[e - 258]);
                      }
                      break;
                    case 196608:
                      break;
                    default:
                      (0, r.warn)('Unknown/unsupported post table version ' + c);
                      u = !1;
                      a.defaultEncoding && (l = a.defaultEncoding);
                  }
                  a.glyphNames = l;
                  return u;
                })(f.post, a, C);
              f.post = { tag: 'post', data: createPostTable(a) };
              const D = [];
              function hasGlyph(e) {
                return !M[e];
              }
              if (a.composite) {
                const e = a.cidToGidMap || [],
                  t = 0 === e.length;
                a.cMap.forEach(function (a, n) {
                  'string' == typeof n && (n = convertCidString(a, n, !0));
                  if (n > 65535) throw new r.FormatError('Max size of CID is 65,535');
                  let i = -1;
                  t ? (i = n) : void 0 !== e[n] && (i = e[n]);
                  i >= 0 && i < C && hasGlyph(i) && (D[a] = i);
                });
              } else {
                const e = (function readCmapTable(e, t, a, n) {
                    if (!e) {
                      (0, r.warn)('No cmap table available.');
                      return { platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1 };
                    }
                    let i,
                      s = (t.start || 0) + e.offset;
                    t.pos = s;
                    t.skip(2);
                    const o = t.getUint16();
                    let c,
                      l = !1;
                    for (let e = 0; e < o; e++) {
                      const r = t.getUint16(),
                        i = t.getUint16(),
                        s = t.getInt32() >>> 0;
                      let h = !1;
                      if (!c || c.platformId !== r || c.encodingId !== i) {
                        if (0 !== r || (0 !== i && 1 !== i && 3 !== i))
                          if (1 === r && 0 === i) h = !0;
                          else if (3 !== r || 1 !== i || (!n && c)) {
                            if (a && 3 === r && 0 === i) {
                              h = !0;
                              let a = !0;
                              if (e < o - 1) {
                                const e = t.peekBytes(2);
                                int16(e[0], e[1]) < r && (a = !1);
                              }
                              a && (l = !0);
                            }
                          } else {
                            h = !0;
                            a || (l = !0);
                          }
                        else h = !0;
                        h && (c = { platformId: r, encodingId: i, offset: s });
                        if (l) break;
                      }
                    }
                    c && (t.pos = s + c.offset);
                    if (!c || -1 === t.peekByte()) {
                      (0, r.warn)('Could not find a preferred cmap table.');
                      return { platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1 };
                    }
                    const h = t.getUint16();
                    let u = !1;
                    const d = [];
                    let f, g;
                    if (0 === h) {
                      t.skip(4);
                      for (f = 0; f < 256; f++) {
                        const e = t.getByte();
                        e && d.push({ charCode: f, glyphId: e });
                      }
                      u = !0;
                    } else if (2 === h) {
                      t.skip(4);
                      const e = [];
                      let a = 0;
                      for (let r = 0; r < 256; r++) {
                        const r = t.getUint16() >> 3;
                        e.push(r);
                        a = Math.max(r, a);
                      }
                      const r = [];
                      for (let e = 0; e <= a; e++)
                        r.push({
                          firstCode: t.getUint16(),
                          entryCount: t.getUint16(),
                          idDelta: signedInt16(t.getByte(), t.getByte()),
                          idRangePos: t.pos + t.getUint16(),
                        });
                      for (let a = 0; a < 256; a++)
                        if (0 === e[a]) {
                          t.pos = r[0].idRangePos + 2 * a;
                          g = t.getUint16();
                          d.push({ charCode: a, glyphId: g });
                        } else {
                          const n = r[e[a]];
                          for (f = 0; f < n.entryCount; f++) {
                            const e = (a << 8) + f + n.firstCode;
                            t.pos = n.idRangePos + 2 * f;
                            g = t.getUint16();
                            0 !== g && (g = (g + n.idDelta) % 65536);
                            d.push({ charCode: e, glyphId: g });
                          }
                        }
                    } else if (4 === h) {
                      t.skip(4);
                      const e = t.getUint16() >> 1;
                      t.skip(6);
                      const a = [];
                      let r;
                      for (r = 0; r < e; r++) a.push({ end: t.getUint16() });
                      t.skip(2);
                      for (r = 0; r < e; r++) a[r].start = t.getUint16();
                      for (r = 0; r < e; r++) a[r].delta = t.getUint16();
                      let n,
                        o = 0;
                      for (r = 0; r < e; r++) {
                        i = a[r];
                        const s = t.getUint16();
                        if (s) {
                          n = (s >> 1) - (e - r);
                          i.offsetIndex = n;
                          o = Math.max(o, n + i.end - i.start + 1);
                        } else i.offsetIndex = -1;
                      }
                      const c = [];
                      for (f = 0; f < o; f++) c.push(t.getUint16());
                      for (r = 0; r < e; r++) {
                        i = a[r];
                        s = i.start;
                        const e = i.end,
                          t = i.delta;
                        n = i.offsetIndex;
                        for (f = s; f <= e; f++)
                          if (65535 !== f) {
                            g = n < 0 ? f : c[n + f - s];
                            g = (g + t) & 65535;
                            d.push({ charCode: f, glyphId: g });
                          }
                      }
                    } else if (6 === h) {
                      t.skip(4);
                      const e = t.getUint16(),
                        a = t.getUint16();
                      for (f = 0; f < a; f++) {
                        g = t.getUint16();
                        const a = e + f;
                        d.push({ charCode: a, glyphId: g });
                      }
                    } else {
                      if (12 !== h) {
                        (0, r.warn)('cmap table has unsupported format: ' + h);
                        return { platformId: -1, encodingId: -1, mappings: [], hasShortCmap: !1 };
                      }
                      {
                        t.skip(10);
                        const e = t.getInt32() >>> 0;
                        for (f = 0; f < e; f++) {
                          const e = t.getInt32() >>> 0,
                            a = t.getInt32() >>> 0;
                          let r = t.getInt32() >>> 0;
                          for (let t = e; t <= a; t++) d.push({ charCode: t, glyphId: r++ });
                        }
                      }
                    }
                    d.sort(function (e, t) {
                      return e.charCode - t.charCode;
                    });
                    for (let e = 1; e < d.length; e++)
                      if (d[e - 1].charCode === d[e].charCode) {
                        d.splice(e, 1);
                        e--;
                      }
                    return { platformId: c.platformId, encodingId: c.encodingId, mappings: d, hasShortCmap: u };
                  })(f.cmap, t, this.isSymbolicFont, a.hasEncoding),
                  n = e.platformId,
                  s = e.encodingId,
                  l = e.mappings;
                let u = [],
                  d = !1;
                !a.hasEncoding ||
                  ('MacRomanEncoding' !== a.baseEncodingName && 'WinAnsiEncoding' !== a.baseEncodingName) ||
                  (u = (0, c.getEncoding)(a.baseEncodingName));
                if (a.hasEncoding && !this.isSymbolicFont && ((3 === n && 1 === s) || (1 === n && 0 === s))) {
                  const e = (0, o.getGlyphsUnicode)();
                  for (let t = 0; t < 256; t++) {
                    let r;
                    r =
                      void 0 !== this.differences[t]
                        ? this.differences[t]
                        : u.length && '' !== u[t]
                        ? u[t]
                        : c.StandardEncoding[t];
                    if (!r) continue;
                    const o = (0, i.recoverGlyphName)(r, e);
                    let d;
                    3 === n && 1 === s ? (d = e[o]) : 1 === n && 0 === s && (d = c.MacRomanEncoding.indexOf(o));
                    if (void 0 === d) {
                      if (
                        !a.glyphNames &&
                        a.hasIncludedToUnicodeMap &&
                        !(this.toUnicode instanceof h.IdentityToUnicodeMap)
                      ) {
                        const e = this.toUnicode.get(t);
                        e && (d = e.codePointAt(0));
                      }
                      if (void 0 === d) continue;
                    }
                    for (const e of l)
                      if (e.charCode === d) {
                        D[t] = e.glyphId;
                        break;
                      }
                  }
                } else if (0 === n) {
                  for (const e of l) D[e.charCode] = e.glyphId;
                  d = !0;
                } else
                  for (const e of l) {
                    let t = e.charCode;
                    3 === n && t >= 61440 && t <= 61695 && (t &= 255);
                    D[t] = e.glyphId;
                  }
                if (a.glyphNames && (u.length || this.differences.length))
                  for (let e = 0; e < 256; ++e) {
                    if (!d && void 0 !== D[e]) continue;
                    const t = this.differences[e] || u[e];
                    if (!t) continue;
                    const r = a.glyphNames.indexOf(t);
                    r > 0 && hasGlyph(r) && (D[e] = r);
                  }
              }
              0 === D.length && (D[0] = 0);
              let N = k - 1;
              v || (N = 0);
              if (!a.cssFontInfo) {
                const e = adjustMapping(D, hasGlyph, N, this.toUnicode);
                this.toFontChar = e.toFontChar;
                f.cmap = { tag: 'cmap', data: createCmapTable(e.charCodeToGlyphId, e.toUnicodeExtraMap, k) };
                (f['OS/2'] &&
                  (function validateOS2Table(e, t) {
                    t.pos = (t.start || 0) + e.offset;
                    const a = t.getUint16();
                    t.skip(60);
                    const r = t.getUint16();
                    if (a < 4 && 768 & r) return !1;
                    if (t.getUint16() > t.getUint16()) return !1;
                    t.skip(6);
                    if (0 === t.getUint16()) return !1;
                    e.data[8] = e.data[9] = 0;
                    return !0;
                  })(f['OS/2'], t)) ||
                  (f['OS/2'] = { tag: 'OS/2', data: createOS2Table(a, e.charCodeToGlyphId, E) });
              }
              if (!S)
                try {
                  w = new y.Stream(f['CFF '].data);
                  b = new n.CFFParser(w, a, i.SEAC_ANALYSIS_ENABLED).parse();
                  b.duplicateFirstGlyph();
                  const e = new n.CFFCompiler(b);
                  f['CFF '].data = e.compile();
                } catch (e) {
                  (0, r.warn)('Failed to compile font ' + a.loadedName);
                }
              if (f.name) {
                const [t, r] = readNameTable(f.name);
                f.name.data = createNameTable(e, t);
                this.psName = t[0][6] || null;
                a.composite ||
                  (function adjustTrueTypeToUnicode(e, t, a) {
                    if (e.isInternalFont) return;
                    if (e.hasIncludedToUnicodeMap) return;
                    if (e.hasEncoding) return;
                    if (e.toUnicode instanceof h.IdentityToUnicodeMap) return;
                    if (!t) return;
                    if (0 === a.length) return;
                    if (e.defaultEncoding === c.WinAnsiEncoding) return;
                    for (const e of a) if (!isWinNameRecord(e)) return;
                    const r = c.WinAnsiEncoding,
                      n = [],
                      i = (0, o.getGlyphsUnicode)();
                    for (const e in r) {
                      const t = r[e];
                      if ('' === t) continue;
                      const a = i[t];
                      void 0 !== a && (n[e] = String.fromCharCode(a));
                    }
                    n.length > 0 && e.toUnicode.amend(n);
                  })(a, this.isSymbolicFont, r);
              } else f.name = { tag: 'name', data: createNameTable(this.name) };
              const R = new m.OpenTypeFileBuilder(d.version);
              for (const e in f) R.addTable(e, f[e].data);
              return R.toArray();
            }
            convert(e, t, a) {
              a.fixedPitch = !1;
              a.builtInEncoding &&
                (function adjustType1ToUnicode(e, t) {
                  if (e.isInternalFont) return;
                  if (e.hasIncludedToUnicodeMap) return;
                  if (t === e.defaultEncoding) return;
                  if (e.toUnicode instanceof h.IdentityToUnicodeMap) return;
                  const a = [],
                    r = (0, o.getGlyphsUnicode)();
                  for (const n in t) {
                    if (e.hasEncoding && (e.baseEncodingName || void 0 !== e.differences[n])) continue;
                    const i = t[n],
                      o = (0, s.getUnicodeForGlyph)(i, r);
                    -1 !== o && (a[n] = String.fromCharCode(o));
                  }
                  a.length > 0 && e.toUnicode.amend(a);
                })(a, a.builtInEncoding);
              let n = 1;
              t instanceof u.CFFFont && (n = t.numGlyphs - 1);
              const l = t.getGlyphMapping(a);
              let d = null,
                f = l,
                g = null;
              if (!a.cssFontInfo) {
                d = adjustMapping(l, t.hasGlyphId.bind(t), n, this.toUnicode);
                this.toFontChar = d.toFontChar;
                f = d.charCodeToGlyphId;
                g = d.toUnicodeExtraMap;
              }
              const p = t.numGlyphs;
              function getCharCodes(e, t) {
                let a = null;
                for (const r in e)
                  if (t === e[r]) {
                    a || (a = []);
                    a.push(0 | r);
                  }
                return a;
              }
              function createCharCode(e, t) {
                for (const a in e) if (t === e[a]) return 0 | a;
                d.charCodeToGlyphId[d.nextAvailableFontCharCode] = t;
                return d.nextAvailableFontCharCode++;
              }
              const b = t.seacs;
              if (d && i.SEAC_ANALYSIS_ENABLED && b && b.length) {
                const e = a.fontMatrix || r.FONT_IDENTITY_MATRIX,
                  n = t.getCharset(),
                  i = Object.create(null);
                for (let t in b) {
                  t |= 0;
                  const a = b[t],
                    r = c.StandardEncoding[a[2]],
                    s = c.StandardEncoding[a[3]],
                    o = n.indexOf(r),
                    h = n.indexOf(s);
                  if (o < 0 || h < 0) continue;
                  const u = { x: a[0] * e[0] + a[1] * e[2] + e[4], y: a[0] * e[1] + a[1] * e[3] + e[5] },
                    f = getCharCodes(l, t);
                  if (f)
                    for (const e of f) {
                      const t = d.charCodeToGlyphId,
                        a = createCharCode(t, o),
                        r = createCharCode(t, h);
                      i[e] = { baseFontCharCode: a, accentFontCharCode: r, accentOffset: u };
                    }
                }
                a.seacMap = i;
              }
              const y = 1 / (a.fontMatrix || r.FONT_IDENTITY_MATRIX)[0],
                w = new m.OpenTypeFileBuilder('OTTO');
              w.addTable('CFF ', t.data);
              w.addTable('OS/2', createOS2Table(a, f));
              w.addTable('cmap', createCmapTable(f, g, p));
              w.addTable(
                'head',
                '\0\0\0\0\0\0\0\0\0\0_<õ\0\0' +
                  safeString16(y) +
                  "\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0" +
                  safeString16(a.descent) +
                  'ÿ' +
                  safeString16(a.ascent) +
                  string16(a.italicAngle ? 2 : 0) +
                  '\0\0\0\0\0\0\0'
              );
              w.addTable(
                'hhea',
                '\0\0\0' +
                  safeString16(a.ascent) +
                  safeString16(a.descent) +
                  '\0\0ÿÿ\0\0\0\0\0\0' +
                  safeString16(a.capHeight) +
                  safeString16(Math.tan(a.italicAngle) * a.xHeight) +
                  '\0\0\0\0\0\0\0\0\0\0\0\0' +
                  string16(p)
              );
              w.addTable(
                'hmtx',
                (function fontFieldsHmtx() {
                  const e = t.charstrings,
                    a = t.cff ? t.cff.widths : null;
                  let r = '\0\0\0\0';
                  for (let t = 1, n = p; t < n; t++) {
                    let n = 0;
                    if (e) {
                      const a = e[t - 1];
                      n = 'width' in a ? a.width : 0;
                    } else a && (n = Math.ceil(a[t] || 0));
                    r += string16(n) + string16(0);
                  }
                  return r;
                })()
              );
              w.addTable('maxp', '\0\0P\0' + string16(p));
              w.addTable('name', createNameTable(e));
              w.addTable('post', createPostTable(a));
              return w.toArray();
            }
            get spaceWidth() {
              const e = ['space', 'minus', 'one', 'i', 'I'];
              let t;
              for (const a of e) {
                if (a in this.widths) {
                  t = this.widths[a];
                  break;
                }
                const e = (0, o.getGlyphsUnicode)()[a];
                let r = 0;
                if (this.composite && this.cMap.contains(e)) {
                  r = this.cMap.lookup(e);
                  'string' == typeof r && (r = convertCidString(e, r));
                }
                !r && this.toUnicode && (r = this.toUnicode.charCodeOf(e));
                r <= 0 && (r = e);
                t = this.widths[r];
                if (t) break;
              }
              t = t || this.defaultWidth;
              return (0, r.shadow)(this, 'spaceWidth', t);
            }
            _charToGlyph(e, t = !1) {
              let a,
                n,
                i,
                o = this._glyphCache[e];
              if (o && o.isSpace === t) return o;
              let c = e;
              if (this.cMap && this.cMap.contains(e)) {
                c = this.cMap.lookup(e);
                'string' == typeof c && (c = convertCidString(e, c));
              }
              n = this.widths[c];
              'number' != typeof n && (n = this.defaultWidth);
              const l = this.vmetrics && this.vmetrics[c];
              let h = this.toUnicode.get(e) || e;
              'number' == typeof h && (h = String.fromCharCode(h));
              let u = void 0 !== this.toFontChar[e];
              a = this.toFontChar[e] || e;
              if (this.missingFile) {
                const t = this.differences[e] || this.defaultEncoding[e];
                ('.notdef' !== t && '' !== t) || 'Type1' !== this.type || (a = 32);
                a = (0, s.mapSpecialUnicodeValues)(a);
              }
              this.isType3Font && (i = a);
              let d = null;
              if (this.seacMap && this.seacMap[e]) {
                u = !0;
                const t = this.seacMap[e];
                a = t.baseFontCharCode;
                d = { fontChar: String.fromCodePoint(t.accentFontCharCode), offset: t.accentOffset };
              }
              let f = '';
              'number' == typeof a &&
                (a <= 1114111
                  ? (f = String.fromCodePoint(a))
                  : (0, r.warn)(`charToGlyph - invalid fontCharCode: ${a}`));
              o = new Glyph(e, f, h, d, n, l, i, t, u);
              return (this._glyphCache[e] = o);
            }
            charsToGlyphs(e) {
              let t = this._charsCache[e];
              if (t) return t;
              t = [];
              if (this.cMap) {
                const a = Object.create(null),
                  r = e.length;
                let n = 0;
                for (; n < r; ) {
                  this.cMap.readCharCode(e, n, a);
                  const { charcode: r, length: i } = a;
                  n += i;
                  const s = this._charToGlyph(r, 1 === i && 32 === e.charCodeAt(n - 1));
                  t.push(s);
                }
              } else
                for (let a = 0, r = e.length; a < r; ++a) {
                  const r = e.charCodeAt(a),
                    n = this._charToGlyph(r, 32 === r);
                  t.push(n);
                }
              return (this._charsCache[e] = t);
            }
            getCharPositions(e) {
              const t = [];
              if (this.cMap) {
                const a = Object.create(null);
                let r = 0;
                for (; r < e.length; ) {
                  this.cMap.readCharCode(e, r, a);
                  const n = a.length;
                  t.push([r, r + n]);
                  r += n;
                }
              } else for (let a = 0, r = e.length; a < r; ++a) t.push([a, a + 1]);
              return t;
            }
            get glyphCacheValues() {
              return Object.values(this._glyphCache);
            }
            encodeString(e) {
              const t = [],
                a = [],
                hasCurrentBufErrors = () => t.length % 2 == 1,
                r =
                  this.toUnicode instanceof h.IdentityToUnicodeMap
                    ? (e) => this.toUnicode.charCodeOf(e)
                    : (e) => this.toUnicode.charCodeOf(String.fromCodePoint(e));
              for (let n = 0, i = e.length; n < i; n++) {
                const i = e.codePointAt(n);
                i > 55295 && (i < 57344 || i > 65533) && n++;
                if (this.toUnicode) {
                  const e = r(i);
                  if (-1 !== e) {
                    if (hasCurrentBufErrors()) {
                      t.push(a.join(''));
                      a.length = 0;
                    }
                    for (let t = (this.cMap ? this.cMap.getCharCodeLength(e) : 1) - 1; t >= 0; t--)
                      a.push(String.fromCharCode((e >> (8 * t)) & 255));
                    continue;
                  }
                }
                if (!hasCurrentBufErrors()) {
                  t.push(a.join(''));
                  a.length = 0;
                }
                a.push(String.fromCodePoint(i));
              }
              t.push(a.join(''));
              return t;
            }
          };
          t.ErrorFont = class ErrorFont {
            constructor(e) {
              this.error = e;
              this.loadedName = 'g_font_error';
              this.missingFile = !0;
            }
            charsToGlyphs() {
              return [];
            }
            encodeString(e) {
              return [e];
            }
            exportData(e = !1) {
              return { error: this.error };
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.CFFTopDict =
            t.CFFStrings =
            t.CFFStandardStrings =
            t.CFFPrivateDict =
            t.CFFParser =
            t.CFFIndex =
            t.CFFHeader =
            t.CFFFDSelect =
            t.CFFCompiler =
            t.CFFCharset =
            t.CFF =
              void 0;
          var r = a(2),
            n = a(34),
            i = a(35);
          const s = [
            '.notdef',
            'space',
            'exclam',
            'quotedbl',
            'numbersign',
            'dollar',
            'percent',
            'ampersand',
            'quoteright',
            'parenleft',
            'parenright',
            'asterisk',
            'plus',
            'comma',
            'hyphen',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'at',
            'A',
            'B',
            'C',
            'D',
            'E',
            'F',
            'G',
            'H',
            'I',
            'J',
            'K',
            'L',
            'M',
            'N',
            'O',
            'P',
            'Q',
            'R',
            'S',
            'T',
            'U',
            'V',
            'W',
            'X',
            'Y',
            'Z',
            'bracketleft',
            'backslash',
            'bracketright',
            'asciicircum',
            'underscore',
            'quoteleft',
            'a',
            'b',
            'c',
            'd',
            'e',
            'f',
            'g',
            'h',
            'i',
            'j',
            'k',
            'l',
            'm',
            'n',
            'o',
            'p',
            'q',
            'r',
            's',
            't',
            'u',
            'v',
            'w',
            'x',
            'y',
            'z',
            'braceleft',
            'bar',
            'braceright',
            'asciitilde',
            'exclamdown',
            'cent',
            'sterling',
            'fraction',
            'yen',
            'florin',
            'section',
            'currency',
            'quotesingle',
            'quotedblleft',
            'guillemotleft',
            'guilsinglleft',
            'guilsinglright',
            'fi',
            'fl',
            'endash',
            'dagger',
            'daggerdbl',
            'periodcentered',
            'paragraph',
            'bullet',
            'quotesinglbase',
            'quotedblbase',
            'quotedblright',
            'guillemotright',
            'ellipsis',
            'perthousand',
            'questiondown',
            'grave',
            'acute',
            'circumflex',
            'tilde',
            'macron',
            'breve',
            'dotaccent',
            'dieresis',
            'ring',
            'cedilla',
            'hungarumlaut',
            'ogonek',
            'caron',
            'emdash',
            'AE',
            'ordfeminine',
            'Lslash',
            'Oslash',
            'OE',
            'ordmasculine',
            'ae',
            'dotlessi',
            'lslash',
            'oslash',
            'oe',
            'germandbls',
            'onesuperior',
            'logicalnot',
            'mu',
            'trademark',
            'Eth',
            'onehalf',
            'plusminus',
            'Thorn',
            'onequarter',
            'divide',
            'brokenbar',
            'degree',
            'thorn',
            'threequarters',
            'twosuperior',
            'registered',
            'minus',
            'eth',
            'multiply',
            'threesuperior',
            'copyright',
            'Aacute',
            'Acircumflex',
            'Adieresis',
            'Agrave',
            'Aring',
            'Atilde',
            'Ccedilla',
            'Eacute',
            'Ecircumflex',
            'Edieresis',
            'Egrave',
            'Iacute',
            'Icircumflex',
            'Idieresis',
            'Igrave',
            'Ntilde',
            'Oacute',
            'Ocircumflex',
            'Odieresis',
            'Ograve',
            'Otilde',
            'Scaron',
            'Uacute',
            'Ucircumflex',
            'Udieresis',
            'Ugrave',
            'Yacute',
            'Ydieresis',
            'Zcaron',
            'aacute',
            'acircumflex',
            'adieresis',
            'agrave',
            'aring',
            'atilde',
            'ccedilla',
            'eacute',
            'ecircumflex',
            'edieresis',
            'egrave',
            'iacute',
            'icircumflex',
            'idieresis',
            'igrave',
            'ntilde',
            'oacute',
            'ocircumflex',
            'odieresis',
            'ograve',
            'otilde',
            'scaron',
            'uacute',
            'ucircumflex',
            'udieresis',
            'ugrave',
            'yacute',
            'ydieresis',
            'zcaron',
            'exclamsmall',
            'Hungarumlautsmall',
            'dollaroldstyle',
            'dollarsuperior',
            'ampersandsmall',
            'Acutesmall',
            'parenleftsuperior',
            'parenrightsuperior',
            'twodotenleader',
            'onedotenleader',
            'zerooldstyle',
            'oneoldstyle',
            'twooldstyle',
            'threeoldstyle',
            'fouroldstyle',
            'fiveoldstyle',
            'sixoldstyle',
            'sevenoldstyle',
            'eightoldstyle',
            'nineoldstyle',
            'commasuperior',
            'threequartersemdash',
            'periodsuperior',
            'questionsmall',
            'asuperior',
            'bsuperior',
            'centsuperior',
            'dsuperior',
            'esuperior',
            'isuperior',
            'lsuperior',
            'msuperior',
            'nsuperior',
            'osuperior',
            'rsuperior',
            'ssuperior',
            'tsuperior',
            'ff',
            'ffi',
            'ffl',
            'parenleftinferior',
            'parenrightinferior',
            'Circumflexsmall',
            'hyphensuperior',
            'Gravesmall',
            'Asmall',
            'Bsmall',
            'Csmall',
            'Dsmall',
            'Esmall',
            'Fsmall',
            'Gsmall',
            'Hsmall',
            'Ismall',
            'Jsmall',
            'Ksmall',
            'Lsmall',
            'Msmall',
            'Nsmall',
            'Osmall',
            'Psmall',
            'Qsmall',
            'Rsmall',
            'Ssmall',
            'Tsmall',
            'Usmall',
            'Vsmall',
            'Wsmall',
            'Xsmall',
            'Ysmall',
            'Zsmall',
            'colonmonetary',
            'onefitted',
            'rupiah',
            'Tildesmall',
            'exclamdownsmall',
            'centoldstyle',
            'Lslashsmall',
            'Scaronsmall',
            'Zcaronsmall',
            'Dieresissmall',
            'Brevesmall',
            'Caronsmall',
            'Dotaccentsmall',
            'Macronsmall',
            'figuredash',
            'hypheninferior',
            'Ogoneksmall',
            'Ringsmall',
            'Cedillasmall',
            'questiondownsmall',
            'oneeighth',
            'threeeighths',
            'fiveeighths',
            'seveneighths',
            'onethird',
            'twothirds',
            'zerosuperior',
            'foursuperior',
            'fivesuperior',
            'sixsuperior',
            'sevensuperior',
            'eightsuperior',
            'ninesuperior',
            'zeroinferior',
            'oneinferior',
            'twoinferior',
            'threeinferior',
            'fourinferior',
            'fiveinferior',
            'sixinferior',
            'seveninferior',
            'eightinferior',
            'nineinferior',
            'centinferior',
            'dollarinferior',
            'periodinferior',
            'commainferior',
            'Agravesmall',
            'Aacutesmall',
            'Acircumflexsmall',
            'Atildesmall',
            'Adieresissmall',
            'Aringsmall',
            'AEsmall',
            'Ccedillasmall',
            'Egravesmall',
            'Eacutesmall',
            'Ecircumflexsmall',
            'Edieresissmall',
            'Igravesmall',
            'Iacutesmall',
            'Icircumflexsmall',
            'Idieresissmall',
            'Ethsmall',
            'Ntildesmall',
            'Ogravesmall',
            'Oacutesmall',
            'Ocircumflexsmall',
            'Otildesmall',
            'Odieresissmall',
            'OEsmall',
            'Oslashsmall',
            'Ugravesmall',
            'Uacutesmall',
            'Ucircumflexsmall',
            'Udieresissmall',
            'Yacutesmall',
            'Thornsmall',
            'Ydieresissmall',
            '001.000',
            '001.001',
            '001.002',
            '001.003',
            'Black',
            'Bold',
            'Book',
            'Light',
            'Medium',
            'Regular',
            'Roman',
            'Semibold',
          ];
          t.CFFStandardStrings = s;
          const o = 391,
            c = [
              null,
              { id: 'hstem', min: 2, stackClearing: !0, stem: !0 },
              null,
              { id: 'vstem', min: 2, stackClearing: !0, stem: !0 },
              { id: 'vmoveto', min: 1, stackClearing: !0 },
              { id: 'rlineto', min: 2, resetStack: !0 },
              { id: 'hlineto', min: 1, resetStack: !0 },
              { id: 'vlineto', min: 1, resetStack: !0 },
              { id: 'rrcurveto', min: 6, resetStack: !0 },
              null,
              { id: 'callsubr', min: 1, undefStack: !0 },
              { id: 'return', min: 0, undefStack: !0 },
              null,
              null,
              { id: 'endchar', min: 0, stackClearing: !0 },
              null,
              null,
              null,
              { id: 'hstemhm', min: 2, stackClearing: !0, stem: !0 },
              { id: 'hintmask', min: 0, stackClearing: !0 },
              { id: 'cntrmask', min: 0, stackClearing: !0 },
              { id: 'rmoveto', min: 2, stackClearing: !0 },
              { id: 'hmoveto', min: 1, stackClearing: !0 },
              { id: 'vstemhm', min: 2, stackClearing: !0, stem: !0 },
              { id: 'rcurveline', min: 8, resetStack: !0 },
              { id: 'rlinecurve', min: 8, resetStack: !0 },
              { id: 'vvcurveto', min: 4, resetStack: !0 },
              { id: 'hhcurveto', min: 4, resetStack: !0 },
              null,
              { id: 'callgsubr', min: 1, undefStack: !0 },
              { id: 'vhcurveto', min: 4, resetStack: !0 },
              { id: 'hvcurveto', min: 4, resetStack: !0 },
            ],
            l = [
              null,
              null,
              null,
              { id: 'and', min: 2, stackDelta: -1 },
              { id: 'or', min: 2, stackDelta: -1 },
              { id: 'not', min: 1, stackDelta: 0 },
              null,
              null,
              null,
              { id: 'abs', min: 1, stackDelta: 0 },
              {
                id: 'add',
                min: 2,
                stackDelta: -1,
                stackFn(e, t) {
                  e[t - 2] = e[t - 2] + e[t - 1];
                },
              },
              {
                id: 'sub',
                min: 2,
                stackDelta: -1,
                stackFn(e, t) {
                  e[t - 2] = e[t - 2] - e[t - 1];
                },
              },
              {
                id: 'div',
                min: 2,
                stackDelta: -1,
                stackFn(e, t) {
                  e[t - 2] = e[t - 2] / e[t - 1];
                },
              },
              null,
              {
                id: 'neg',
                min: 1,
                stackDelta: 0,
                stackFn(e, t) {
                  e[t - 1] = -e[t - 1];
                },
              },
              { id: 'eq', min: 2, stackDelta: -1 },
              null,
              null,
              { id: 'drop', min: 1, stackDelta: -1 },
              null,
              { id: 'put', min: 2, stackDelta: -2 },
              { id: 'get', min: 1, stackDelta: 0 },
              { id: 'ifelse', min: 4, stackDelta: -3 },
              { id: 'random', min: 0, stackDelta: 1 },
              {
                id: 'mul',
                min: 2,
                stackDelta: -1,
                stackFn(e, t) {
                  e[t - 2] = e[t - 2] * e[t - 1];
                },
              },
              null,
              { id: 'sqrt', min: 1, stackDelta: 0 },
              { id: 'dup', min: 1, stackDelta: 1 },
              { id: 'exch', min: 2, stackDelta: 0 },
              { id: 'index', min: 2, stackDelta: 0 },
              { id: 'roll', min: 3, stackDelta: -2 },
              null,
              null,
              null,
              { id: 'hflex', min: 7, resetStack: !0 },
              { id: 'flex', min: 13, resetStack: !0 },
              { id: 'hflex1', min: 9, resetStack: !0 },
              { id: 'flex1', min: 11, resetStack: !0 },
            ];
          t.CFFParser = class CFFParser {
            constructor(e, t, a) {
              this.bytes = e.getBytes();
              this.properties = t;
              this.seacAnalysisEnabled = !!a;
            }
            parse() {
              const e = this.properties,
                t = new CFF();
              this.cff = t;
              const a = this.parseHeader(),
                r = this.parseIndex(a.endPos),
                n = this.parseIndex(r.endPos),
                i = this.parseIndex(n.endPos),
                s = this.parseIndex(i.endPos),
                o = this.parseDict(n.obj.get(0)),
                c = this.createDict(CFFTopDict, o, t.strings);
              t.header = a.obj;
              t.names = this.parseNameIndex(r.obj);
              t.strings = this.parseStringIndex(i.obj);
              t.topDict = c;
              t.globalSubrIndex = s.obj;
              this.parsePrivateDict(t.topDict);
              t.isCIDFont = c.hasName('ROS');
              const l = c.getByName('CharStrings'),
                h = this.parseIndex(l).obj,
                u = c.getByName('FontMatrix');
              u && (e.fontMatrix = u);
              const d = c.getByName('FontBBox');
              if (d) {
                e.ascent = Math.max(d[3], d[1]);
                e.descent = Math.min(d[1], d[3]);
                e.ascentScaled = !0;
              }
              let f, g;
              if (t.isCIDFont) {
                const e = this.parseIndex(c.getByName('FDArray')).obj;
                for (let a = 0, r = e.count; a < r; ++a) {
                  const r = e.get(a),
                    n = this.createDict(CFFTopDict, this.parseDict(r), t.strings);
                  this.parsePrivateDict(n);
                  t.fdArray.push(n);
                }
                g = null;
                f = this.parseCharsets(c.getByName('charset'), h.count, t.strings, !0);
                t.fdSelect = this.parseFDSelect(c.getByName('FDSelect'), h.count);
              } else {
                f = this.parseCharsets(c.getByName('charset'), h.count, t.strings, !1);
                g = this.parseEncoding(c.getByName('Encoding'), e, t.strings, f.charset);
              }
              t.charset = f;
              t.encoding = g;
              const p = this.parseCharStrings({
                charStrings: h,
                localSubrIndex: c.privateDict.subrsIndex,
                globalSubrIndex: s.obj,
                fdSelect: t.fdSelect,
                fdArray: t.fdArray,
                privateDict: c.privateDict,
              });
              t.charStrings = p.charStrings;
              t.seacs = p.seacs;
              t.widths = p.widths;
              return t;
            }
            parseHeader() {
              let e = this.bytes;
              const t = e.length;
              let a = 0;
              for (; a < t && 1 !== e[a]; ) ++a;
              if (a >= t) throw new r.FormatError('Invalid CFF header');
              if (0 !== a) {
                (0, r.info)('cff data is shifted');
                e = e.subarray(a);
                this.bytes = e;
              }
              const n = e[0],
                i = e[1],
                s = e[2],
                o = e[3];
              return { obj: new CFFHeader(n, i, s, o), endPos: s };
            }
            parseDict(e) {
              let t = 0;
              function parseOperand() {
                let a = e[t++];
                if (30 === a)
                  return (function parseFloatOperand() {
                    let a = '';
                    const r = 15,
                      n = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'],
                      i = e.length;
                    for (; t < i; ) {
                      const i = e[t++],
                        s = i >> 4,
                        o = 15 & i;
                      if (s === r) break;
                      a += n[s];
                      if (o === r) break;
                      a += n[o];
                    }
                    return parseFloat(a);
                  })();
                if (28 === a) {
                  a = e[t++];
                  a = ((a << 24) | (e[t++] << 16)) >> 16;
                  return a;
                }
                if (29 === a) {
                  a = e[t++];
                  a = (a << 8) | e[t++];
                  a = (a << 8) | e[t++];
                  a = (a << 8) | e[t++];
                  return a;
                }
                if (a >= 32 && a <= 246) return a - 139;
                if (a >= 247 && a <= 250) return 256 * (a - 247) + e[t++] + 108;
                if (a >= 251 && a <= 254) return -256 * (a - 251) - e[t++] - 108;
                (0, r.warn)('CFFParser_parseDict: "' + a + '" is a reserved command.');
                return NaN;
              }
              let a = [];
              const n = [];
              t = 0;
              const i = e.length;
              for (; t < i; ) {
                let r = e[t];
                if (r <= 21) {
                  12 === r && (r = (r << 8) | e[++t]);
                  n.push([r, a]);
                  a = [];
                  ++t;
                } else a.push(parseOperand());
              }
              return n;
            }
            parseIndex(e) {
              const t = new CFFIndex(),
                a = this.bytes,
                r = (a[e++] << 8) | a[e++],
                n = [];
              let i,
                s,
                o = e;
              if (0 !== r) {
                const t = a[e++],
                  c = e + (r + 1) * t - 1;
                for (i = 0, s = r + 1; i < s; ++i) {
                  let r = 0;
                  for (let n = 0; n < t; ++n) {
                    r <<= 8;
                    r += a[e++];
                  }
                  n.push(c + r);
                }
                o = n[r];
              }
              for (i = 0, s = n.length - 1; i < s; ++i) {
                const e = n[i],
                  r = n[i + 1];
                t.add(a.subarray(e, r));
              }
              return { obj: t, endPos: o };
            }
            parseNameIndex(e) {
              const t = [];
              for (let a = 0, n = e.count; a < n; ++a) {
                const n = e.get(a);
                t.push((0, r.bytesToString)(n));
              }
              return t;
            }
            parseStringIndex(e) {
              const t = new CFFStrings();
              for (let a = 0, n = e.count; a < n; ++a) {
                const n = e.get(a);
                t.add((0, r.bytesToString)(n));
              }
              return t;
            }
            createDict(e, t, a) {
              const r = new e(a);
              for (const [e, a] of t) r.setByKey(e, a);
              return r;
            }
            parseCharString(e, t, a, n) {
              if (!t || e.callDepth > 10) return !1;
              let i = e.stackSize;
              const s = e.stack;
              let o = t.length;
              for (let h = 0; h < o; ) {
                const u = t[h++];
                let d = null;
                if (12 === u) {
                  const e = t[h++];
                  if (0 === e) {
                    t[h - 2] = 139;
                    t[h - 1] = 22;
                    i = 0;
                  } else d = l[e];
                } else if (28 === u) {
                  s[i] = ((t[h] << 24) | (t[h + 1] << 16)) >> 16;
                  h += 2;
                  i++;
                } else if (14 === u) {
                  if (i >= 4) {
                    i -= 4;
                    if (this.seacAnalysisEnabled) {
                      e.seac = s.slice(i, i + 4);
                      return !1;
                    }
                  }
                  d = c[u];
                } else if (u >= 32 && u <= 246) {
                  s[i] = u - 139;
                  i++;
                } else if (u >= 247 && u <= 254) {
                  s[i] = u < 251 ? ((u - 247) << 8) + t[h] + 108 : -((u - 251) << 8) - t[h] - 108;
                  h++;
                  i++;
                } else if (255 === u) {
                  s[i] = ((t[h] << 24) | (t[h + 1] << 16) | (t[h + 2] << 8) | t[h + 3]) / 65536;
                  h += 4;
                  i++;
                } else if (19 === u || 20 === u) {
                  e.hints += i >> 1;
                  h += (e.hints + 7) >> 3;
                  i %= 2;
                  d = c[u];
                } else {
                  if (10 === u || 29 === u) {
                    let t;
                    t = 10 === u ? a : n;
                    if (!t) {
                      d = c[u];
                      (0, r.warn)('Missing subrsIndex for ' + d.id);
                      return !1;
                    }
                    let o = 32768;
                    t.count < 1240 ? (o = 107) : t.count < 33900 && (o = 1131);
                    const l = s[--i] + o;
                    if (l < 0 || l >= t.count || isNaN(l)) {
                      d = c[u];
                      (0, r.warn)('Out of bounds subrIndex for ' + d.id);
                      return !1;
                    }
                    e.stackSize = i;
                    e.callDepth++;
                    if (!this.parseCharString(e, t.get(l), a, n)) return !1;
                    e.callDepth--;
                    i = e.stackSize;
                    continue;
                  }
                  if (11 === u) {
                    e.stackSize = i;
                    return !0;
                  }
                  if (0 === u && h === t.length) {
                    t[h - 1] = 14;
                    d = c[14];
                  } else {
                    if (9 === u) {
                      t.copyWithin(h - 1, h, -1);
                      h -= 1;
                      o -= 1;
                      continue;
                    }
                    d = c[u];
                  }
                }
                if (d) {
                  if (d.stem) {
                    e.hints += i >> 1;
                    if (3 === u || 23 === u) e.hasVStems = !0;
                    else if (e.hasVStems && (1 === u || 18 === u)) {
                      (0, r.warn)('CFF stem hints are in wrong order');
                      t[h - 1] = 1 === u ? 3 : 23;
                    }
                  }
                  if ('min' in d && !e.undefStack && i < d.min) {
                    (0, r.warn)('Not enough parameters for ' + d.id + '; actual: ' + i + ', expected: ' + d.min);
                    if (0 === i) {
                      t[h - 1] = 14;
                      return !0;
                    }
                    return !1;
                  }
                  if (e.firstStackClearing && d.stackClearing) {
                    e.firstStackClearing = !1;
                    i -= d.min;
                    i >= 2 && d.stem
                      ? (i %= 2)
                      : i > 1 && (0, r.warn)('Found too many parameters for stack-clearing command');
                    i > 0 && (e.width = s[i - 1]);
                  }
                  if ('stackDelta' in d) {
                    'stackFn' in d && d.stackFn(s, i);
                    i += d.stackDelta;
                  } else if (d.stackClearing) i = 0;
                  else if (d.resetStack) {
                    i = 0;
                    e.undefStack = !1;
                  } else if (d.undefStack) {
                    i = 0;
                    e.undefStack = !0;
                    e.firstStackClearing = !1;
                  }
                }
              }
              o < t.length && t.fill(14, o);
              e.stackSize = i;
              return !0;
            }
            parseCharStrings({
              charStrings: e,
              localSubrIndex: t,
              globalSubrIndex: a,
              fdSelect: n,
              fdArray: i,
              privateDict: s,
            }) {
              const o = [],
                c = [],
                l = e.count;
              for (let h = 0; h < l; h++) {
                const l = e.get(h),
                  u = {
                    callDepth: 0,
                    stackSize: 0,
                    stack: [],
                    undefStack: !0,
                    hints: 0,
                    firstStackClearing: !0,
                    seac: null,
                    width: null,
                    hasVStems: !1,
                  };
                let d = !0,
                  f = null,
                  g = s;
                if (n && i.length) {
                  const e = n.getFDIndex(h);
                  if (-1 === e) {
                    (0, r.warn)('Glyph index is not in fd select.');
                    d = !1;
                  }
                  if (e >= i.length) {
                    (0, r.warn)('Invalid fd index for glyph index.');
                    d = !1;
                  }
                  if (d) {
                    g = i[e].privateDict;
                    f = g.subrsIndex;
                  }
                } else t && (f = t);
                d && (d = this.parseCharString(u, l, f, a));
                if (null !== u.width) {
                  const e = g.getByName('nominalWidthX');
                  c[h] = e + u.width;
                } else {
                  const e = g.getByName('defaultWidthX');
                  c[h] = e;
                }
                null !== u.seac && (o[h] = u.seac);
                d || e.set(h, new Uint8Array([14]));
              }
              return { charStrings: e, seacs: o, widths: c };
            }
            emptyPrivateDictionary(e) {
              const t = this.createDict(CFFPrivateDict, [], e.strings);
              e.setByKey(18, [0, 0]);
              e.privateDict = t;
            }
            parsePrivateDict(e) {
              if (!e.hasName('Private')) {
                this.emptyPrivateDictionary(e);
                return;
              }
              const t = e.getByName('Private');
              if (!Array.isArray(t) || 2 !== t.length) {
                e.removeByName('Private');
                return;
              }
              const a = t[0],
                r = t[1];
              if (0 === a || r >= this.bytes.length) {
                this.emptyPrivateDictionary(e);
                return;
              }
              const n = r + a,
                i = this.bytes.subarray(r, n),
                s = this.parseDict(i),
                o = this.createDict(CFFPrivateDict, s, e.strings);
              e.privateDict = o;
              0 === o.getByName('ExpansionFactor') && o.setByName('ExpansionFactor', 0.06);
              if (!o.getByName('Subrs')) return;
              const c = o.getByName('Subrs'),
                l = r + c;
              if (0 === c || l >= this.bytes.length) {
                this.emptyPrivateDictionary(e);
                return;
              }
              const h = this.parseIndex(l);
              o.subrsIndex = h.obj;
            }
            parseCharsets(e, t, a, i) {
              if (0 === e) return new CFFCharset(!0, d.ISO_ADOBE, n.ISOAdobeCharset);
              if (1 === e) return new CFFCharset(!0, d.EXPERT, n.ExpertCharset);
              if (2 === e) return new CFFCharset(!0, d.EXPERT_SUBSET, n.ExpertSubsetCharset);
              const s = this.bytes,
                o = e,
                c = s[e++],
                l = [i ? 0 : '.notdef'];
              let h, u, f;
              t -= 1;
              switch (c) {
                case 0:
                  for (f = 0; f < t; f++) {
                    h = (s[e++] << 8) | s[e++];
                    l.push(i ? h : a.get(h));
                  }
                  break;
                case 1:
                  for (; l.length <= t; ) {
                    h = (s[e++] << 8) | s[e++];
                    u = s[e++];
                    for (f = 0; f <= u; f++) l.push(i ? h++ : a.get(h++));
                  }
                  break;
                case 2:
                  for (; l.length <= t; ) {
                    h = (s[e++] << 8) | s[e++];
                    u = (s[e++] << 8) | s[e++];
                    for (f = 0; f <= u; f++) l.push(i ? h++ : a.get(h++));
                  }
                  break;
                default:
                  throw new r.FormatError('Unknown charset format');
              }
              const g = e,
                p = s.subarray(o, g);
              return new CFFCharset(!1, c, l, p);
            }
            parseEncoding(e, t, a, n) {
              const s = Object.create(null),
                o = this.bytes;
              let c,
                l,
                h,
                u = !1,
                d = null;
              if (0 === e || 1 === e) {
                u = !0;
                c = e;
                const t = e ? i.ExpertEncoding : i.StandardEncoding;
                for (l = 0, h = n.length; l < h; l++) {
                  const e = t.indexOf(n[l]);
                  -1 !== e && (s[e] = l);
                }
              } else {
                const t = e;
                c = o[e++];
                switch (127 & c) {
                  case 0:
                    const t = o[e++];
                    for (l = 1; l <= t; l++) s[o[e++]] = l;
                    break;
                  case 1:
                    const a = o[e++];
                    let n = 1;
                    for (l = 0; l < a; l++) {
                      const t = o[e++],
                        a = o[e++];
                      for (let e = t; e <= t + a; e++) s[e] = n++;
                    }
                    break;
                  default:
                    throw new r.FormatError(`Unknown encoding format: ${c} in CFF`);
                }
                const i = e;
                if (128 & c) {
                  o[t] &= 127;
                  !(function readSupplement() {
                    const t = o[e++];
                    for (l = 0; l < t; l++) {
                      const t = o[e++],
                        r = (o[e++] << 8) + (255 & o[e++]);
                      s[t] = n.indexOf(a.get(r));
                    }
                  })();
                }
                d = o.subarray(t, i);
              }
              c &= 127;
              return new CFFEncoding(u, c, s, d);
            }
            parseFDSelect(e, t) {
              const a = this.bytes,
                n = a[e++],
                i = [];
              let s;
              switch (n) {
                case 0:
                  for (s = 0; s < t; ++s) {
                    const t = a[e++];
                    i.push(t);
                  }
                  break;
                case 3:
                  const o = (a[e++] << 8) | a[e++];
                  for (s = 0; s < o; ++s) {
                    let t = (a[e++] << 8) | a[e++];
                    if (0 === s && 0 !== t) {
                      (0, r.warn)('parseFDSelect: The first range must have a first GID of 0 -- trying to recover.');
                      t = 0;
                    }
                    const n = a[e++],
                      o = (a[e] << 8) | a[e + 1];
                    for (let e = t; e < o; ++e) i.push(n);
                  }
                  e += 2;
                  break;
                default:
                  throw new r.FormatError(`parseFDSelect: Unknown format "${n}".`);
              }
              if (i.length !== t) throw new r.FormatError('parseFDSelect: Invalid font data.');
              return new CFFFDSelect(n, i);
            }
          };
          class CFF {
            constructor() {
              this.header = null;
              this.names = [];
              this.topDict = null;
              this.strings = new CFFStrings();
              this.globalSubrIndex = null;
              this.encoding = null;
              this.charset = null;
              this.charStrings = null;
              this.fdArray = [];
              this.fdSelect = null;
              this.isCIDFont = !1;
            }
            duplicateFirstGlyph() {
              if (this.charStrings.count >= 65535) {
                (0, r.warn)('Not enough space in charstrings to duplicate first glyph.');
                return;
              }
              const e = this.charStrings.get(0);
              this.charStrings.add(e);
              this.isCIDFont && this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);
            }
            hasGlyphId(e) {
              if (e < 0 || e >= this.charStrings.count) return !1;
              return this.charStrings.get(e).length > 0;
            }
          }
          t.CFF = CFF;
          class CFFHeader {
            constructor(e, t, a, r) {
              this.major = e;
              this.minor = t;
              this.hdrSize = a;
              this.offSize = r;
            }
          }
          t.CFFHeader = CFFHeader;
          class CFFStrings {
            constructor() {
              this.strings = [];
            }
            get(e) {
              return e >= 0 && e <= 390 ? s[e] : e - o <= this.strings.length ? this.strings[e - o] : s[0];
            }
            getSID(e) {
              let t = s.indexOf(e);
              if (-1 !== t) return t;
              t = this.strings.indexOf(e);
              return -1 !== t ? t + o : -1;
            }
            add(e) {
              this.strings.push(e);
            }
            get count() {
              return this.strings.length;
            }
          }
          t.CFFStrings = CFFStrings;
          class CFFIndex {
            constructor() {
              this.objects = [];
              this.length = 0;
            }
            add(e) {
              this.length += e.length;
              this.objects.push(e);
            }
            set(e, t) {
              this.length += t.length - this.objects[e].length;
              this.objects[e] = t;
            }
            get(e) {
              return this.objects[e];
            }
            get count() {
              return this.objects.length;
            }
          }
          t.CFFIndex = CFFIndex;
          class CFFDict {
            constructor(e, t) {
              this.keyToNameMap = e.keyToNameMap;
              this.nameToKeyMap = e.nameToKeyMap;
              this.defaults = e.defaults;
              this.types = e.types;
              this.opcodes = e.opcodes;
              this.order = e.order;
              this.strings = t;
              this.values = Object.create(null);
            }
            setByKey(e, t) {
              if (!(e in this.keyToNameMap)) return !1;
              if (0 === t.length) return !0;
              for (const a of t)
                if (isNaN(a)) {
                  (0, r.warn)(`Invalid CFFDict value: "${t}" for key "${e}".`);
                  return !0;
                }
              const a = this.types[e];
              ('num' !== a && 'sid' !== a && 'offset' !== a) || (t = t[0]);
              this.values[e] = t;
              return !0;
            }
            setByName(e, t) {
              if (!(e in this.nameToKeyMap)) throw new r.FormatError(`Invalid dictionary name "${e}"`);
              this.values[this.nameToKeyMap[e]] = t;
            }
            hasName(e) {
              return this.nameToKeyMap[e] in this.values;
            }
            getByName(e) {
              if (!(e in this.nameToKeyMap)) throw new r.FormatError(`Invalid dictionary name ${e}"`);
              const t = this.nameToKeyMap[e];
              return t in this.values ? this.values[t] : this.defaults[t];
            }
            removeByName(e) {
              delete this.values[this.nameToKeyMap[e]];
            }
            static createTables(e) {
              const t = { keyToNameMap: {}, nameToKeyMap: {}, defaults: {}, types: {}, opcodes: {}, order: [] };
              for (const a of e) {
                const e = Array.isArray(a[0]) ? (a[0][0] << 8) + a[0][1] : a[0];
                t.keyToNameMap[e] = a[1];
                t.nameToKeyMap[a[1]] = e;
                t.types[e] = a[2];
                t.defaults[e] = a[3];
                t.opcodes[e] = Array.isArray(a[0]) ? a[0] : [a[0]];
                t.order.push(e);
              }
              return t;
            }
          }
          const h = [
            [[12, 30], 'ROS', ['sid', 'sid', 'num'], null],
            [[12, 20], 'SyntheticBase', 'num', null],
            [0, 'version', 'sid', null],
            [1, 'Notice', 'sid', null],
            [[12, 0], 'Copyright', 'sid', null],
            [2, 'FullName', 'sid', null],
            [3, 'FamilyName', 'sid', null],
            [4, 'Weight', 'sid', null],
            [[12, 1], 'isFixedPitch', 'num', 0],
            [[12, 2], 'ItalicAngle', 'num', 0],
            [[12, 3], 'UnderlinePosition', 'num', -100],
            [[12, 4], 'UnderlineThickness', 'num', 50],
            [[12, 5], 'PaintType', 'num', 0],
            [[12, 6], 'CharstringType', 'num', 2],
            [[12, 7], 'FontMatrix', ['num', 'num', 'num', 'num', 'num', 'num'], [0.001, 0, 0, 0.001, 0, 0]],
            [13, 'UniqueID', 'num', null],
            [5, 'FontBBox', ['num', 'num', 'num', 'num'], [0, 0, 0, 0]],
            [[12, 8], 'StrokeWidth', 'num', 0],
            [14, 'XUID', 'array', null],
            [15, 'charset', 'offset', 0],
            [16, 'Encoding', 'offset', 0],
            [17, 'CharStrings', 'offset', 0],
            [18, 'Private', ['offset', 'offset'], null],
            [[12, 21], 'PostScript', 'sid', null],
            [[12, 22], 'BaseFontName', 'sid', null],
            [[12, 23], 'BaseFontBlend', 'delta', null],
            [[12, 31], 'CIDFontVersion', 'num', 0],
            [[12, 32], 'CIDFontRevision', 'num', 0],
            [[12, 33], 'CIDFontType', 'num', 0],
            [[12, 34], 'CIDCount', 'num', 8720],
            [[12, 35], 'UIDBase', 'num', null],
            [[12, 37], 'FDSelect', 'offset', null],
            [[12, 36], 'FDArray', 'offset', null],
            [[12, 38], 'FontName', 'sid', null],
          ];
          class CFFTopDict extends CFFDict {
            static get tables() {
              return (0, r.shadow)(this, 'tables', this.createTables(h));
            }
            constructor(e) {
              super(CFFTopDict.tables, e);
              this.privateDict = null;
            }
          }
          t.CFFTopDict = CFFTopDict;
          const u = [
            [6, 'BlueValues', 'delta', null],
            [7, 'OtherBlues', 'delta', null],
            [8, 'FamilyBlues', 'delta', null],
            [9, 'FamilyOtherBlues', 'delta', null],
            [[12, 9], 'BlueScale', 'num', 0.039625],
            [[12, 10], 'BlueShift', 'num', 7],
            [[12, 11], 'BlueFuzz', 'num', 1],
            [10, 'StdHW', 'num', null],
            [11, 'StdVW', 'num', null],
            [[12, 12], 'StemSnapH', 'delta', null],
            [[12, 13], 'StemSnapV', 'delta', null],
            [[12, 14], 'ForceBold', 'num', 0],
            [[12, 17], 'LanguageGroup', 'num', 0],
            [[12, 18], 'ExpansionFactor', 'num', 0.06],
            [[12, 19], 'initialRandomSeed', 'num', 0],
            [20, 'defaultWidthX', 'num', 0],
            [21, 'nominalWidthX', 'num', 0],
            [19, 'Subrs', 'offset', null],
          ];
          class CFFPrivateDict extends CFFDict {
            static get tables() {
              return (0, r.shadow)(this, 'tables', this.createTables(u));
            }
            constructor(e) {
              super(CFFPrivateDict.tables, e);
              this.subrsIndex = null;
            }
          }
          t.CFFPrivateDict = CFFPrivateDict;
          const d = { ISO_ADOBE: 0, EXPERT: 1, EXPERT_SUBSET: 2 };
          class CFFCharset {
            constructor(e, t, a, r) {
              this.predefined = e;
              this.format = t;
              this.charset = a;
              this.raw = r;
            }
          }
          t.CFFCharset = CFFCharset;
          class CFFEncoding {
            constructor(e, t, a, r) {
              this.predefined = e;
              this.format = t;
              this.encoding = a;
              this.raw = r;
            }
          }
          class CFFFDSelect {
            constructor(e, t) {
              this.format = e;
              this.fdSelect = t;
            }
            getFDIndex(e) {
              return e < 0 || e >= this.fdSelect.length ? -1 : this.fdSelect[e];
            }
          }
          t.CFFFDSelect = CFFFDSelect;
          class CFFOffsetTracker {
            constructor() {
              this.offsets = Object.create(null);
            }
            isTracking(e) {
              return e in this.offsets;
            }
            track(e, t) {
              if (e in this.offsets) throw new r.FormatError(`Already tracking location of ${e}`);
              this.offsets[e] = t;
            }
            offset(e) {
              for (const t in this.offsets) this.offsets[t] += e;
            }
            setEntryLocation(e, t, a) {
              if (!(e in this.offsets)) throw new r.FormatError(`Not tracking location of ${e}`);
              const n = a.data,
                i = this.offsets[e];
              for (let e = 0, a = t.length; e < a; ++e) {
                const a = 5 * e + i,
                  s = a + 1,
                  o = a + 2,
                  c = a + 3,
                  l = a + 4;
                if (29 !== n[a] || 0 !== n[s] || 0 !== n[o] || 0 !== n[c] || 0 !== n[l])
                  throw new r.FormatError('writing to an offset that is not empty');
                const h = t[e];
                n[a] = 29;
                n[s] = (h >> 24) & 255;
                n[o] = (h >> 16) & 255;
                n[c] = (h >> 8) & 255;
                n[l] = 255 & h;
              }
            }
          }
          class CFFCompiler {
            constructor(e) {
              this.cff = e;
            }
            compile() {
              const e = this.cff,
                t = {
                  data: [],
                  length: 0,
                  add(e) {
                    this.data = this.data.concat(e);
                    this.length = this.data.length;
                  },
                },
                a = this.compileHeader(e.header);
              t.add(a);
              const n = this.compileNameIndex(e.names);
              t.add(n);
              if (e.isCIDFont && e.topDict.hasName('FontMatrix')) {
                const t = e.topDict.getByName('FontMatrix');
                e.topDict.removeByName('FontMatrix');
                for (const a of e.fdArray) {
                  let e = t.slice(0);
                  a.hasName('FontMatrix') && (e = r.Util.transform(e, a.getByName('FontMatrix')));
                  a.setByName('FontMatrix', e);
                }
              }
              const i = e.topDict.getByName('XUID');
              i && i.length > 16 && e.topDict.removeByName('XUID');
              e.topDict.setByName('charset', 0);
              let s = this.compileTopDicts([e.topDict], t.length, e.isCIDFont);
              t.add(s.output);
              const o = s.trackers[0],
                c = this.compileStringIndex(e.strings.strings);
              t.add(c);
              const l = this.compileIndex(e.globalSubrIndex);
              t.add(l);
              if (e.encoding && e.topDict.hasName('Encoding'))
                if (e.encoding.predefined) o.setEntryLocation('Encoding', [e.encoding.format], t);
                else {
                  const a = this.compileEncoding(e.encoding);
                  o.setEntryLocation('Encoding', [t.length], t);
                  t.add(a);
                }
              const h = this.compileCharset(e.charset, e.charStrings.count, e.strings, e.isCIDFont);
              o.setEntryLocation('charset', [t.length], t);
              t.add(h);
              const u = this.compileCharStrings(e.charStrings);
              o.setEntryLocation('CharStrings', [t.length], t);
              t.add(u);
              if (e.isCIDFont) {
                o.setEntryLocation('FDSelect', [t.length], t);
                const a = this.compileFDSelect(e.fdSelect);
                t.add(a);
                s = this.compileTopDicts(e.fdArray, t.length, !0);
                o.setEntryLocation('FDArray', [t.length], t);
                t.add(s.output);
                const r = s.trackers;
                this.compilePrivateDicts(e.fdArray, r, t);
              }
              this.compilePrivateDicts([e.topDict], [o], t);
              t.add([0]);
              return t.data;
            }
            encodeNumber(e) {
              return Number.isInteger(e) ? this.encodeInteger(e) : this.encodeFloat(e);
            }
            static get EncodeFloatRegExp() {
              return (0, r.shadow)(this, 'EncodeFloatRegExp', /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/);
            }
            encodeFloat(e) {
              let t = e.toString();
              const a = CFFCompiler.EncodeFloatRegExp.exec(t);
              if (a) {
                const r = parseFloat('1e' + ((a[2] ? +a[2] : 0) + a[1].length));
                t = (Math.round(e * r) / r).toString();
              }
              let r,
                n,
                i = '';
              for (r = 0, n = t.length; r < n; ++r) {
                const e = t[r];
                i += 'e' === e ? ('-' === t[++r] ? 'c' : 'b') : '.' === e ? 'a' : '-' === e ? 'e' : e;
              }
              i += 1 & i.length ? 'f' : 'ff';
              const s = [30];
              for (r = 0, n = i.length; r < n; r += 2) s.push(parseInt(i.substring(r, r + 2), 16));
              return s;
            }
            encodeInteger(e) {
              let t;
              t =
                e >= -107 && e <= 107
                  ? [e + 139]
                  : e >= 108 && e <= 1131
                  ? [247 + ((e -= 108) >> 8), 255 & e]
                  : e >= -1131 && e <= -108
                  ? [251 + ((e = -e - 108) >> 8), 255 & e]
                  : e >= -32768 && e <= 32767
                  ? [28, (e >> 8) & 255, 255 & e]
                  : [29, (e >> 24) & 255, (e >> 16) & 255, (e >> 8) & 255, 255 & e];
              return t;
            }
            compileHeader(e) {
              return [e.major, e.minor, 4, e.offSize];
            }
            compileNameIndex(e) {
              const t = new CFFIndex();
              for (const a of e) {
                const e = Math.min(a.length, 127);
                let n = new Array(e);
                for (let t = 0; t < e; t++) {
                  let e = a[t];
                  (e < '!' ||
                    e > '~' ||
                    '[' === e ||
                    ']' === e ||
                    '(' === e ||
                    ')' === e ||
                    '{' === e ||
                    '}' === e ||
                    '<' === e ||
                    '>' === e ||
                    '/' === e ||
                    '%' === e) &&
                    (e = '_');
                  n[t] = e;
                }
                n = n.join('');
                '' === n && (n = 'Bad_Font_Name');
                t.add((0, r.stringToBytes)(n));
              }
              return this.compileIndex(t);
            }
            compileTopDicts(e, t, a) {
              const r = [];
              let n = new CFFIndex();
              for (const i of e) {
                if (a) {
                  i.removeByName('CIDFontVersion');
                  i.removeByName('CIDFontRevision');
                  i.removeByName('CIDFontType');
                  i.removeByName('CIDCount');
                  i.removeByName('UIDBase');
                }
                const e = new CFFOffsetTracker(),
                  s = this.compileDict(i, e);
                r.push(e);
                n.add(s);
                e.offset(t);
              }
              n = this.compileIndex(n, r);
              return { trackers: r, output: n };
            }
            compilePrivateDicts(e, t, a) {
              for (let n = 0, i = e.length; n < i; ++n) {
                const i = e[n],
                  s = i.privateDict;
                if (!s || !i.hasName('Private')) throw new r.FormatError('There must be a private dictionary.');
                const o = new CFFOffsetTracker(),
                  c = this.compileDict(s, o);
                let l = a.length;
                o.offset(l);
                c.length || (l = 0);
                t[n].setEntryLocation('Private', [c.length, l], a);
                a.add(c);
                if (s.subrsIndex && s.hasName('Subrs')) {
                  const e = this.compileIndex(s.subrsIndex);
                  o.setEntryLocation('Subrs', [c.length], a);
                  a.add(e);
                }
              }
            }
            compileDict(e, t) {
              const a = [];
              for (const n of e.order) {
                if (!(n in e.values)) continue;
                let i = e.values[n],
                  s = e.types[n];
                Array.isArray(s) || (s = [s]);
                Array.isArray(i) || (i = [i]);
                if (0 !== i.length) {
                  for (let o = 0, c = s.length; o < c; ++o) {
                    const c = s[o],
                      l = i[o];
                    switch (c) {
                      case 'num':
                      case 'sid':
                        a.push(...this.encodeNumber(l));
                        break;
                      case 'offset':
                        const s = e.keyToNameMap[n];
                        t.isTracking(s) || t.track(s, a.length);
                        a.push(29, 0, 0, 0, 0);
                        break;
                      case 'array':
                      case 'delta':
                        a.push(...this.encodeNumber(l));
                        for (let e = 1, t = i.length; e < t; ++e) a.push(...this.encodeNumber(i[e]));
                        break;
                      default:
                        throw new r.FormatError(`Unknown data type of ${c}`);
                    }
                  }
                  a.push(...e.opcodes[n]);
                }
              }
              return a;
            }
            compileStringIndex(e) {
              const t = new CFFIndex();
              for (const a of e) t.add((0, r.stringToBytes)(a));
              return this.compileIndex(t);
            }
            compileGlobalSubrIndex() {
              const e = this.cff.globalSubrIndex;
              this.out.writeByteArray(this.compileIndex(e));
            }
            compileCharStrings(e) {
              const t = new CFFIndex();
              for (let a = 0; a < e.count; a++) {
                const r = e.get(a);
                0 !== r.length ? t.add(r) : t.add(new Uint8Array([139, 14]));
              }
              return this.compileIndex(t);
            }
            compileCharset(e, t, a, n) {
              let i;
              const s = t - 1;
              if (n) i = new Uint8Array([2, 0, 0, (s >> 8) & 255, 255 & s]);
              else {
                i = new Uint8Array(1 + 2 * s);
                i[0] = 0;
                let t = 0;
                const n = e.charset.length;
                let o = !1;
                for (let s = 1; s < i.length; s += 2) {
                  let c = 0;
                  if (t < n) {
                    const n = e.charset[t++];
                    c = a.getSID(n);
                    if (-1 === c) {
                      c = 0;
                      if (!o) {
                        o = !0;
                        (0, r.warn)(`Couldn't find ${n} in CFF strings`);
                      }
                    }
                  }
                  i[s] = (c >> 8) & 255;
                  i[s + 1] = 255 & c;
                }
              }
              return this.compileTypedArray(i);
            }
            compileEncoding(e) {
              return this.compileTypedArray(e.raw);
            }
            compileFDSelect(e) {
              const t = e.format;
              let a, r;
              switch (t) {
                case 0:
                  a = new Uint8Array(1 + e.fdSelect.length);
                  a[0] = t;
                  for (r = 0; r < e.fdSelect.length; r++) a[r + 1] = e.fdSelect[r];
                  break;
                case 3:
                  const n = 0;
                  let i = e.fdSelect[0];
                  const s = [t, 0, 0, (n >> 8) & 255, 255 & n, i];
                  for (r = 1; r < e.fdSelect.length; r++) {
                    const t = e.fdSelect[r];
                    if (t !== i) {
                      s.push((r >> 8) & 255, 255 & r, t);
                      i = t;
                    }
                  }
                  const o = (s.length - 3) / 3;
                  s[1] = (o >> 8) & 255;
                  s[2] = 255 & o;
                  s.push((r >> 8) & 255, 255 & r);
                  a = new Uint8Array(s);
              }
              return this.compileTypedArray(a);
            }
            compileTypedArray(e) {
              const t = [];
              for (let a = 0, r = e.length; a < r; ++a) t[a] = e[a];
              return t;
            }
            compileIndex(e, t = []) {
              const a = e.objects,
                r = a.length;
              if (0 === r) return [0, 0];
              const n = [(r >> 8) & 255, 255 & r];
              let i,
                s,
                o = 1;
              for (i = 0; i < r; ++i) o += a[i].length;
              s = o < 256 ? 1 : o < 65536 ? 2 : o < 16777216 ? 3 : 4;
              n.push(s);
              let c = 1;
              for (i = 0; i < r + 1; i++) {
                1 === s
                  ? n.push(255 & c)
                  : 2 === s
                  ? n.push((c >> 8) & 255, 255 & c)
                  : 3 === s
                  ? n.push((c >> 16) & 255, (c >> 8) & 255, 255 & c)
                  : n.push((c >>> 24) & 255, (c >> 16) & 255, (c >> 8) & 255, 255 & c);
                a[i] && (c += a[i].length);
              }
              for (i = 0; i < r; i++) {
                t[i] && t[i].offset(n.length);
                n.push(...a[i]);
              }
              return n;
            }
          }
          t.CFFCompiler = CFFCompiler;
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ISOAdobeCharset = t.ExpertSubsetCharset = t.ExpertCharset = void 0;
          t.ISOAdobeCharset = [
            '.notdef',
            'space',
            'exclam',
            'quotedbl',
            'numbersign',
            'dollar',
            'percent',
            'ampersand',
            'quoteright',
            'parenleft',
            'parenright',
            'asterisk',
            'plus',
            'comma',
            'hyphen',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'at',
            'A',
            'B',
            'C',
            'D',
            'E',
            'F',
            'G',
            'H',
            'I',
            'J',
            'K',
            'L',
            'M',
            'N',
            'O',
            'P',
            'Q',
            'R',
            'S',
            'T',
            'U',
            'V',
            'W',
            'X',
            'Y',
            'Z',
            'bracketleft',
            'backslash',
            'bracketright',
            'asciicircum',
            'underscore',
            'quoteleft',
            'a',
            'b',
            'c',
            'd',
            'e',
            'f',
            'g',
            'h',
            'i',
            'j',
            'k',
            'l',
            'm',
            'n',
            'o',
            'p',
            'q',
            'r',
            's',
            't',
            'u',
            'v',
            'w',
            'x',
            'y',
            'z',
            'braceleft',
            'bar',
            'braceright',
            'asciitilde',
            'exclamdown',
            'cent',
            'sterling',
            'fraction',
            'yen',
            'florin',
            'section',
            'currency',
            'quotesingle',
            'quotedblleft',
            'guillemotleft',
            'guilsinglleft',
            'guilsinglright',
            'fi',
            'fl',
            'endash',
            'dagger',
            'daggerdbl',
            'periodcentered',
            'paragraph',
            'bullet',
            'quotesinglbase',
            'quotedblbase',
            'quotedblright',
            'guillemotright',
            'ellipsis',
            'perthousand',
            'questiondown',
            'grave',
            'acute',
            'circumflex',
            'tilde',
            'macron',
            'breve',
            'dotaccent',
            'dieresis',
            'ring',
            'cedilla',
            'hungarumlaut',
            'ogonek',
            'caron',
            'emdash',
            'AE',
            'ordfeminine',
            'Lslash',
            'Oslash',
            'OE',
            'ordmasculine',
            'ae',
            'dotlessi',
            'lslash',
            'oslash',
            'oe',
            'germandbls',
            'onesuperior',
            'logicalnot',
            'mu',
            'trademark',
            'Eth',
            'onehalf',
            'plusminus',
            'Thorn',
            'onequarter',
            'divide',
            'brokenbar',
            'degree',
            'thorn',
            'threequarters',
            'twosuperior',
            'registered',
            'minus',
            'eth',
            'multiply',
            'threesuperior',
            'copyright',
            'Aacute',
            'Acircumflex',
            'Adieresis',
            'Agrave',
            'Aring',
            'Atilde',
            'Ccedilla',
            'Eacute',
            'Ecircumflex',
            'Edieresis',
            'Egrave',
            'Iacute',
            'Icircumflex',
            'Idieresis',
            'Igrave',
            'Ntilde',
            'Oacute',
            'Ocircumflex',
            'Odieresis',
            'Ograve',
            'Otilde',
            'Scaron',
            'Uacute',
            'Ucircumflex',
            'Udieresis',
            'Ugrave',
            'Yacute',
            'Ydieresis',
            'Zcaron',
            'aacute',
            'acircumflex',
            'adieresis',
            'agrave',
            'aring',
            'atilde',
            'ccedilla',
            'eacute',
            'ecircumflex',
            'edieresis',
            'egrave',
            'iacute',
            'icircumflex',
            'idieresis',
            'igrave',
            'ntilde',
            'oacute',
            'ocircumflex',
            'odieresis',
            'ograve',
            'otilde',
            'scaron',
            'uacute',
            'ucircumflex',
            'udieresis',
            'ugrave',
            'yacute',
            'ydieresis',
            'zcaron',
          ];
          t.ExpertCharset = [
            '.notdef',
            'space',
            'exclamsmall',
            'Hungarumlautsmall',
            'dollaroldstyle',
            'dollarsuperior',
            'ampersandsmall',
            'Acutesmall',
            'parenleftsuperior',
            'parenrightsuperior',
            'twodotenleader',
            'onedotenleader',
            'comma',
            'hyphen',
            'period',
            'fraction',
            'zerooldstyle',
            'oneoldstyle',
            'twooldstyle',
            'threeoldstyle',
            'fouroldstyle',
            'fiveoldstyle',
            'sixoldstyle',
            'sevenoldstyle',
            'eightoldstyle',
            'nineoldstyle',
            'colon',
            'semicolon',
            'commasuperior',
            'threequartersemdash',
            'periodsuperior',
            'questionsmall',
            'asuperior',
            'bsuperior',
            'centsuperior',
            'dsuperior',
            'esuperior',
            'isuperior',
            'lsuperior',
            'msuperior',
            'nsuperior',
            'osuperior',
            'rsuperior',
            'ssuperior',
            'tsuperior',
            'ff',
            'fi',
            'fl',
            'ffi',
            'ffl',
            'parenleftinferior',
            'parenrightinferior',
            'Circumflexsmall',
            'hyphensuperior',
            'Gravesmall',
            'Asmall',
            'Bsmall',
            'Csmall',
            'Dsmall',
            'Esmall',
            'Fsmall',
            'Gsmall',
            'Hsmall',
            'Ismall',
            'Jsmall',
            'Ksmall',
            'Lsmall',
            'Msmall',
            'Nsmall',
            'Osmall',
            'Psmall',
            'Qsmall',
            'Rsmall',
            'Ssmall',
            'Tsmall',
            'Usmall',
            'Vsmall',
            'Wsmall',
            'Xsmall',
            'Ysmall',
            'Zsmall',
            'colonmonetary',
            'onefitted',
            'rupiah',
            'Tildesmall',
            'exclamdownsmall',
            'centoldstyle',
            'Lslashsmall',
            'Scaronsmall',
            'Zcaronsmall',
            'Dieresissmall',
            'Brevesmall',
            'Caronsmall',
            'Dotaccentsmall',
            'Macronsmall',
            'figuredash',
            'hypheninferior',
            'Ogoneksmall',
            'Ringsmall',
            'Cedillasmall',
            'onequarter',
            'onehalf',
            'threequarters',
            'questiondownsmall',
            'oneeighth',
            'threeeighths',
            'fiveeighths',
            'seveneighths',
            'onethird',
            'twothirds',
            'zerosuperior',
            'onesuperior',
            'twosuperior',
            'threesuperior',
            'foursuperior',
            'fivesuperior',
            'sixsuperior',
            'sevensuperior',
            'eightsuperior',
            'ninesuperior',
            'zeroinferior',
            'oneinferior',
            'twoinferior',
            'threeinferior',
            'fourinferior',
            'fiveinferior',
            'sixinferior',
            'seveninferior',
            'eightinferior',
            'nineinferior',
            'centinferior',
            'dollarinferior',
            'periodinferior',
            'commainferior',
            'Agravesmall',
            'Aacutesmall',
            'Acircumflexsmall',
            'Atildesmall',
            'Adieresissmall',
            'Aringsmall',
            'AEsmall',
            'Ccedillasmall',
            'Egravesmall',
            'Eacutesmall',
            'Ecircumflexsmall',
            'Edieresissmall',
            'Igravesmall',
            'Iacutesmall',
            'Icircumflexsmall',
            'Idieresissmall',
            'Ethsmall',
            'Ntildesmall',
            'Ogravesmall',
            'Oacutesmall',
            'Ocircumflexsmall',
            'Otildesmall',
            'Odieresissmall',
            'OEsmall',
            'Oslashsmall',
            'Ugravesmall',
            'Uacutesmall',
            'Ucircumflexsmall',
            'Udieresissmall',
            'Yacutesmall',
            'Thornsmall',
            'Ydieresissmall',
          ];
          t.ExpertSubsetCharset = [
            '.notdef',
            'space',
            'dollaroldstyle',
            'dollarsuperior',
            'parenleftsuperior',
            'parenrightsuperior',
            'twodotenleader',
            'onedotenleader',
            'comma',
            'hyphen',
            'period',
            'fraction',
            'zerooldstyle',
            'oneoldstyle',
            'twooldstyle',
            'threeoldstyle',
            'fouroldstyle',
            'fiveoldstyle',
            'sixoldstyle',
            'sevenoldstyle',
            'eightoldstyle',
            'nineoldstyle',
            'colon',
            'semicolon',
            'commasuperior',
            'threequartersemdash',
            'periodsuperior',
            'asuperior',
            'bsuperior',
            'centsuperior',
            'dsuperior',
            'esuperior',
            'isuperior',
            'lsuperior',
            'msuperior',
            'nsuperior',
            'osuperior',
            'rsuperior',
            'ssuperior',
            'tsuperior',
            'ff',
            'fi',
            'fl',
            'ffi',
            'ffl',
            'parenleftinferior',
            'parenrightinferior',
            'hyphensuperior',
            'colonmonetary',
            'onefitted',
            'rupiah',
            'centoldstyle',
            'figuredash',
            'hypheninferior',
            'onequarter',
            'onehalf',
            'threequarters',
            'oneeighth',
            'threeeighths',
            'fiveeighths',
            'seveneighths',
            'onethird',
            'twothirds',
            'zerosuperior',
            'onesuperior',
            'twosuperior',
            'threesuperior',
            'foursuperior',
            'fivesuperior',
            'sixsuperior',
            'sevensuperior',
            'eightsuperior',
            'ninesuperior',
            'zeroinferior',
            'oneinferior',
            'twoinferior',
            'threeinferior',
            'fourinferior',
            'fiveinferior',
            'sixinferior',
            'seveninferior',
            'eightinferior',
            'nineinferior',
            'centinferior',
            'dollarinferior',
            'periodinferior',
            'commainferior',
          ];
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ZapfDingbatsEncoding =
            t.WinAnsiEncoding =
            t.SymbolSetEncoding =
            t.StandardEncoding =
            t.MacRomanEncoding =
            t.ExpertEncoding =
              void 0;
          t.getEncoding = function getEncoding(e) {
            switch (e) {
              case 'WinAnsiEncoding':
                return s;
              case 'StandardEncoding':
                return i;
              case 'MacRomanEncoding':
                return n;
              case 'SymbolSetEncoding':
                return o;
              case 'ZapfDingbatsEncoding':
                return c;
              case 'ExpertEncoding':
                return a;
              case 'MacExpertEncoding':
                return r;
              default:
                return null;
            }
          };
          const a = [
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'space',
            'exclamsmall',
            'Hungarumlautsmall',
            '',
            'dollaroldstyle',
            'dollarsuperior',
            'ampersandsmall',
            'Acutesmall',
            'parenleftsuperior',
            'parenrightsuperior',
            'twodotenleader',
            'onedotenleader',
            'comma',
            'hyphen',
            'period',
            'fraction',
            'zerooldstyle',
            'oneoldstyle',
            'twooldstyle',
            'threeoldstyle',
            'fouroldstyle',
            'fiveoldstyle',
            'sixoldstyle',
            'sevenoldstyle',
            'eightoldstyle',
            'nineoldstyle',
            'colon',
            'semicolon',
            'commasuperior',
            'threequartersemdash',
            'periodsuperior',
            'questionsmall',
            '',
            'asuperior',
            'bsuperior',
            'centsuperior',
            'dsuperior',
            'esuperior',
            '',
            '',
            '',
            'isuperior',
            '',
            '',
            'lsuperior',
            'msuperior',
            'nsuperior',
            'osuperior',
            '',
            '',
            'rsuperior',
            'ssuperior',
            'tsuperior',
            '',
            'ff',
            'fi',
            'fl',
            'ffi',
            'ffl',
            'parenleftinferior',
            '',
            'parenrightinferior',
            'Circumflexsmall',
            'hyphensuperior',
            'Gravesmall',
            'Asmall',
            'Bsmall',
            'Csmall',
            'Dsmall',
            'Esmall',
            'Fsmall',
            'Gsmall',
            'Hsmall',
            'Ismall',
            'Jsmall',
            'Ksmall',
            'Lsmall',
            'Msmall',
            'Nsmall',
            'Osmall',
            'Psmall',
            'Qsmall',
            'Rsmall',
            'Ssmall',
            'Tsmall',
            'Usmall',
            'Vsmall',
            'Wsmall',
            'Xsmall',
            'Ysmall',
            'Zsmall',
            'colonmonetary',
            'onefitted',
            'rupiah',
            'Tildesmall',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'exclamdownsmall',
            'centoldstyle',
            'Lslashsmall',
            '',
            '',
            'Scaronsmall',
            'Zcaronsmall',
            'Dieresissmall',
            'Brevesmall',
            'Caronsmall',
            '',
            'Dotaccentsmall',
            '',
            '',
            'Macronsmall',
            '',
            '',
            'figuredash',
            'hypheninferior',
            '',
            '',
            'Ogoneksmall',
            'Ringsmall',
            'Cedillasmall',
            '',
            '',
            '',
            'onequarter',
            'onehalf',
            'threequarters',
            'questiondownsmall',
            'oneeighth',
            'threeeighths',
            'fiveeighths',
            'seveneighths',
            'onethird',
            'twothirds',
            '',
            '',
            'zerosuperior',
            'onesuperior',
            'twosuperior',
            'threesuperior',
            'foursuperior',
            'fivesuperior',
            'sixsuperior',
            'sevensuperior',
            'eightsuperior',
            'ninesuperior',
            'zeroinferior',
            'oneinferior',
            'twoinferior',
            'threeinferior',
            'fourinferior',
            'fiveinferior',
            'sixinferior',
            'seveninferior',
            'eightinferior',
            'nineinferior',
            'centinferior',
            'dollarinferior',
            'periodinferior',
            'commainferior',
            'Agravesmall',
            'Aacutesmall',
            'Acircumflexsmall',
            'Atildesmall',
            'Adieresissmall',
            'Aringsmall',
            'AEsmall',
            'Ccedillasmall',
            'Egravesmall',
            'Eacutesmall',
            'Ecircumflexsmall',
            'Edieresissmall',
            'Igravesmall',
            'Iacutesmall',
            'Icircumflexsmall',
            'Idieresissmall',
            'Ethsmall',
            'Ntildesmall',
            'Ogravesmall',
            'Oacutesmall',
            'Ocircumflexsmall',
            'Otildesmall',
            'Odieresissmall',
            'OEsmall',
            'Oslashsmall',
            'Ugravesmall',
            'Uacutesmall',
            'Ucircumflexsmall',
            'Udieresissmall',
            'Yacutesmall',
            'Thornsmall',
            'Ydieresissmall',
          ];
          t.ExpertEncoding = a;
          const r = [
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              'space',
              'exclamsmall',
              'Hungarumlautsmall',
              'centoldstyle',
              'dollaroldstyle',
              'dollarsuperior',
              'ampersandsmall',
              'Acutesmall',
              'parenleftsuperior',
              'parenrightsuperior',
              'twodotenleader',
              'onedotenleader',
              'comma',
              'hyphen',
              'period',
              'fraction',
              'zerooldstyle',
              'oneoldstyle',
              'twooldstyle',
              'threeoldstyle',
              'fouroldstyle',
              'fiveoldstyle',
              'sixoldstyle',
              'sevenoldstyle',
              'eightoldstyle',
              'nineoldstyle',
              'colon',
              'semicolon',
              '',
              'threequartersemdash',
              '',
              'questionsmall',
              '',
              '',
              '',
              '',
              'Ethsmall',
              '',
              '',
              'onequarter',
              'onehalf',
              'threequarters',
              'oneeighth',
              'threeeighths',
              'fiveeighths',
              'seveneighths',
              'onethird',
              'twothirds',
              '',
              '',
              '',
              '',
              '',
              '',
              'ff',
              'fi',
              'fl',
              'ffi',
              'ffl',
              'parenleftinferior',
              '',
              'parenrightinferior',
              'Circumflexsmall',
              'hypheninferior',
              'Gravesmall',
              'Asmall',
              'Bsmall',
              'Csmall',
              'Dsmall',
              'Esmall',
              'Fsmall',
              'Gsmall',
              'Hsmall',
              'Ismall',
              'Jsmall',
              'Ksmall',
              'Lsmall',
              'Msmall',
              'Nsmall',
              'Osmall',
              'Psmall',
              'Qsmall',
              'Rsmall',
              'Ssmall',
              'Tsmall',
              'Usmall',
              'Vsmall',
              'Wsmall',
              'Xsmall',
              'Ysmall',
              'Zsmall',
              'colonmonetary',
              'onefitted',
              'rupiah',
              'Tildesmall',
              '',
              '',
              'asuperior',
              'centsuperior',
              '',
              '',
              '',
              '',
              'Aacutesmall',
              'Agravesmall',
              'Acircumflexsmall',
              'Adieresissmall',
              'Atildesmall',
              'Aringsmall',
              'Ccedillasmall',
              'Eacutesmall',
              'Egravesmall',
              'Ecircumflexsmall',
              'Edieresissmall',
              'Iacutesmall',
              'Igravesmall',
              'Icircumflexsmall',
              'Idieresissmall',
              'Ntildesmall',
              'Oacutesmall',
              'Ogravesmall',
              'Ocircumflexsmall',
              'Odieresissmall',
              'Otildesmall',
              'Uacutesmall',
              'Ugravesmall',
              'Ucircumflexsmall',
              'Udieresissmall',
              '',
              'eightsuperior',
              'fourinferior',
              'threeinferior',
              'sixinferior',
              'eightinferior',
              'seveninferior',
              'Scaronsmall',
              '',
              'centinferior',
              'twoinferior',
              '',
              'Dieresissmall',
              '',
              'Caronsmall',
              'osuperior',
              'fiveinferior',
              '',
              'commainferior',
              'periodinferior',
              'Yacutesmall',
              '',
              'dollarinferior',
              '',
              '',
              'Thornsmall',
              '',
              'nineinferior',
              'zeroinferior',
              'Zcaronsmall',
              'AEsmall',
              'Oslashsmall',
              'questiondownsmall',
              'oneinferior',
              'Lslashsmall',
              '',
              '',
              '',
              '',
              '',
              '',
              'Cedillasmall',
              '',
              '',
              '',
              '',
              '',
              'OEsmall',
              'figuredash',
              'hyphensuperior',
              '',
              '',
              '',
              '',
              'exclamdownsmall',
              '',
              'Ydieresissmall',
              '',
              'onesuperior',
              'twosuperior',
              'threesuperior',
              'foursuperior',
              'fivesuperior',
              'sixsuperior',
              'sevensuperior',
              'ninesuperior',
              'zerosuperior',
              '',
              'esuperior',
              'rsuperior',
              'tsuperior',
              '',
              '',
              'isuperior',
              'ssuperior',
              'dsuperior',
              '',
              '',
              '',
              '',
              '',
              'lsuperior',
              'Ogoneksmall',
              'Brevesmall',
              'Macronsmall',
              'bsuperior',
              'nsuperior',
              'msuperior',
              'commasuperior',
              'periodsuperior',
              'Dotaccentsmall',
              'Ringsmall',
              '',
              '',
              '',
              '',
            ],
            n = [
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              '',
              'space',
              'exclam',
              'quotedbl',
              'numbersign',
              'dollar',
              'percent',
              'ampersand',
              'quotesingle',
              'parenleft',
              'parenright',
              'asterisk',
              'plus',
              'comma',
              'hyphen',
              'period',
              'slash',
              'zero',
              'one',
              'two',
              'three',
              'four',
              'five',
              'six',
              'seven',
              'eight',
              'nine',
              'colon',
              'semicolon',
              'less',
              'equal',
              'greater',
              'question',
              'at',
              'A',
              'B',
              'C',
              'D',
              'E',
              'F',
              'G',
              'H',
              'I',
              'J',
              'K',
              'L',
              'M',
              'N',
              'O',
              'P',
              'Q',
              'R',
              'S',
              'T',
              'U',
              'V',
              'W',
              'X',
              'Y',
              'Z',
              'bracketleft',
              'backslash',
              'bracketright',
              'asciicircum',
              'underscore',
              'grave',
              'a',
              'b',
              'c',
              'd',
              'e',
              'f',
              'g',
              'h',
              'i',
              'j',
              'k',
              'l',
              'm',
              'n',
              'o',
              'p',
              'q',
              'r',
              's',
              't',
              'u',
              'v',
              'w',
              'x',
              'y',
              'z',
              'braceleft',
              'bar',
              'braceright',
              'asciitilde',
              '',
              'Adieresis',
              'Aring',
              'Ccedilla',
              'Eacute',
              'Ntilde',
              'Odieresis',
              'Udieresis',
              'aacute',
              'agrave',
              'acircumflex',
              'adieresis',
              'atilde',
              'aring',
              'ccedilla',
              'eacute',
              'egrave',
              'ecircumflex',
              'edieresis',
              'iacute',
              'igrave',
              'icircumflex',
              'idieresis',
              'ntilde',
              'oacute',
              'ograve',
              'ocircumflex',
              'odieresis',
              'otilde',
              'uacute',
              'ugrave',
              'ucircumflex',
              'udieresis',
              'dagger',
              'degree',
              'cent',
              'sterling',
              'section',
              'bullet',
              'paragraph',
              'germandbls',
              'registered',
              'copyright',
              'trademark',
              'acute',
              'dieresis',
              'notequal',
              'AE',
              'Oslash',
              'infinity',
              'plusminus',
              'lessequal',
              'greaterequal',
              'yen',
              'mu',
              'partialdiff',
              'summation',
              'product',
              'pi',
              'integral',
              'ordfeminine',
              'ordmasculine',
              'Omega',
              'ae',
              'oslash',
              'questiondown',
              'exclamdown',
              'logicalnot',
              'radical',
              'florin',
              'approxequal',
              'Delta',
              'guillemotleft',
              'guillemotright',
              'ellipsis',
              'space',
              'Agrave',
              'Atilde',
              'Otilde',
              'OE',
              'oe',
              'endash',
              'emdash',
              'quotedblleft',
              'quotedblright',
              'quoteleft',
              'quoteright',
              'divide',
              'lozenge',
              'ydieresis',
              'Ydieresis',
              'fraction',
              'currency',
              'guilsinglleft',
              'guilsinglright',
              'fi',
              'fl',
              'daggerdbl',
              'periodcentered',
              'quotesinglbase',
              'quotedblbase',
              'perthousand',
              'Acircumflex',
              'Ecircumflex',
              'Aacute',
              'Edieresis',
              'Egrave',
              'Iacute',
              'Icircumflex',
              'Idieresis',
              'Igrave',
              'Oacute',
              'Ocircumflex',
              'apple',
              'Ograve',
              'Uacute',
              'Ucircumflex',
              'Ugrave',
              'dotlessi',
              'circumflex',
              'tilde',
              'macron',
              'breve',
              'dotaccent',
              'ring',
              'cedilla',
              'hungarumlaut',
              'ogonek',
              'caron',
            ];
          t.MacRomanEncoding = n;
          const i = [
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'space',
            'exclam',
            'quotedbl',
            'numbersign',
            'dollar',
            'percent',
            'ampersand',
            'quoteright',
            'parenleft',
            'parenright',
            'asterisk',
            'plus',
            'comma',
            'hyphen',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'at',
            'A',
            'B',
            'C',
            'D',
            'E',
            'F',
            'G',
            'H',
            'I',
            'J',
            'K',
            'L',
            'M',
            'N',
            'O',
            'P',
            'Q',
            'R',
            'S',
            'T',
            'U',
            'V',
            'W',
            'X',
            'Y',
            'Z',
            'bracketleft',
            'backslash',
            'bracketright',
            'asciicircum',
            'underscore',
            'quoteleft',
            'a',
            'b',
            'c',
            'd',
            'e',
            'f',
            'g',
            'h',
            'i',
            'j',
            'k',
            'l',
            'm',
            'n',
            'o',
            'p',
            'q',
            'r',
            's',
            't',
            'u',
            'v',
            'w',
            'x',
            'y',
            'z',
            'braceleft',
            'bar',
            'braceright',
            'asciitilde',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'exclamdown',
            'cent',
            'sterling',
            'fraction',
            'yen',
            'florin',
            'section',
            'currency',
            'quotesingle',
            'quotedblleft',
            'guillemotleft',
            'guilsinglleft',
            'guilsinglright',
            'fi',
            'fl',
            '',
            'endash',
            'dagger',
            'daggerdbl',
            'periodcentered',
            '',
            'paragraph',
            'bullet',
            'quotesinglbase',
            'quotedblbase',
            'quotedblright',
            'guillemotright',
            'ellipsis',
            'perthousand',
            '',
            'questiondown',
            '',
            'grave',
            'acute',
            'circumflex',
            'tilde',
            'macron',
            'breve',
            'dotaccent',
            'dieresis',
            '',
            'ring',
            'cedilla',
            '',
            'hungarumlaut',
            'ogonek',
            'caron',
            'emdash',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'AE',
            '',
            'ordfeminine',
            '',
            '',
            '',
            '',
            'Lslash',
            'Oslash',
            'OE',
            'ordmasculine',
            '',
            '',
            '',
            '',
            '',
            'ae',
            '',
            '',
            '',
            'dotlessi',
            '',
            '',
            'lslash',
            'oslash',
            'oe',
            'germandbls',
            '',
            '',
            '',
            '',
          ];
          t.StandardEncoding = i;
          const s = [
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'space',
            'exclam',
            'quotedbl',
            'numbersign',
            'dollar',
            'percent',
            'ampersand',
            'quotesingle',
            'parenleft',
            'parenright',
            'asterisk',
            'plus',
            'comma',
            'hyphen',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'at',
            'A',
            'B',
            'C',
            'D',
            'E',
            'F',
            'G',
            'H',
            'I',
            'J',
            'K',
            'L',
            'M',
            'N',
            'O',
            'P',
            'Q',
            'R',
            'S',
            'T',
            'U',
            'V',
            'W',
            'X',
            'Y',
            'Z',
            'bracketleft',
            'backslash',
            'bracketright',
            'asciicircum',
            'underscore',
            'grave',
            'a',
            'b',
            'c',
            'd',
            'e',
            'f',
            'g',
            'h',
            'i',
            'j',
            'k',
            'l',
            'm',
            'n',
            'o',
            'p',
            'q',
            'r',
            's',
            't',
            'u',
            'v',
            'w',
            'x',
            'y',
            'z',
            'braceleft',
            'bar',
            'braceright',
            'asciitilde',
            'bullet',
            'Euro',
            'bullet',
            'quotesinglbase',
            'florin',
            'quotedblbase',
            'ellipsis',
            'dagger',
            'daggerdbl',
            'circumflex',
            'perthousand',
            'Scaron',
            'guilsinglleft',
            'OE',
            'bullet',
            'Zcaron',
            'bullet',
            'bullet',
            'quoteleft',
            'quoteright',
            'quotedblleft',
            'quotedblright',
            'bullet',
            'endash',
            'emdash',
            'tilde',
            'trademark',
            'scaron',
            'guilsinglright',
            'oe',
            'bullet',
            'zcaron',
            'Ydieresis',
            'space',
            'exclamdown',
            'cent',
            'sterling',
            'currency',
            'yen',
            'brokenbar',
            'section',
            'dieresis',
            'copyright',
            'ordfeminine',
            'guillemotleft',
            'logicalnot',
            'hyphen',
            'registered',
            'macron',
            'degree',
            'plusminus',
            'twosuperior',
            'threesuperior',
            'acute',
            'mu',
            'paragraph',
            'periodcentered',
            'cedilla',
            'onesuperior',
            'ordmasculine',
            'guillemotright',
            'onequarter',
            'onehalf',
            'threequarters',
            'questiondown',
            'Agrave',
            'Aacute',
            'Acircumflex',
            'Atilde',
            'Adieresis',
            'Aring',
            'AE',
            'Ccedilla',
            'Egrave',
            'Eacute',
            'Ecircumflex',
            'Edieresis',
            'Igrave',
            'Iacute',
            'Icircumflex',
            'Idieresis',
            'Eth',
            'Ntilde',
            'Ograve',
            'Oacute',
            'Ocircumflex',
            'Otilde',
            'Odieresis',
            'multiply',
            'Oslash',
            'Ugrave',
            'Uacute',
            'Ucircumflex',
            'Udieresis',
            'Yacute',
            'Thorn',
            'germandbls',
            'agrave',
            'aacute',
            'acircumflex',
            'atilde',
            'adieresis',
            'aring',
            'ae',
            'ccedilla',
            'egrave',
            'eacute',
            'ecircumflex',
            'edieresis',
            'igrave',
            'iacute',
            'icircumflex',
            'idieresis',
            'eth',
            'ntilde',
            'ograve',
            'oacute',
            'ocircumflex',
            'otilde',
            'odieresis',
            'divide',
            'oslash',
            'ugrave',
            'uacute',
            'ucircumflex',
            'udieresis',
            'yacute',
            'thorn',
            'ydieresis',
          ];
          t.WinAnsiEncoding = s;
          const o = [
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'space',
            'exclam',
            'universal',
            'numbersign',
            'existential',
            'percent',
            'ampersand',
            'suchthat',
            'parenleft',
            'parenright',
            'asteriskmath',
            'plus',
            'comma',
            'minus',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'congruent',
            'Alpha',
            'Beta',
            'Chi',
            'Delta',
            'Epsilon',
            'Phi',
            'Gamma',
            'Eta',
            'Iota',
            'theta1',
            'Kappa',
            'Lambda',
            'Mu',
            'Nu',
            'Omicron',
            'Pi',
            'Theta',
            'Rho',
            'Sigma',
            'Tau',
            'Upsilon',
            'sigma1',
            'Omega',
            'Xi',
            'Psi',
            'Zeta',
            'bracketleft',
            'therefore',
            'bracketright',
            'perpendicular',
            'underscore',
            'radicalex',
            'alpha',
            'beta',
            'chi',
            'delta',
            'epsilon',
            'phi',
            'gamma',
            'eta',
            'iota',
            'phi1',
            'kappa',
            'lambda',
            'mu',
            'nu',
            'omicron',
            'pi',
            'theta',
            'rho',
            'sigma',
            'tau',
            'upsilon',
            'omega1',
            'omega',
            'xi',
            'psi',
            'zeta',
            'braceleft',
            'bar',
            'braceright',
            'similar',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'Euro',
            'Upsilon1',
            'minute',
            'lessequal',
            'fraction',
            'infinity',
            'florin',
            'club',
            'diamond',
            'heart',
            'spade',
            'arrowboth',
            'arrowleft',
            'arrowup',
            'arrowright',
            'arrowdown',
            'degree',
            'plusminus',
            'second',
            'greaterequal',
            'multiply',
            'proportional',
            'partialdiff',
            'bullet',
            'divide',
            'notequal',
            'equivalence',
            'approxequal',
            'ellipsis',
            'arrowvertex',
            'arrowhorizex',
            'carriagereturn',
            'aleph',
            'Ifraktur',
            'Rfraktur',
            'weierstrass',
            'circlemultiply',
            'circleplus',
            'emptyset',
            'intersection',
            'union',
            'propersuperset',
            'reflexsuperset',
            'notsubset',
            'propersubset',
            'reflexsubset',
            'element',
            'notelement',
            'angle',
            'gradient',
            'registerserif',
            'copyrightserif',
            'trademarkserif',
            'product',
            'radical',
            'dotmath',
            'logicalnot',
            'logicaland',
            'logicalor',
            'arrowdblboth',
            'arrowdblleft',
            'arrowdblup',
            'arrowdblright',
            'arrowdbldown',
            'lozenge',
            'angleleft',
            'registersans',
            'copyrightsans',
            'trademarksans',
            'summation',
            'parenlefttp',
            'parenleftex',
            'parenleftbt',
            'bracketlefttp',
            'bracketleftex',
            'bracketleftbt',
            'bracelefttp',
            'braceleftmid',
            'braceleftbt',
            'braceex',
            '',
            'angleright',
            'integral',
            'integraltp',
            'integralex',
            'integralbt',
            'parenrighttp',
            'parenrightex',
            'parenrightbt',
            'bracketrighttp',
            'bracketrightex',
            'bracketrightbt',
            'bracerighttp',
            'bracerightmid',
            'bracerightbt',
            '',
          ];
          t.SymbolSetEncoding = o;
          const c = [
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'space',
            'a1',
            'a2',
            'a202',
            'a3',
            'a4',
            'a5',
            'a119',
            'a118',
            'a117',
            'a11',
            'a12',
            'a13',
            'a14',
            'a15',
            'a16',
            'a105',
            'a17',
            'a18',
            'a19',
            'a20',
            'a21',
            'a22',
            'a23',
            'a24',
            'a25',
            'a26',
            'a27',
            'a28',
            'a6',
            'a7',
            'a8',
            'a9',
            'a10',
            'a29',
            'a30',
            'a31',
            'a32',
            'a33',
            'a34',
            'a35',
            'a36',
            'a37',
            'a38',
            'a39',
            'a40',
            'a41',
            'a42',
            'a43',
            'a44',
            'a45',
            'a46',
            'a47',
            'a48',
            'a49',
            'a50',
            'a51',
            'a52',
            'a53',
            'a54',
            'a55',
            'a56',
            'a57',
            'a58',
            'a59',
            'a60',
            'a61',
            'a62',
            'a63',
            'a64',
            'a65',
            'a66',
            'a67',
            'a68',
            'a69',
            'a70',
            'a71',
            'a72',
            'a73',
            'a74',
            'a203',
            'a75',
            'a204',
            'a76',
            'a77',
            'a78',
            'a79',
            'a81',
            'a82',
            'a83',
            'a84',
            'a97',
            'a98',
            'a99',
            'a100',
            '',
            'a89',
            'a90',
            'a93',
            'a94',
            'a91',
            'a92',
            'a205',
            'a85',
            'a206',
            'a86',
            'a87',
            'a88',
            'a95',
            'a96',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            '',
            'a101',
            'a102',
            'a103',
            'a104',
            'a106',
            'a107',
            'a108',
            'a112',
            'a111',
            'a110',
            'a109',
            'a120',
            'a121',
            'a122',
            'a123',
            'a124',
            'a125',
            'a126',
            'a127',
            'a128',
            'a129',
            'a130',
            'a131',
            'a132',
            'a133',
            'a134',
            'a135',
            'a136',
            'a137',
            'a138',
            'a139',
            'a140',
            'a141',
            'a142',
            'a143',
            'a144',
            'a145',
            'a146',
            'a147',
            'a148',
            'a149',
            'a150',
            'a151',
            'a152',
            'a153',
            'a154',
            'a155',
            'a156',
            'a157',
            'a158',
            'a159',
            'a160',
            'a161',
            'a163',
            'a164',
            'a196',
            'a165',
            'a192',
            'a166',
            'a167',
            'a168',
            'a169',
            'a170',
            'a171',
            'a172',
            'a173',
            'a162',
            'a174',
            'a175',
            'a176',
            'a177',
            'a178',
            'a179',
            'a193',
            'a180',
            'a199',
            'a181',
            'a200',
            'a182',
            '',
            'a201',
            'a183',
            'a184',
            'a197',
            'a185',
            'a194',
            'a198',
            'a186',
            'a195',
            'a187',
            'a188',
            'a189',
            'a190',
            'a191',
            '',
          ];
          t.ZapfDingbatsEncoding = c;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.SEAC_ANALYSIS_ENABLED = t.MacStandardGlyphOrdering = t.FontFlags = void 0;
          t.normalizeFontName = function normalizeFontName(e) {
            return e.replace(/[,_]/g, '-').replace(/\s/g, '');
          };
          t.recoverGlyphName = recoverGlyphName;
          t.type1FontGlyphMapping = function type1FontGlyphMapping(e, t, a) {
            const i = Object.create(null);
            let s, c, l;
            const h = !!(e.flags & o.Symbolic);
            if (e.isInternalFont) {
              l = t;
              for (c = 0; c < l.length; c++) {
                s = a.indexOf(l[c]);
                i[c] = s >= 0 ? s : 0;
              }
            } else if (e.baseEncodingName) {
              l = (0, r.getEncoding)(e.baseEncodingName);
              for (c = 0; c < l.length; c++) {
                s = a.indexOf(l[c]);
                i[c] = s >= 0 ? s : 0;
              }
            } else if (h) for (c in t) i[c] = t[c];
            else {
              l = r.StandardEncoding;
              for (c = 0; c < l.length; c++) {
                s = a.indexOf(l[c]);
                i[c] = s >= 0 ? s : 0;
              }
            }
            const u = e.differences;
            let d;
            if (u)
              for (c in u) {
                const e = u[c];
                s = a.indexOf(e);
                if (-1 === s) {
                  d || (d = (0, n.getGlyphsUnicode)());
                  const t = recoverGlyphName(e, d);
                  t !== e && (s = a.indexOf(t));
                }
                i[c] = s >= 0 ? s : 0;
              }
            return i;
          };
          var r = a(35),
            n = a(37),
            i = a(38),
            s = a(2);
          t.SEAC_ANALYSIS_ENABLED = !0;
          const o = {
            FixedPitch: 1,
            Serif: 2,
            Symbolic: 4,
            Script: 8,
            Nonsymbolic: 32,
            Italic: 64,
            AllCap: 65536,
            SmallCap: 131072,
            ForceBold: 262144,
          };
          t.FontFlags = o;
          t.MacStandardGlyphOrdering = [
            '.notdef',
            '.null',
            'nonmarkingreturn',
            'space',
            'exclam',
            'quotedbl',
            'numbersign',
            'dollar',
            'percent',
            'ampersand',
            'quotesingle',
            'parenleft',
            'parenright',
            'asterisk',
            'plus',
            'comma',
            'hyphen',
            'period',
            'slash',
            'zero',
            'one',
            'two',
            'three',
            'four',
            'five',
            'six',
            'seven',
            'eight',
            'nine',
            'colon',
            'semicolon',
            'less',
            'equal',
            'greater',
            'question',
            'at',
            'A',
            'B',
            'C',
            'D',
            'E',
            'F',
            'G',
            'H',
            'I',
            'J',
            'K',
            'L',
            'M',
            'N',
            'O',
            'P',
            'Q',
            'R',
            'S',
            'T',
            'U',
            'V',
            'W',
            'X',
            'Y',
            'Z',
            'bracketleft',
            'backslash',
            'bracketright',
            'asciicircum',
            'underscore',
            'grave',
            'a',
            'b',
            'c',
            'd',
            'e',
            'f',
            'g',
            'h',
            'i',
            'j',
            'k',
            'l',
            'm',
            'n',
            'o',
            'p',
            'q',
            'r',
            's',
            't',
            'u',
            'v',
            'w',
            'x',
            'y',
            'z',
            'braceleft',
            'bar',
            'braceright',
            'asciitilde',
            'Adieresis',
            'Aring',
            'Ccedilla',
            'Eacute',
            'Ntilde',
            'Odieresis',
            'Udieresis',
            'aacute',
            'agrave',
            'acircumflex',
            'adieresis',
            'atilde',
            'aring',
            'ccedilla',
            'eacute',
            'egrave',
            'ecircumflex',
            'edieresis',
            'iacute',
            'igrave',
            'icircumflex',
            'idieresis',
            'ntilde',
            'oacute',
            'ograve',
            'ocircumflex',
            'odieresis',
            'otilde',
            'uacute',
            'ugrave',
            'ucircumflex',
            'udieresis',
            'dagger',
            'degree',
            'cent',
            'sterling',
            'section',
            'bullet',
            'paragraph',
            'germandbls',
            'registered',
            'copyright',
            'trademark',
            'acute',
            'dieresis',
            'notequal',
            'AE',
            'Oslash',
            'infinity',
            'plusminus',
            'lessequal',
            'greaterequal',
            'yen',
            'mu',
            'partialdiff',
            'summation',
            'product',
            'pi',
            'integral',
            'ordfeminine',
            'ordmasculine',
            'Omega',
            'ae',
            'oslash',
            'questiondown',
            'exclamdown',
            'logicalnot',
            'radical',
            'florin',
            'approxequal',
            'Delta',
            'guillemotleft',
            'guillemotright',
            'ellipsis',
            'nonbreakingspace',
            'Agrave',
            'Atilde',
            'Otilde',
            'OE',
            'oe',
            'endash',
            'emdash',
            'quotedblleft',
            'quotedblright',
            'quoteleft',
            'quoteright',
            'divide',
            'lozenge',
            'ydieresis',
            'Ydieresis',
            'fraction',
            'currency',
            'guilsinglleft',
            'guilsinglright',
            'fi',
            'fl',
            'daggerdbl',
            'periodcentered',
            'quotesinglbase',
            'quotedblbase',
            'perthousand',
            'Acircumflex',
            'Ecircumflex',
            'Aacute',
            'Edieresis',
            'Egrave',
            'Iacute',
            'Icircumflex',
            'Idieresis',
            'Igrave',
            'Oacute',
            'Ocircumflex',
            'apple',
            'Ograve',
            'Uacute',
            'Ucircumflex',
            'Ugrave',
            'dotlessi',
            'circumflex',
            'tilde',
            'macron',
            'breve',
            'dotaccent',
            'ring',
            'cedilla',
            'hungarumlaut',
            'ogonek',
            'caron',
            'Lslash',
            'lslash',
            'Scaron',
            'scaron',
            'Zcaron',
            'zcaron',
            'brokenbar',
            'Eth',
            'eth',
            'Yacute',
            'yacute',
            'Thorn',
            'thorn',
            'minus',
            'multiply',
            'onesuperior',
            'twosuperior',
            'threesuperior',
            'onehalf',
            'onequarter',
            'threequarters',
            'franc',
            'Gbreve',
            'gbreve',
            'Idotaccent',
            'Scedilla',
            'scedilla',
            'Cacute',
            'cacute',
            'Ccaron',
            'ccaron',
            'dcroat',
          ];
          function recoverGlyphName(e, t) {
            if (void 0 !== t[e]) return e;
            const a = (0, i.getUnicodeForGlyph)(e, t);
            if (-1 !== a) for (const e in t) if (t[e] === a) return e;
            (0, s.info)('Unable to recover a standard glyph name for: ' + e);
            return e;
          }
        },
        (e, t, a) => {
          a.r(t);
          a.d(t, { getDingbatsGlyphsUnicode: () => i, getGlyphsUnicode: () => n });
          var r = a(3);
          const n = (0, r.getArrayLookupTableFactory)(function () {
              return [
                'A',
                65,
                'AE',
                198,
                'AEacute',
                508,
                'AEmacron',
                482,
                'AEsmall',
                63462,
                'Aacute',
                193,
                'Aacutesmall',
                63457,
                'Abreve',
                258,
                'Abreveacute',
                7854,
                'Abrevecyrillic',
                1232,
                'Abrevedotbelow',
                7862,
                'Abrevegrave',
                7856,
                'Abrevehookabove',
                7858,
                'Abrevetilde',
                7860,
                'Acaron',
                461,
                'Acircle',
                9398,
                'Acircumflex',
                194,
                'Acircumflexacute',
                7844,
                'Acircumflexdotbelow',
                7852,
                'Acircumflexgrave',
                7846,
                'Acircumflexhookabove',
                7848,
                'Acircumflexsmall',
                63458,
                'Acircumflextilde',
                7850,
                'Acute',
                63177,
                'Acutesmall',
                63412,
                'Acyrillic',
                1040,
                'Adblgrave',
                512,
                'Adieresis',
                196,
                'Adieresiscyrillic',
                1234,
                'Adieresismacron',
                478,
                'Adieresissmall',
                63460,
                'Adotbelow',
                7840,
                'Adotmacron',
                480,
                'Agrave',
                192,
                'Agravesmall',
                63456,
                'Ahookabove',
                7842,
                'Aiecyrillic',
                1236,
                'Ainvertedbreve',
                514,
                'Alpha',
                913,
                'Alphatonos',
                902,
                'Amacron',
                256,
                'Amonospace',
                65313,
                'Aogonek',
                260,
                'Aring',
                197,
                'Aringacute',
                506,
                'Aringbelow',
                7680,
                'Aringsmall',
                63461,
                'Asmall',
                63329,
                'Atilde',
                195,
                'Atildesmall',
                63459,
                'Aybarmenian',
                1329,
                'B',
                66,
                'Bcircle',
                9399,
                'Bdotaccent',
                7682,
                'Bdotbelow',
                7684,
                'Becyrillic',
                1041,
                'Benarmenian',
                1330,
                'Beta',
                914,
                'Bhook',
                385,
                'Blinebelow',
                7686,
                'Bmonospace',
                65314,
                'Brevesmall',
                63220,
                'Bsmall',
                63330,
                'Btopbar',
                386,
                'C',
                67,
                'Caarmenian',
                1342,
                'Cacute',
                262,
                'Caron',
                63178,
                'Caronsmall',
                63221,
                'Ccaron',
                268,
                'Ccedilla',
                199,
                'Ccedillaacute',
                7688,
                'Ccedillasmall',
                63463,
                'Ccircle',
                9400,
                'Ccircumflex',
                264,
                'Cdot',
                266,
                'Cdotaccent',
                266,
                'Cedillasmall',
                63416,
                'Chaarmenian',
                1353,
                'Cheabkhasiancyrillic',
                1212,
                'Checyrillic',
                1063,
                'Chedescenderabkhasiancyrillic',
                1214,
                'Chedescendercyrillic',
                1206,
                'Chedieresiscyrillic',
                1268,
                'Cheharmenian',
                1347,
                'Chekhakassiancyrillic',
                1227,
                'Cheverticalstrokecyrillic',
                1208,
                'Chi',
                935,
                'Chook',
                391,
                'Circumflexsmall',
                63222,
                'Cmonospace',
                65315,
                'Coarmenian',
                1361,
                'Csmall',
                63331,
                'D',
                68,
                'DZ',
                497,
                'DZcaron',
                452,
                'Daarmenian',
                1332,
                'Dafrican',
                393,
                'Dcaron',
                270,
                'Dcedilla',
                7696,
                'Dcircle',
                9401,
                'Dcircumflexbelow',
                7698,
                'Dcroat',
                272,
                'Ddotaccent',
                7690,
                'Ddotbelow',
                7692,
                'Decyrillic',
                1044,
                'Deicoptic',
                1006,
                'Delta',
                8710,
                'Deltagreek',
                916,
                'Dhook',
                394,
                'Dieresis',
                63179,
                'DieresisAcute',
                63180,
                'DieresisGrave',
                63181,
                'Dieresissmall',
                63400,
                'Digammagreek',
                988,
                'Djecyrillic',
                1026,
                'Dlinebelow',
                7694,
                'Dmonospace',
                65316,
                'Dotaccentsmall',
                63223,
                'Dslash',
                272,
                'Dsmall',
                63332,
                'Dtopbar',
                395,
                'Dz',
                498,
                'Dzcaron',
                453,
                'Dzeabkhasiancyrillic',
                1248,
                'Dzecyrillic',
                1029,
                'Dzhecyrillic',
                1039,
                'E',
                69,
                'Eacute',
                201,
                'Eacutesmall',
                63465,
                'Ebreve',
                276,
                'Ecaron',
                282,
                'Ecedillabreve',
                7708,
                'Echarmenian',
                1333,
                'Ecircle',
                9402,
                'Ecircumflex',
                202,
                'Ecircumflexacute',
                7870,
                'Ecircumflexbelow',
                7704,
                'Ecircumflexdotbelow',
                7878,
                'Ecircumflexgrave',
                7872,
                'Ecircumflexhookabove',
                7874,
                'Ecircumflexsmall',
                63466,
                'Ecircumflextilde',
                7876,
                'Ecyrillic',
                1028,
                'Edblgrave',
                516,
                'Edieresis',
                203,
                'Edieresissmall',
                63467,
                'Edot',
                278,
                'Edotaccent',
                278,
                'Edotbelow',
                7864,
                'Efcyrillic',
                1060,
                'Egrave',
                200,
                'Egravesmall',
                63464,
                'Eharmenian',
                1335,
                'Ehookabove',
                7866,
                'Eightroman',
                8551,
                'Einvertedbreve',
                518,
                'Eiotifiedcyrillic',
                1124,
                'Elcyrillic',
                1051,
                'Elevenroman',
                8554,
                'Emacron',
                274,
                'Emacronacute',
                7702,
                'Emacrongrave',
                7700,
                'Emcyrillic',
                1052,
                'Emonospace',
                65317,
                'Encyrillic',
                1053,
                'Endescendercyrillic',
                1186,
                'Eng',
                330,
                'Enghecyrillic',
                1188,
                'Enhookcyrillic',
                1223,
                'Eogonek',
                280,
                'Eopen',
                400,
                'Epsilon',
                917,
                'Epsilontonos',
                904,
                'Ercyrillic',
                1056,
                'Ereversed',
                398,
                'Ereversedcyrillic',
                1069,
                'Escyrillic',
                1057,
                'Esdescendercyrillic',
                1194,
                'Esh',
                425,
                'Esmall',
                63333,
                'Eta',
                919,
                'Etarmenian',
                1336,
                'Etatonos',
                905,
                'Eth',
                208,
                'Ethsmall',
                63472,
                'Etilde',
                7868,
                'Etildebelow',
                7706,
                'Euro',
                8364,
                'Ezh',
                439,
                'Ezhcaron',
                494,
                'Ezhreversed',
                440,
                'F',
                70,
                'Fcircle',
                9403,
                'Fdotaccent',
                7710,
                'Feharmenian',
                1366,
                'Feicoptic',
                996,
                'Fhook',
                401,
                'Fitacyrillic',
                1138,
                'Fiveroman',
                8548,
                'Fmonospace',
                65318,
                'Fourroman',
                8547,
                'Fsmall',
                63334,
                'G',
                71,
                'GBsquare',
                13191,
                'Gacute',
                500,
                'Gamma',
                915,
                'Gammaafrican',
                404,
                'Gangiacoptic',
                1002,
                'Gbreve',
                286,
                'Gcaron',
                486,
                'Gcedilla',
                290,
                'Gcircle',
                9404,
                'Gcircumflex',
                284,
                'Gcommaaccent',
                290,
                'Gdot',
                288,
                'Gdotaccent',
                288,
                'Gecyrillic',
                1043,
                'Ghadarmenian',
                1346,
                'Ghemiddlehookcyrillic',
                1172,
                'Ghestrokecyrillic',
                1170,
                'Gheupturncyrillic',
                1168,
                'Ghook',
                403,
                'Gimarmenian',
                1331,
                'Gjecyrillic',
                1027,
                'Gmacron',
                7712,
                'Gmonospace',
                65319,
                'Grave',
                63182,
                'Gravesmall',
                63328,
                'Gsmall',
                63335,
                'Gsmallhook',
                667,
                'Gstroke',
                484,
                'H',
                72,
                'H18533',
                9679,
                'H18543',
                9642,
                'H18551',
                9643,
                'H22073',
                9633,
                'HPsquare',
                13259,
                'Haabkhasiancyrillic',
                1192,
                'Hadescendercyrillic',
                1202,
                'Hardsigncyrillic',
                1066,
                'Hbar',
                294,
                'Hbrevebelow',
                7722,
                'Hcedilla',
                7720,
                'Hcircle',
                9405,
                'Hcircumflex',
                292,
                'Hdieresis',
                7718,
                'Hdotaccent',
                7714,
                'Hdotbelow',
                7716,
                'Hmonospace',
                65320,
                'Hoarmenian',
                1344,
                'Horicoptic',
                1e3,
                'Hsmall',
                63336,
                'Hungarumlaut',
                63183,
                'Hungarumlautsmall',
                63224,
                'Hzsquare',
                13200,
                'I',
                73,
                'IAcyrillic',
                1071,
                'IJ',
                306,
                'IUcyrillic',
                1070,
                'Iacute',
                205,
                'Iacutesmall',
                63469,
                'Ibreve',
                300,
                'Icaron',
                463,
                'Icircle',
                9406,
                'Icircumflex',
                206,
                'Icircumflexsmall',
                63470,
                'Icyrillic',
                1030,
                'Idblgrave',
                520,
                'Idieresis',
                207,
                'Idieresisacute',
                7726,
                'Idieresiscyrillic',
                1252,
                'Idieresissmall',
                63471,
                'Idot',
                304,
                'Idotaccent',
                304,
                'Idotbelow',
                7882,
                'Iebrevecyrillic',
                1238,
                'Iecyrillic',
                1045,
                'Ifraktur',
                8465,
                'Igrave',
                204,
                'Igravesmall',
                63468,
                'Ihookabove',
                7880,
                'Iicyrillic',
                1048,
                'Iinvertedbreve',
                522,
                'Iishortcyrillic',
                1049,
                'Imacron',
                298,
                'Imacroncyrillic',
                1250,
                'Imonospace',
                65321,
                'Iniarmenian',
                1339,
                'Iocyrillic',
                1025,
                'Iogonek',
                302,
                'Iota',
                921,
                'Iotaafrican',
                406,
                'Iotadieresis',
                938,
                'Iotatonos',
                906,
                'Ismall',
                63337,
                'Istroke',
                407,
                'Itilde',
                296,
                'Itildebelow',
                7724,
                'Izhitsacyrillic',
                1140,
                'Izhitsadblgravecyrillic',
                1142,
                'J',
                74,
                'Jaarmenian',
                1345,
                'Jcircle',
                9407,
                'Jcircumflex',
                308,
                'Jecyrillic',
                1032,
                'Jheharmenian',
                1355,
                'Jmonospace',
                65322,
                'Jsmall',
                63338,
                'K',
                75,
                'KBsquare',
                13189,
                'KKsquare',
                13261,
                'Kabashkircyrillic',
                1184,
                'Kacute',
                7728,
                'Kacyrillic',
                1050,
                'Kadescendercyrillic',
                1178,
                'Kahookcyrillic',
                1219,
                'Kappa',
                922,
                'Kastrokecyrillic',
                1182,
                'Kaverticalstrokecyrillic',
                1180,
                'Kcaron',
                488,
                'Kcedilla',
                310,
                'Kcircle',
                9408,
                'Kcommaaccent',
                310,
                'Kdotbelow',
                7730,
                'Keharmenian',
                1364,
                'Kenarmenian',
                1343,
                'Khacyrillic',
                1061,
                'Kheicoptic',
                998,
                'Khook',
                408,
                'Kjecyrillic',
                1036,
                'Klinebelow',
                7732,
                'Kmonospace',
                65323,
                'Koppacyrillic',
                1152,
                'Koppagreek',
                990,
                'Ksicyrillic',
                1134,
                'Ksmall',
                63339,
                'L',
                76,
                'LJ',
                455,
                'LL',
                63167,
                'Lacute',
                313,
                'Lambda',
                923,
                'Lcaron',
                317,
                'Lcedilla',
                315,
                'Lcircle',
                9409,
                'Lcircumflexbelow',
                7740,
                'Lcommaaccent',
                315,
                'Ldot',
                319,
                'Ldotaccent',
                319,
                'Ldotbelow',
                7734,
                'Ldotbelowmacron',
                7736,
                'Liwnarmenian',
                1340,
                'Lj',
                456,
                'Ljecyrillic',
                1033,
                'Llinebelow',
                7738,
                'Lmonospace',
                65324,
                'Lslash',
                321,
                'Lslashsmall',
                63225,
                'Lsmall',
                63340,
                'M',
                77,
                'MBsquare',
                13190,
                'Macron',
                63184,
                'Macronsmall',
                63407,
                'Macute',
                7742,
                'Mcircle',
                9410,
                'Mdotaccent',
                7744,
                'Mdotbelow',
                7746,
                'Menarmenian',
                1348,
                'Mmonospace',
                65325,
                'Msmall',
                63341,
                'Mturned',
                412,
                'Mu',
                924,
                'N',
                78,
                'NJ',
                458,
                'Nacute',
                323,
                'Ncaron',
                327,
                'Ncedilla',
                325,
                'Ncircle',
                9411,
                'Ncircumflexbelow',
                7754,
                'Ncommaaccent',
                325,
                'Ndotaccent',
                7748,
                'Ndotbelow',
                7750,
                'Nhookleft',
                413,
                'Nineroman',
                8552,
                'Nj',
                459,
                'Njecyrillic',
                1034,
                'Nlinebelow',
                7752,
                'Nmonospace',
                65326,
                'Nowarmenian',
                1350,
                'Nsmall',
                63342,
                'Ntilde',
                209,
                'Ntildesmall',
                63473,
                'Nu',
                925,
                'O',
                79,
                'OE',
                338,
                'OEsmall',
                63226,
                'Oacute',
                211,
                'Oacutesmall',
                63475,
                'Obarredcyrillic',
                1256,
                'Obarreddieresiscyrillic',
                1258,
                'Obreve',
                334,
                'Ocaron',
                465,
                'Ocenteredtilde',
                415,
                'Ocircle',
                9412,
                'Ocircumflex',
                212,
                'Ocircumflexacute',
                7888,
                'Ocircumflexdotbelow',
                7896,
                'Ocircumflexgrave',
                7890,
                'Ocircumflexhookabove',
                7892,
                'Ocircumflexsmall',
                63476,
                'Ocircumflextilde',
                7894,
                'Ocyrillic',
                1054,
                'Odblacute',
                336,
                'Odblgrave',
                524,
                'Odieresis',
                214,
                'Odieresiscyrillic',
                1254,
                'Odieresissmall',
                63478,
                'Odotbelow',
                7884,
                'Ogoneksmall',
                63227,
                'Ograve',
                210,
                'Ogravesmall',
                63474,
                'Oharmenian',
                1365,
                'Ohm',
                8486,
                'Ohookabove',
                7886,
                'Ohorn',
                416,
                'Ohornacute',
                7898,
                'Ohorndotbelow',
                7906,
                'Ohorngrave',
                7900,
                'Ohornhookabove',
                7902,
                'Ohorntilde',
                7904,
                'Ohungarumlaut',
                336,
                'Oi',
                418,
                'Oinvertedbreve',
                526,
                'Omacron',
                332,
                'Omacronacute',
                7762,
                'Omacrongrave',
                7760,
                'Omega',
                8486,
                'Omegacyrillic',
                1120,
                'Omegagreek',
                937,
                'Omegaroundcyrillic',
                1146,
                'Omegatitlocyrillic',
                1148,
                'Omegatonos',
                911,
                'Omicron',
                927,
                'Omicrontonos',
                908,
                'Omonospace',
                65327,
                'Oneroman',
                8544,
                'Oogonek',
                490,
                'Oogonekmacron',
                492,
                'Oopen',
                390,
                'Oslash',
                216,
                'Oslashacute',
                510,
                'Oslashsmall',
                63480,
                'Osmall',
                63343,
                'Ostrokeacute',
                510,
                'Otcyrillic',
                1150,
                'Otilde',
                213,
                'Otildeacute',
                7756,
                'Otildedieresis',
                7758,
                'Otildesmall',
                63477,
                'P',
                80,
                'Pacute',
                7764,
                'Pcircle',
                9413,
                'Pdotaccent',
                7766,
                'Pecyrillic',
                1055,
                'Peharmenian',
                1354,
                'Pemiddlehookcyrillic',
                1190,
                'Phi',
                934,
                'Phook',
                420,
                'Pi',
                928,
                'Piwrarmenian',
                1363,
                'Pmonospace',
                65328,
                'Psi',
                936,
                'Psicyrillic',
                1136,
                'Psmall',
                63344,
                'Q',
                81,
                'Qcircle',
                9414,
                'Qmonospace',
                65329,
                'Qsmall',
                63345,
                'R',
                82,
                'Raarmenian',
                1356,
                'Racute',
                340,
                'Rcaron',
                344,
                'Rcedilla',
                342,
                'Rcircle',
                9415,
                'Rcommaaccent',
                342,
                'Rdblgrave',
                528,
                'Rdotaccent',
                7768,
                'Rdotbelow',
                7770,
                'Rdotbelowmacron',
                7772,
                'Reharmenian',
                1360,
                'Rfraktur',
                8476,
                'Rho',
                929,
                'Ringsmall',
                63228,
                'Rinvertedbreve',
                530,
                'Rlinebelow',
                7774,
                'Rmonospace',
                65330,
                'Rsmall',
                63346,
                'Rsmallinverted',
                641,
                'Rsmallinvertedsuperior',
                694,
                'S',
                83,
                'SF010000',
                9484,
                'SF020000',
                9492,
                'SF030000',
                9488,
                'SF040000',
                9496,
                'SF050000',
                9532,
                'SF060000',
                9516,
                'SF070000',
                9524,
                'SF080000',
                9500,
                'SF090000',
                9508,
                'SF100000',
                9472,
                'SF110000',
                9474,
                'SF190000',
                9569,
                'SF200000',
                9570,
                'SF210000',
                9558,
                'SF220000',
                9557,
                'SF230000',
                9571,
                'SF240000',
                9553,
                'SF250000',
                9559,
                'SF260000',
                9565,
                'SF270000',
                9564,
                'SF280000',
                9563,
                'SF360000',
                9566,
                'SF370000',
                9567,
                'SF380000',
                9562,
                'SF390000',
                9556,
                'SF400000',
                9577,
                'SF410000',
                9574,
                'SF420000',
                9568,
                'SF430000',
                9552,
                'SF440000',
                9580,
                'SF450000',
                9575,
                'SF460000',
                9576,
                'SF470000',
                9572,
                'SF480000',
                9573,
                'SF490000',
                9561,
                'SF500000',
                9560,
                'SF510000',
                9554,
                'SF520000',
                9555,
                'SF530000',
                9579,
                'SF540000',
                9578,
                'Sacute',
                346,
                'Sacutedotaccent',
                7780,
                'Sampigreek',
                992,
                'Scaron',
                352,
                'Scarondotaccent',
                7782,
                'Scaronsmall',
                63229,
                'Scedilla',
                350,
                'Schwa',
                399,
                'Schwacyrillic',
                1240,
                'Schwadieresiscyrillic',
                1242,
                'Scircle',
                9416,
                'Scircumflex',
                348,
                'Scommaaccent',
                536,
                'Sdotaccent',
                7776,
                'Sdotbelow',
                7778,
                'Sdotbelowdotaccent',
                7784,
                'Seharmenian',
                1357,
                'Sevenroman',
                8550,
                'Shaarmenian',
                1351,
                'Shacyrillic',
                1064,
                'Shchacyrillic',
                1065,
                'Sheicoptic',
                994,
                'Shhacyrillic',
                1210,
                'Shimacoptic',
                1004,
                'Sigma',
                931,
                'Sixroman',
                8549,
                'Smonospace',
                65331,
                'Softsigncyrillic',
                1068,
                'Ssmall',
                63347,
                'Stigmagreek',
                986,
                'T',
                84,
                'Tau',
                932,
                'Tbar',
                358,
                'Tcaron',
                356,
                'Tcedilla',
                354,
                'Tcircle',
                9417,
                'Tcircumflexbelow',
                7792,
                'Tcommaaccent',
                354,
                'Tdotaccent',
                7786,
                'Tdotbelow',
                7788,
                'Tecyrillic',
                1058,
                'Tedescendercyrillic',
                1196,
                'Tenroman',
                8553,
                'Tetsecyrillic',
                1204,
                'Theta',
                920,
                'Thook',
                428,
                'Thorn',
                222,
                'Thornsmall',
                63486,
                'Threeroman',
                8546,
                'Tildesmall',
                63230,
                'Tiwnarmenian',
                1359,
                'Tlinebelow',
                7790,
                'Tmonospace',
                65332,
                'Toarmenian',
                1337,
                'Tonefive',
                444,
                'Tonesix',
                388,
                'Tonetwo',
                423,
                'Tretroflexhook',
                430,
                'Tsecyrillic',
                1062,
                'Tshecyrillic',
                1035,
                'Tsmall',
                63348,
                'Twelveroman',
                8555,
                'Tworoman',
                8545,
                'U',
                85,
                'Uacute',
                218,
                'Uacutesmall',
                63482,
                'Ubreve',
                364,
                'Ucaron',
                467,
                'Ucircle',
                9418,
                'Ucircumflex',
                219,
                'Ucircumflexbelow',
                7798,
                'Ucircumflexsmall',
                63483,
                'Ucyrillic',
                1059,
                'Udblacute',
                368,
                'Udblgrave',
                532,
                'Udieresis',
                220,
                'Udieresisacute',
                471,
                'Udieresisbelow',
                7794,
                'Udieresiscaron',
                473,
                'Udieresiscyrillic',
                1264,
                'Udieresisgrave',
                475,
                'Udieresismacron',
                469,
                'Udieresissmall',
                63484,
                'Udotbelow',
                7908,
                'Ugrave',
                217,
                'Ugravesmall',
                63481,
                'Uhookabove',
                7910,
                'Uhorn',
                431,
                'Uhornacute',
                7912,
                'Uhorndotbelow',
                7920,
                'Uhorngrave',
                7914,
                'Uhornhookabove',
                7916,
                'Uhorntilde',
                7918,
                'Uhungarumlaut',
                368,
                'Uhungarumlautcyrillic',
                1266,
                'Uinvertedbreve',
                534,
                'Ukcyrillic',
                1144,
                'Umacron',
                362,
                'Umacroncyrillic',
                1262,
                'Umacrondieresis',
                7802,
                'Umonospace',
                65333,
                'Uogonek',
                370,
                'Upsilon',
                933,
                'Upsilon1',
                978,
                'Upsilonacutehooksymbolgreek',
                979,
                'Upsilonafrican',
                433,
                'Upsilondieresis',
                939,
                'Upsilondieresishooksymbolgreek',
                980,
                'Upsilonhooksymbol',
                978,
                'Upsilontonos',
                910,
                'Uring',
                366,
                'Ushortcyrillic',
                1038,
                'Usmall',
                63349,
                'Ustraightcyrillic',
                1198,
                'Ustraightstrokecyrillic',
                1200,
                'Utilde',
                360,
                'Utildeacute',
                7800,
                'Utildebelow',
                7796,
                'V',
                86,
                'Vcircle',
                9419,
                'Vdotbelow',
                7806,
                'Vecyrillic',
                1042,
                'Vewarmenian',
                1358,
                'Vhook',
                434,
                'Vmonospace',
                65334,
                'Voarmenian',
                1352,
                'Vsmall',
                63350,
                'Vtilde',
                7804,
                'W',
                87,
                'Wacute',
                7810,
                'Wcircle',
                9420,
                'Wcircumflex',
                372,
                'Wdieresis',
                7812,
                'Wdotaccent',
                7814,
                'Wdotbelow',
                7816,
                'Wgrave',
                7808,
                'Wmonospace',
                65335,
                'Wsmall',
                63351,
                'X',
                88,
                'Xcircle',
                9421,
                'Xdieresis',
                7820,
                'Xdotaccent',
                7818,
                'Xeharmenian',
                1341,
                'Xi',
                926,
                'Xmonospace',
                65336,
                'Xsmall',
                63352,
                'Y',
                89,
                'Yacute',
                221,
                'Yacutesmall',
                63485,
                'Yatcyrillic',
                1122,
                'Ycircle',
                9422,
                'Ycircumflex',
                374,
                'Ydieresis',
                376,
                'Ydieresissmall',
                63487,
                'Ydotaccent',
                7822,
                'Ydotbelow',
                7924,
                'Yericyrillic',
                1067,
                'Yerudieresiscyrillic',
                1272,
                'Ygrave',
                7922,
                'Yhook',
                435,
                'Yhookabove',
                7926,
                'Yiarmenian',
                1349,
                'Yicyrillic',
                1031,
                'Yiwnarmenian',
                1362,
                'Ymonospace',
                65337,
                'Ysmall',
                63353,
                'Ytilde',
                7928,
                'Yusbigcyrillic',
                1130,
                'Yusbigiotifiedcyrillic',
                1132,
                'Yuslittlecyrillic',
                1126,
                'Yuslittleiotifiedcyrillic',
                1128,
                'Z',
                90,
                'Zaarmenian',
                1334,
                'Zacute',
                377,
                'Zcaron',
                381,
                'Zcaronsmall',
                63231,
                'Zcircle',
                9423,
                'Zcircumflex',
                7824,
                'Zdot',
                379,
                'Zdotaccent',
                379,
                'Zdotbelow',
                7826,
                'Zecyrillic',
                1047,
                'Zedescendercyrillic',
                1176,
                'Zedieresiscyrillic',
                1246,
                'Zeta',
                918,
                'Zhearmenian',
                1338,
                'Zhebrevecyrillic',
                1217,
                'Zhecyrillic',
                1046,
                'Zhedescendercyrillic',
                1174,
                'Zhedieresiscyrillic',
                1244,
                'Zlinebelow',
                7828,
                'Zmonospace',
                65338,
                'Zsmall',
                63354,
                'Zstroke',
                437,
                'a',
                97,
                'aabengali',
                2438,
                'aacute',
                225,
                'aadeva',
                2310,
                'aagujarati',
                2694,
                'aagurmukhi',
                2566,
                'aamatragurmukhi',
                2622,
                'aarusquare',
                13059,
                'aavowelsignbengali',
                2494,
                'aavowelsigndeva',
                2366,
                'aavowelsigngujarati',
                2750,
                'abbreviationmarkarmenian',
                1375,
                'abbreviationsigndeva',
                2416,
                'abengali',
                2437,
                'abopomofo',
                12570,
                'abreve',
                259,
                'abreveacute',
                7855,
                'abrevecyrillic',
                1233,
                'abrevedotbelow',
                7863,
                'abrevegrave',
                7857,
                'abrevehookabove',
                7859,
                'abrevetilde',
                7861,
                'acaron',
                462,
                'acircle',
                9424,
                'acircumflex',
                226,
                'acircumflexacute',
                7845,
                'acircumflexdotbelow',
                7853,
                'acircumflexgrave',
                7847,
                'acircumflexhookabove',
                7849,
                'acircumflextilde',
                7851,
                'acute',
                180,
                'acutebelowcmb',
                791,
                'acutecmb',
                769,
                'acutecomb',
                769,
                'acutedeva',
                2388,
                'acutelowmod',
                719,
                'acutetonecmb',
                833,
                'acyrillic',
                1072,
                'adblgrave',
                513,
                'addakgurmukhi',
                2673,
                'adeva',
                2309,
                'adieresis',
                228,
                'adieresiscyrillic',
                1235,
                'adieresismacron',
                479,
                'adotbelow',
                7841,
                'adotmacron',
                481,
                'ae',
                230,
                'aeacute',
                509,
                'aekorean',
                12624,
                'aemacron',
                483,
                'afii00208',
                8213,
                'afii08941',
                8356,
                'afii10017',
                1040,
                'afii10018',
                1041,
                'afii10019',
                1042,
                'afii10020',
                1043,
                'afii10021',
                1044,
                'afii10022',
                1045,
                'afii10023',
                1025,
                'afii10024',
                1046,
                'afii10025',
                1047,
                'afii10026',
                1048,
                'afii10027',
                1049,
                'afii10028',
                1050,
                'afii10029',
                1051,
                'afii10030',
                1052,
                'afii10031',
                1053,
                'afii10032',
                1054,
                'afii10033',
                1055,
                'afii10034',
                1056,
                'afii10035',
                1057,
                'afii10036',
                1058,
                'afii10037',
                1059,
                'afii10038',
                1060,
                'afii10039',
                1061,
                'afii10040',
                1062,
                'afii10041',
                1063,
                'afii10042',
                1064,
                'afii10043',
                1065,
                'afii10044',
                1066,
                'afii10045',
                1067,
                'afii10046',
                1068,
                'afii10047',
                1069,
                'afii10048',
                1070,
                'afii10049',
                1071,
                'afii10050',
                1168,
                'afii10051',
                1026,
                'afii10052',
                1027,
                'afii10053',
                1028,
                'afii10054',
                1029,
                'afii10055',
                1030,
                'afii10056',
                1031,
                'afii10057',
                1032,
                'afii10058',
                1033,
                'afii10059',
                1034,
                'afii10060',
                1035,
                'afii10061',
                1036,
                'afii10062',
                1038,
                'afii10063',
                63172,
                'afii10064',
                63173,
                'afii10065',
                1072,
                'afii10066',
                1073,
                'afii10067',
                1074,
                'afii10068',
                1075,
                'afii10069',
                1076,
                'afii10070',
                1077,
                'afii10071',
                1105,
                'afii10072',
                1078,
                'afii10073',
                1079,
                'afii10074',
                1080,
                'afii10075',
                1081,
                'afii10076',
                1082,
                'afii10077',
                1083,
                'afii10078',
                1084,
                'afii10079',
                1085,
                'afii10080',
                1086,
                'afii10081',
                1087,
                'afii10082',
                1088,
                'afii10083',
                1089,
                'afii10084',
                1090,
                'afii10085',
                1091,
                'afii10086',
                1092,
                'afii10087',
                1093,
                'afii10088',
                1094,
                'afii10089',
                1095,
                'afii10090',
                1096,
                'afii10091',
                1097,
                'afii10092',
                1098,
                'afii10093',
                1099,
                'afii10094',
                1100,
                'afii10095',
                1101,
                'afii10096',
                1102,
                'afii10097',
                1103,
                'afii10098',
                1169,
                'afii10099',
                1106,
                'afii10100',
                1107,
                'afii10101',
                1108,
                'afii10102',
                1109,
                'afii10103',
                1110,
                'afii10104',
                1111,
                'afii10105',
                1112,
                'afii10106',
                1113,
                'afii10107',
                1114,
                'afii10108',
                1115,
                'afii10109',
                1116,
                'afii10110',
                1118,
                'afii10145',
                1039,
                'afii10146',
                1122,
                'afii10147',
                1138,
                'afii10148',
                1140,
                'afii10192',
                63174,
                'afii10193',
                1119,
                'afii10194',
                1123,
                'afii10195',
                1139,
                'afii10196',
                1141,
                'afii10831',
                63175,
                'afii10832',
                63176,
                'afii10846',
                1241,
                'afii299',
                8206,
                'afii300',
                8207,
                'afii301',
                8205,
                'afii57381',
                1642,
                'afii57388',
                1548,
                'afii57392',
                1632,
                'afii57393',
                1633,
                'afii57394',
                1634,
                'afii57395',
                1635,
                'afii57396',
                1636,
                'afii57397',
                1637,
                'afii57398',
                1638,
                'afii57399',
                1639,
                'afii57400',
                1640,
                'afii57401',
                1641,
                'afii57403',
                1563,
                'afii57407',
                1567,
                'afii57409',
                1569,
                'afii57410',
                1570,
                'afii57411',
                1571,
                'afii57412',
                1572,
                'afii57413',
                1573,
                'afii57414',
                1574,
                'afii57415',
                1575,
                'afii57416',
                1576,
                'afii57417',
                1577,
                'afii57418',
                1578,
                'afii57419',
                1579,
                'afii57420',
                1580,
                'afii57421',
                1581,
                'afii57422',
                1582,
                'afii57423',
                1583,
                'afii57424',
                1584,
                'afii57425',
                1585,
                'afii57426',
                1586,
                'afii57427',
                1587,
                'afii57428',
                1588,
                'afii57429',
                1589,
                'afii57430',
                1590,
                'afii57431',
                1591,
                'afii57432',
                1592,
                'afii57433',
                1593,
                'afii57434',
                1594,
                'afii57440',
                1600,
                'afii57441',
                1601,
                'afii57442',
                1602,
                'afii57443',
                1603,
                'afii57444',
                1604,
                'afii57445',
                1605,
                'afii57446',
                1606,
                'afii57448',
                1608,
                'afii57449',
                1609,
                'afii57450',
                1610,
                'afii57451',
                1611,
                'afii57452',
                1612,
                'afii57453',
                1613,
                'afii57454',
                1614,
                'afii57455',
                1615,
                'afii57456',
                1616,
                'afii57457',
                1617,
                'afii57458',
                1618,
                'afii57470',
                1607,
                'afii57505',
                1700,
                'afii57506',
                1662,
                'afii57507',
                1670,
                'afii57508',
                1688,
                'afii57509',
                1711,
                'afii57511',
                1657,
                'afii57512',
                1672,
                'afii57513',
                1681,
                'afii57514',
                1722,
                'afii57519',
                1746,
                'afii57534',
                1749,
                'afii57636',
                8362,
                'afii57645',
                1470,
                'afii57658',
                1475,
                'afii57664',
                1488,
                'afii57665',
                1489,
                'afii57666',
                1490,
                'afii57667',
                1491,
                'afii57668',
                1492,
                'afii57669',
                1493,
                'afii57670',
                1494,
                'afii57671',
                1495,
                'afii57672',
                1496,
                'afii57673',
                1497,
                'afii57674',
                1498,
                'afii57675',
                1499,
                'afii57676',
                1500,
                'afii57677',
                1501,
                'afii57678',
                1502,
                'afii57679',
                1503,
                'afii57680',
                1504,
                'afii57681',
                1505,
                'afii57682',
                1506,
                'afii57683',
                1507,
                'afii57684',
                1508,
                'afii57685',
                1509,
                'afii57686',
                1510,
                'afii57687',
                1511,
                'afii57688',
                1512,
                'afii57689',
                1513,
                'afii57690',
                1514,
                'afii57694',
                64298,
                'afii57695',
                64299,
                'afii57700',
                64331,
                'afii57705',
                64287,
                'afii57716',
                1520,
                'afii57717',
                1521,
                'afii57718',
                1522,
                'afii57723',
                64309,
                'afii57793',
                1460,
                'afii57794',
                1461,
                'afii57795',
                1462,
                'afii57796',
                1467,
                'afii57797',
                1464,
                'afii57798',
                1463,
                'afii57799',
                1456,
                'afii57800',
                1458,
                'afii57801',
                1457,
                'afii57802',
                1459,
                'afii57803',
                1474,
                'afii57804',
                1473,
                'afii57806',
                1465,
                'afii57807',
                1468,
                'afii57839',
                1469,
                'afii57841',
                1471,
                'afii57842',
                1472,
                'afii57929',
                700,
                'afii61248',
                8453,
                'afii61289',
                8467,
                'afii61352',
                8470,
                'afii61573',
                8236,
                'afii61574',
                8237,
                'afii61575',
                8238,
                'afii61664',
                8204,
                'afii63167',
                1645,
                'afii64937',
                701,
                'agrave',
                224,
                'agujarati',
                2693,
                'agurmukhi',
                2565,
                'ahiragana',
                12354,
                'ahookabove',
                7843,
                'aibengali',
                2448,
                'aibopomofo',
                12574,
                'aideva',
                2320,
                'aiecyrillic',
                1237,
                'aigujarati',
                2704,
                'aigurmukhi',
                2576,
                'aimatragurmukhi',
                2632,
                'ainarabic',
                1593,
                'ainfinalarabic',
                65226,
                'aininitialarabic',
                65227,
                'ainmedialarabic',
                65228,
                'ainvertedbreve',
                515,
                'aivowelsignbengali',
                2504,
                'aivowelsigndeva',
                2376,
                'aivowelsigngujarati',
                2760,
                'akatakana',
                12450,
                'akatakanahalfwidth',
                65393,
                'akorean',
                12623,
                'alef',
                1488,
                'alefarabic',
                1575,
                'alefdageshhebrew',
                64304,
                'aleffinalarabic',
                65166,
                'alefhamzaabovearabic',
                1571,
                'alefhamzaabovefinalarabic',
                65156,
                'alefhamzabelowarabic',
                1573,
                'alefhamzabelowfinalarabic',
                65160,
                'alefhebrew',
                1488,
                'aleflamedhebrew',
                64335,
                'alefmaddaabovearabic',
                1570,
                'alefmaddaabovefinalarabic',
                65154,
                'alefmaksuraarabic',
                1609,
                'alefmaksurafinalarabic',
                65264,
                'alefmaksurainitialarabic',
                65267,
                'alefmaksuramedialarabic',
                65268,
                'alefpatahhebrew',
                64302,
                'alefqamatshebrew',
                64303,
                'aleph',
                8501,
                'allequal',
                8780,
                'alpha',
                945,
                'alphatonos',
                940,
                'amacron',
                257,
                'amonospace',
                65345,
                'ampersand',
                38,
                'ampersandmonospace',
                65286,
                'ampersandsmall',
                63270,
                'amsquare',
                13250,
                'anbopomofo',
                12578,
                'angbopomofo',
                12580,
                'angbracketleft',
                12296,
                'angbracketright',
                12297,
                'angkhankhuthai',
                3674,
                'angle',
                8736,
                'anglebracketleft',
                12296,
                'anglebracketleftvertical',
                65087,
                'anglebracketright',
                12297,
                'anglebracketrightvertical',
                65088,
                'angleleft',
                9001,
                'angleright',
                9002,
                'angstrom',
                8491,
                'anoteleia',
                903,
                'anudattadeva',
                2386,
                'anusvarabengali',
                2434,
                'anusvaradeva',
                2306,
                'anusvaragujarati',
                2690,
                'aogonek',
                261,
                'apaatosquare',
                13056,
                'aparen',
                9372,
                'apostrophearmenian',
                1370,
                'apostrophemod',
                700,
                'apple',
                63743,
                'approaches',
                8784,
                'approxequal',
                8776,
                'approxequalorimage',
                8786,
                'approximatelyequal',
                8773,
                'araeaekorean',
                12686,
                'araeakorean',
                12685,
                'arc',
                8978,
                'arighthalfring',
                7834,
                'aring',
                229,
                'aringacute',
                507,
                'aringbelow',
                7681,
                'arrowboth',
                8596,
                'arrowdashdown',
                8675,
                'arrowdashleft',
                8672,
                'arrowdashright',
                8674,
                'arrowdashup',
                8673,
                'arrowdblboth',
                8660,
                'arrowdbldown',
                8659,
                'arrowdblleft',
                8656,
                'arrowdblright',
                8658,
                'arrowdblup',
                8657,
                'arrowdown',
                8595,
                'arrowdownleft',
                8601,
                'arrowdownright',
                8600,
                'arrowdownwhite',
                8681,
                'arrowheaddownmod',
                709,
                'arrowheadleftmod',
                706,
                'arrowheadrightmod',
                707,
                'arrowheadupmod',
                708,
                'arrowhorizex',
                63719,
                'arrowleft',
                8592,
                'arrowleftdbl',
                8656,
                'arrowleftdblstroke',
                8653,
                'arrowleftoverright',
                8646,
                'arrowleftwhite',
                8678,
                'arrowright',
                8594,
                'arrowrightdblstroke',
                8655,
                'arrowrightheavy',
                10142,
                'arrowrightoverleft',
                8644,
                'arrowrightwhite',
                8680,
                'arrowtableft',
                8676,
                'arrowtabright',
                8677,
                'arrowup',
                8593,
                'arrowupdn',
                8597,
                'arrowupdnbse',
                8616,
                'arrowupdownbase',
                8616,
                'arrowupleft',
                8598,
                'arrowupleftofdown',
                8645,
                'arrowupright',
                8599,
                'arrowupwhite',
                8679,
                'arrowvertex',
                63718,
                'asciicircum',
                94,
                'asciicircummonospace',
                65342,
                'asciitilde',
                126,
                'asciitildemonospace',
                65374,
                'ascript',
                593,
                'ascriptturned',
                594,
                'asmallhiragana',
                12353,
                'asmallkatakana',
                12449,
                'asmallkatakanahalfwidth',
                65383,
                'asterisk',
                42,
                'asteriskaltonearabic',
                1645,
                'asteriskarabic',
                1645,
                'asteriskmath',
                8727,
                'asteriskmonospace',
                65290,
                'asterisksmall',
                65121,
                'asterism',
                8258,
                'asuperior',
                63209,
                'asymptoticallyequal',
                8771,
                'at',
                64,
                'atilde',
                227,
                'atmonospace',
                65312,
                'atsmall',
                65131,
                'aturned',
                592,
                'aubengali',
                2452,
                'aubopomofo',
                12576,
                'audeva',
                2324,
                'augujarati',
                2708,
                'augurmukhi',
                2580,
                'aulengthmarkbengali',
                2519,
                'aumatragurmukhi',
                2636,
                'auvowelsignbengali',
                2508,
                'auvowelsigndeva',
                2380,
                'auvowelsigngujarati',
                2764,
                'avagrahadeva',
                2365,
                'aybarmenian',
                1377,
                'ayin',
                1506,
                'ayinaltonehebrew',
                64288,
                'ayinhebrew',
                1506,
                'b',
                98,
                'babengali',
                2476,
                'backslash',
                92,
                'backslashmonospace',
                65340,
                'badeva',
                2348,
                'bagujarati',
                2732,
                'bagurmukhi',
                2604,
                'bahiragana',
                12400,
                'bahtthai',
                3647,
                'bakatakana',
                12496,
                'bar',
                124,
                'barmonospace',
                65372,
                'bbopomofo',
                12549,
                'bcircle',
                9425,
                'bdotaccent',
                7683,
                'bdotbelow',
                7685,
                'beamedsixteenthnotes',
                9836,
                'because',
                8757,
                'becyrillic',
                1073,
                'beharabic',
                1576,
                'behfinalarabic',
                65168,
                'behinitialarabic',
                65169,
                'behiragana',
                12409,
                'behmedialarabic',
                65170,
                'behmeeminitialarabic',
                64671,
                'behmeemisolatedarabic',
                64520,
                'behnoonfinalarabic',
                64621,
                'bekatakana',
                12505,
                'benarmenian',
                1378,
                'bet',
                1489,
                'beta',
                946,
                'betasymbolgreek',
                976,
                'betdagesh',
                64305,
                'betdageshhebrew',
                64305,
                'bethebrew',
                1489,
                'betrafehebrew',
                64332,
                'bhabengali',
                2477,
                'bhadeva',
                2349,
                'bhagujarati',
                2733,
                'bhagurmukhi',
                2605,
                'bhook',
                595,
                'bihiragana',
                12403,
                'bikatakana',
                12499,
                'bilabialclick',
                664,
                'bindigurmukhi',
                2562,
                'birusquare',
                13105,
                'blackcircle',
                9679,
                'blackdiamond',
                9670,
                'blackdownpointingtriangle',
                9660,
                'blackleftpointingpointer',
                9668,
                'blackleftpointingtriangle',
                9664,
                'blacklenticularbracketleft',
                12304,
                'blacklenticularbracketleftvertical',
                65083,
                'blacklenticularbracketright',
                12305,
                'blacklenticularbracketrightvertical',
                65084,
                'blacklowerlefttriangle',
                9699,
                'blacklowerrighttriangle',
                9698,
                'blackrectangle',
                9644,
                'blackrightpointingpointer',
                9658,
                'blackrightpointingtriangle',
                9654,
                'blacksmallsquare',
                9642,
                'blacksmilingface',
                9787,
                'blacksquare',
                9632,
                'blackstar',
                9733,
                'blackupperlefttriangle',
                9700,
                'blackupperrighttriangle',
                9701,
                'blackuppointingsmalltriangle',
                9652,
                'blackuppointingtriangle',
                9650,
                'blank',
                9251,
                'blinebelow',
                7687,
                'block',
                9608,
                'bmonospace',
                65346,
                'bobaimaithai',
                3610,
                'bohiragana',
                12412,
                'bokatakana',
                12508,
                'bparen',
                9373,
                'bqsquare',
                13251,
                'braceex',
                63732,
                'braceleft',
                123,
                'braceleftbt',
                63731,
                'braceleftmid',
                63730,
                'braceleftmonospace',
                65371,
                'braceleftsmall',
                65115,
                'bracelefttp',
                63729,
                'braceleftvertical',
                65079,
                'braceright',
                125,
                'bracerightbt',
                63742,
                'bracerightmid',
                63741,
                'bracerightmonospace',
                65373,
                'bracerightsmall',
                65116,
                'bracerighttp',
                63740,
                'bracerightvertical',
                65080,
                'bracketleft',
                91,
                'bracketleftbt',
                63728,
                'bracketleftex',
                63727,
                'bracketleftmonospace',
                65339,
                'bracketlefttp',
                63726,
                'bracketright',
                93,
                'bracketrightbt',
                63739,
                'bracketrightex',
                63738,
                'bracketrightmonospace',
                65341,
                'bracketrighttp',
                63737,
                'breve',
                728,
                'brevebelowcmb',
                814,
                'brevecmb',
                774,
                'breveinvertedbelowcmb',
                815,
                'breveinvertedcmb',
                785,
                'breveinverteddoublecmb',
                865,
                'bridgebelowcmb',
                810,
                'bridgeinvertedbelowcmb',
                826,
                'brokenbar',
                166,
                'bstroke',
                384,
                'bsuperior',
                63210,
                'btopbar',
                387,
                'buhiragana',
                12406,
                'bukatakana',
                12502,
                'bullet',
                8226,
                'bulletinverse',
                9688,
                'bulletoperator',
                8729,
                'bullseye',
                9678,
                'c',
                99,
                'caarmenian',
                1390,
                'cabengali',
                2458,
                'cacute',
                263,
                'cadeva',
                2330,
                'cagujarati',
                2714,
                'cagurmukhi',
                2586,
                'calsquare',
                13192,
                'candrabindubengali',
                2433,
                'candrabinducmb',
                784,
                'candrabindudeva',
                2305,
                'candrabindugujarati',
                2689,
                'capslock',
                8682,
                'careof',
                8453,
                'caron',
                711,
                'caronbelowcmb',
                812,
                'caroncmb',
                780,
                'carriagereturn',
                8629,
                'cbopomofo',
                12568,
                'ccaron',
                269,
                'ccedilla',
                231,
                'ccedillaacute',
                7689,
                'ccircle',
                9426,
                'ccircumflex',
                265,
                'ccurl',
                597,
                'cdot',
                267,
                'cdotaccent',
                267,
                'cdsquare',
                13253,
                'cedilla',
                184,
                'cedillacmb',
                807,
                'cent',
                162,
                'centigrade',
                8451,
                'centinferior',
                63199,
                'centmonospace',
                65504,
                'centoldstyle',
                63394,
                'centsuperior',
                63200,
                'chaarmenian',
                1401,
                'chabengali',
                2459,
                'chadeva',
                2331,
                'chagujarati',
                2715,
                'chagurmukhi',
                2587,
                'chbopomofo',
                12564,
                'cheabkhasiancyrillic',
                1213,
                'checkmark',
                10003,
                'checyrillic',
                1095,
                'chedescenderabkhasiancyrillic',
                1215,
                'chedescendercyrillic',
                1207,
                'chedieresiscyrillic',
                1269,
                'cheharmenian',
                1395,
                'chekhakassiancyrillic',
                1228,
                'cheverticalstrokecyrillic',
                1209,
                'chi',
                967,
                'chieuchacirclekorean',
                12919,
                'chieuchaparenkorean',
                12823,
                'chieuchcirclekorean',
                12905,
                'chieuchkorean',
                12618,
                'chieuchparenkorean',
                12809,
                'chochangthai',
                3594,
                'chochanthai',
                3592,
                'chochingthai',
                3593,
                'chochoethai',
                3596,
                'chook',
                392,
                'cieucacirclekorean',
                12918,
                'cieucaparenkorean',
                12822,
                'cieuccirclekorean',
                12904,
                'cieuckorean',
                12616,
                'cieucparenkorean',
                12808,
                'cieucuparenkorean',
                12828,
                'circle',
                9675,
                'circlecopyrt',
                169,
                'circlemultiply',
                8855,
                'circleot',
                8857,
                'circleplus',
                8853,
                'circlepostalmark',
                12342,
                'circlewithlefthalfblack',
                9680,
                'circlewithrighthalfblack',
                9681,
                'circumflex',
                710,
                'circumflexbelowcmb',
                813,
                'circumflexcmb',
                770,
                'clear',
                8999,
                'clickalveolar',
                450,
                'clickdental',
                448,
                'clicklateral',
                449,
                'clickretroflex',
                451,
                'club',
                9827,
                'clubsuitblack',
                9827,
                'clubsuitwhite',
                9831,
                'cmcubedsquare',
                13220,
                'cmonospace',
                65347,
                'cmsquaredsquare',
                13216,
                'coarmenian',
                1409,
                'colon',
                58,
                'colonmonetary',
                8353,
                'colonmonospace',
                65306,
                'colonsign',
                8353,
                'colonsmall',
                65109,
                'colontriangularhalfmod',
                721,
                'colontriangularmod',
                720,
                'comma',
                44,
                'commaabovecmb',
                787,
                'commaaboverightcmb',
                789,
                'commaaccent',
                63171,
                'commaarabic',
                1548,
                'commaarmenian',
                1373,
                'commainferior',
                63201,
                'commamonospace',
                65292,
                'commareversedabovecmb',
                788,
                'commareversedmod',
                701,
                'commasmall',
                65104,
                'commasuperior',
                63202,
                'commaturnedabovecmb',
                786,
                'commaturnedmod',
                699,
                'compass',
                9788,
                'congruent',
                8773,
                'contourintegral',
                8750,
                'control',
                8963,
                'controlACK',
                6,
                'controlBEL',
                7,
                'controlBS',
                8,
                'controlCAN',
                24,
                'controlCR',
                13,
                'controlDC1',
                17,
                'controlDC2',
                18,
                'controlDC3',
                19,
                'controlDC4',
                20,
                'controlDEL',
                127,
                'controlDLE',
                16,
                'controlEM',
                25,
                'controlENQ',
                5,
                'controlEOT',
                4,
                'controlESC',
                27,
                'controlETB',
                23,
                'controlETX',
                3,
                'controlFF',
                12,
                'controlFS',
                28,
                'controlGS',
                29,
                'controlHT',
                9,
                'controlLF',
                10,
                'controlNAK',
                21,
                'controlNULL',
                0,
                'controlRS',
                30,
                'controlSI',
                15,
                'controlSO',
                14,
                'controlSOT',
                2,
                'controlSTX',
                1,
                'controlSUB',
                26,
                'controlSYN',
                22,
                'controlUS',
                31,
                'controlVT',
                11,
                'copyright',
                169,
                'copyrightsans',
                63721,
                'copyrightserif',
                63193,
                'cornerbracketleft',
                12300,
                'cornerbracketlefthalfwidth',
                65378,
                'cornerbracketleftvertical',
                65089,
                'cornerbracketright',
                12301,
                'cornerbracketrighthalfwidth',
                65379,
                'cornerbracketrightvertical',
                65090,
                'corporationsquare',
                13183,
                'cosquare',
                13255,
                'coverkgsquare',
                13254,
                'cparen',
                9374,
                'cruzeiro',
                8354,
                'cstretched',
                663,
                'curlyand',
                8911,
                'curlyor',
                8910,
                'currency',
                164,
                'cyrBreve',
                63185,
                'cyrFlex',
                63186,
                'cyrbreve',
                63188,
                'cyrflex',
                63189,
                'd',
                100,
                'daarmenian',
                1380,
                'dabengali',
                2470,
                'dadarabic',
                1590,
                'dadeva',
                2342,
                'dadfinalarabic',
                65214,
                'dadinitialarabic',
                65215,
                'dadmedialarabic',
                65216,
                'dagesh',
                1468,
                'dageshhebrew',
                1468,
                'dagger',
                8224,
                'daggerdbl',
                8225,
                'dagujarati',
                2726,
                'dagurmukhi',
                2598,
                'dahiragana',
                12384,
                'dakatakana',
                12480,
                'dalarabic',
                1583,
                'dalet',
                1491,
                'daletdagesh',
                64307,
                'daletdageshhebrew',
                64307,
                'dalethebrew',
                1491,
                'dalfinalarabic',
                65194,
                'dammaarabic',
                1615,
                'dammalowarabic',
                1615,
                'dammatanaltonearabic',
                1612,
                'dammatanarabic',
                1612,
                'danda',
                2404,
                'dargahebrew',
                1447,
                'dargalefthebrew',
                1447,
                'dasiapneumatacyrilliccmb',
                1157,
                'dblGrave',
                63187,
                'dblanglebracketleft',
                12298,
                'dblanglebracketleftvertical',
                65085,
                'dblanglebracketright',
                12299,
                'dblanglebracketrightvertical',
                65086,
                'dblarchinvertedbelowcmb',
                811,
                'dblarrowleft',
                8660,
                'dblarrowright',
                8658,
                'dbldanda',
                2405,
                'dblgrave',
                63190,
                'dblgravecmb',
                783,
                'dblintegral',
                8748,
                'dbllowline',
                8215,
                'dbllowlinecmb',
                819,
                'dbloverlinecmb',
                831,
                'dblprimemod',
                698,
                'dblverticalbar',
                8214,
                'dblverticallineabovecmb',
                782,
                'dbopomofo',
                12553,
                'dbsquare',
                13256,
                'dcaron',
                271,
                'dcedilla',
                7697,
                'dcircle',
                9427,
                'dcircumflexbelow',
                7699,
                'dcroat',
                273,
                'ddabengali',
                2465,
                'ddadeva',
                2337,
                'ddagujarati',
                2721,
                'ddagurmukhi',
                2593,
                'ddalarabic',
                1672,
                'ddalfinalarabic',
                64393,
                'dddhadeva',
                2396,
                'ddhabengali',
                2466,
                'ddhadeva',
                2338,
                'ddhagujarati',
                2722,
                'ddhagurmukhi',
                2594,
                'ddotaccent',
                7691,
                'ddotbelow',
                7693,
                'decimalseparatorarabic',
                1643,
                'decimalseparatorpersian',
                1643,
                'decyrillic',
                1076,
                'degree',
                176,
                'dehihebrew',
                1453,
                'dehiragana',
                12391,
                'deicoptic',
                1007,
                'dekatakana',
                12487,
                'deleteleft',
                9003,
                'deleteright',
                8998,
                'delta',
                948,
                'deltaturned',
                397,
                'denominatorminusonenumeratorbengali',
                2552,
                'dezh',
                676,
                'dhabengali',
                2471,
                'dhadeva',
                2343,
                'dhagujarati',
                2727,
                'dhagurmukhi',
                2599,
                'dhook',
                599,
                'dialytikatonos',
                901,
                'dialytikatonoscmb',
                836,
                'diamond',
                9830,
                'diamondsuitwhite',
                9826,
                'dieresis',
                168,
                'dieresisacute',
                63191,
                'dieresisbelowcmb',
                804,
                'dieresiscmb',
                776,
                'dieresisgrave',
                63192,
                'dieresistonos',
                901,
                'dihiragana',
                12386,
                'dikatakana',
                12482,
                'dittomark',
                12291,
                'divide',
                247,
                'divides',
                8739,
                'divisionslash',
                8725,
                'djecyrillic',
                1106,
                'dkshade',
                9619,
                'dlinebelow',
                7695,
                'dlsquare',
                13207,
                'dmacron',
                273,
                'dmonospace',
                65348,
                'dnblock',
                9604,
                'dochadathai',
                3598,
                'dodekthai',
                3604,
                'dohiragana',
                12393,
                'dokatakana',
                12489,
                'dollar',
                36,
                'dollarinferior',
                63203,
                'dollarmonospace',
                65284,
                'dollaroldstyle',
                63268,
                'dollarsmall',
                65129,
                'dollarsuperior',
                63204,
                'dong',
                8363,
                'dorusquare',
                13094,
                'dotaccent',
                729,
                'dotaccentcmb',
                775,
                'dotbelowcmb',
                803,
                'dotbelowcomb',
                803,
                'dotkatakana',
                12539,
                'dotlessi',
                305,
                'dotlessj',
                63166,
                'dotlessjstrokehook',
                644,
                'dotmath',
                8901,
                'dottedcircle',
                9676,
                'doubleyodpatah',
                64287,
                'doubleyodpatahhebrew',
                64287,
                'downtackbelowcmb',
                798,
                'downtackmod',
                725,
                'dparen',
                9375,
                'dsuperior',
                63211,
                'dtail',
                598,
                'dtopbar',
                396,
                'duhiragana',
                12389,
                'dukatakana',
                12485,
                'dz',
                499,
                'dzaltone',
                675,
                'dzcaron',
                454,
                'dzcurl',
                677,
                'dzeabkhasiancyrillic',
                1249,
                'dzecyrillic',
                1109,
                'dzhecyrillic',
                1119,
                'e',
                101,
                'eacute',
                233,
                'earth',
                9793,
                'ebengali',
                2447,
                'ebopomofo',
                12572,
                'ebreve',
                277,
                'ecandradeva',
                2317,
                'ecandragujarati',
                2701,
                'ecandravowelsigndeva',
                2373,
                'ecandravowelsigngujarati',
                2757,
                'ecaron',
                283,
                'ecedillabreve',
                7709,
                'echarmenian',
                1381,
                'echyiwnarmenian',
                1415,
                'ecircle',
                9428,
                'ecircumflex',
                234,
                'ecircumflexacute',
                7871,
                'ecircumflexbelow',
                7705,
                'ecircumflexdotbelow',
                7879,
                'ecircumflexgrave',
                7873,
                'ecircumflexhookabove',
                7875,
                'ecircumflextilde',
                7877,
                'ecyrillic',
                1108,
                'edblgrave',
                517,
                'edeva',
                2319,
                'edieresis',
                235,
                'edot',
                279,
                'edotaccent',
                279,
                'edotbelow',
                7865,
                'eegurmukhi',
                2575,
                'eematragurmukhi',
                2631,
                'efcyrillic',
                1092,
                'egrave',
                232,
                'egujarati',
                2703,
                'eharmenian',
                1383,
                'ehbopomofo',
                12573,
                'ehiragana',
                12360,
                'ehookabove',
                7867,
                'eibopomofo',
                12575,
                'eight',
                56,
                'eightarabic',
                1640,
                'eightbengali',
                2542,
                'eightcircle',
                9319,
                'eightcircleinversesansserif',
                10129,
                'eightdeva',
                2414,
                'eighteencircle',
                9329,
                'eighteenparen',
                9349,
                'eighteenperiod',
                9369,
                'eightgujarati',
                2798,
                'eightgurmukhi',
                2670,
                'eighthackarabic',
                1640,
                'eighthangzhou',
                12328,
                'eighthnotebeamed',
                9835,
                'eightideographicparen',
                12839,
                'eightinferior',
                8328,
                'eightmonospace',
                65304,
                'eightoldstyle',
                63288,
                'eightparen',
                9339,
                'eightperiod',
                9359,
                'eightpersian',
                1784,
                'eightroman',
                8567,
                'eightsuperior',
                8312,
                'eightthai',
                3672,
                'einvertedbreve',
                519,
                'eiotifiedcyrillic',
                1125,
                'ekatakana',
                12456,
                'ekatakanahalfwidth',
                65396,
                'ekonkargurmukhi',
                2676,
                'ekorean',
                12628,
                'elcyrillic',
                1083,
                'element',
                8712,
                'elevencircle',
                9322,
                'elevenparen',
                9342,
                'elevenperiod',
                9362,
                'elevenroman',
                8570,
                'ellipsis',
                8230,
                'ellipsisvertical',
                8942,
                'emacron',
                275,
                'emacronacute',
                7703,
                'emacrongrave',
                7701,
                'emcyrillic',
                1084,
                'emdash',
                8212,
                'emdashvertical',
                65073,
                'emonospace',
                65349,
                'emphasismarkarmenian',
                1371,
                'emptyset',
                8709,
                'enbopomofo',
                12579,
                'encyrillic',
                1085,
                'endash',
                8211,
                'endashvertical',
                65074,
                'endescendercyrillic',
                1187,
                'eng',
                331,
                'engbopomofo',
                12581,
                'enghecyrillic',
                1189,
                'enhookcyrillic',
                1224,
                'enspace',
                8194,
                'eogonek',
                281,
                'eokorean',
                12627,
                'eopen',
                603,
                'eopenclosed',
                666,
                'eopenreversed',
                604,
                'eopenreversedclosed',
                606,
                'eopenreversedhook',
                605,
                'eparen',
                9376,
                'epsilon',
                949,
                'epsilontonos',
                941,
                'equal',
                61,
                'equalmonospace',
                65309,
                'equalsmall',
                65126,
                'equalsuperior',
                8316,
                'equivalence',
                8801,
                'erbopomofo',
                12582,
                'ercyrillic',
                1088,
                'ereversed',
                600,
                'ereversedcyrillic',
                1101,
                'escyrillic',
                1089,
                'esdescendercyrillic',
                1195,
                'esh',
                643,
                'eshcurl',
                646,
                'eshortdeva',
                2318,
                'eshortvowelsigndeva',
                2374,
                'eshreversedloop',
                426,
                'eshsquatreversed',
                645,
                'esmallhiragana',
                12359,
                'esmallkatakana',
                12455,
                'esmallkatakanahalfwidth',
                65386,
                'estimated',
                8494,
                'esuperior',
                63212,
                'eta',
                951,
                'etarmenian',
                1384,
                'etatonos',
                942,
                'eth',
                240,
                'etilde',
                7869,
                'etildebelow',
                7707,
                'etnahtafoukhhebrew',
                1425,
                'etnahtafoukhlefthebrew',
                1425,
                'etnahtahebrew',
                1425,
                'etnahtalefthebrew',
                1425,
                'eturned',
                477,
                'eukorean',
                12641,
                'euro',
                8364,
                'evowelsignbengali',
                2503,
                'evowelsigndeva',
                2375,
                'evowelsigngujarati',
                2759,
                'exclam',
                33,
                'exclamarmenian',
                1372,
                'exclamdbl',
                8252,
                'exclamdown',
                161,
                'exclamdownsmall',
                63393,
                'exclammonospace',
                65281,
                'exclamsmall',
                63265,
                'existential',
                8707,
                'ezh',
                658,
                'ezhcaron',
                495,
                'ezhcurl',
                659,
                'ezhreversed',
                441,
                'ezhtail',
                442,
                'f',
                102,
                'fadeva',
                2398,
                'fagurmukhi',
                2654,
                'fahrenheit',
                8457,
                'fathaarabic',
                1614,
                'fathalowarabic',
                1614,
                'fathatanarabic',
                1611,
                'fbopomofo',
                12552,
                'fcircle',
                9429,
                'fdotaccent',
                7711,
                'feharabic',
                1601,
                'feharmenian',
                1414,
                'fehfinalarabic',
                65234,
                'fehinitialarabic',
                65235,
                'fehmedialarabic',
                65236,
                'feicoptic',
                997,
                'female',
                9792,
                'ff',
                64256,
                'f_f',
                64256,
                'ffi',
                64259,
                'f_f_i',
                64259,
                'ffl',
                64260,
                'f_f_l',
                64260,
                'fi',
                64257,
                'f_i',
                64257,
                'fifteencircle',
                9326,
                'fifteenparen',
                9346,
                'fifteenperiod',
                9366,
                'figuredash',
                8210,
                'filledbox',
                9632,
                'filledrect',
                9644,
                'finalkaf',
                1498,
                'finalkafdagesh',
                64314,
                'finalkafdageshhebrew',
                64314,
                'finalkafhebrew',
                1498,
                'finalmem',
                1501,
                'finalmemhebrew',
                1501,
                'finalnun',
                1503,
                'finalnunhebrew',
                1503,
                'finalpe',
                1507,
                'finalpehebrew',
                1507,
                'finaltsadi',
                1509,
                'finaltsadihebrew',
                1509,
                'firsttonechinese',
                713,
                'fisheye',
                9673,
                'fitacyrillic',
                1139,
                'five',
                53,
                'fivearabic',
                1637,
                'fivebengali',
                2539,
                'fivecircle',
                9316,
                'fivecircleinversesansserif',
                10126,
                'fivedeva',
                2411,
                'fiveeighths',
                8541,
                'fivegujarati',
                2795,
                'fivegurmukhi',
                2667,
                'fivehackarabic',
                1637,
                'fivehangzhou',
                12325,
                'fiveideographicparen',
                12836,
                'fiveinferior',
                8325,
                'fivemonospace',
                65301,
                'fiveoldstyle',
                63285,
                'fiveparen',
                9336,
                'fiveperiod',
                9356,
                'fivepersian',
                1781,
                'fiveroman',
                8564,
                'fivesuperior',
                8309,
                'fivethai',
                3669,
                'fl',
                64258,
                'f_l',
                64258,
                'florin',
                402,
                'fmonospace',
                65350,
                'fmsquare',
                13209,
                'fofanthai',
                3615,
                'fofathai',
                3613,
                'fongmanthai',
                3663,
                'forall',
                8704,
                'four',
                52,
                'fourarabic',
                1636,
                'fourbengali',
                2538,
                'fourcircle',
                9315,
                'fourcircleinversesansserif',
                10125,
                'fourdeva',
                2410,
                'fourgujarati',
                2794,
                'fourgurmukhi',
                2666,
                'fourhackarabic',
                1636,
                'fourhangzhou',
                12324,
                'fourideographicparen',
                12835,
                'fourinferior',
                8324,
                'fourmonospace',
                65300,
                'fournumeratorbengali',
                2551,
                'fouroldstyle',
                63284,
                'fourparen',
                9335,
                'fourperiod',
                9355,
                'fourpersian',
                1780,
                'fourroman',
                8563,
                'foursuperior',
                8308,
                'fourteencircle',
                9325,
                'fourteenparen',
                9345,
                'fourteenperiod',
                9365,
                'fourthai',
                3668,
                'fourthtonechinese',
                715,
                'fparen',
                9377,
                'fraction',
                8260,
                'franc',
                8355,
                'g',
                103,
                'gabengali',
                2455,
                'gacute',
                501,
                'gadeva',
                2327,
                'gafarabic',
                1711,
                'gaffinalarabic',
                64403,
                'gafinitialarabic',
                64404,
                'gafmedialarabic',
                64405,
                'gagujarati',
                2711,
                'gagurmukhi',
                2583,
                'gahiragana',
                12364,
                'gakatakana',
                12460,
                'gamma',
                947,
                'gammalatinsmall',
                611,
                'gammasuperior',
                736,
                'gangiacoptic',
                1003,
                'gbopomofo',
                12557,
                'gbreve',
                287,
                'gcaron',
                487,
                'gcedilla',
                291,
                'gcircle',
                9430,
                'gcircumflex',
                285,
                'gcommaaccent',
                291,
                'gdot',
                289,
                'gdotaccent',
                289,
                'gecyrillic',
                1075,
                'gehiragana',
                12370,
                'gekatakana',
                12466,
                'geometricallyequal',
                8785,
                'gereshaccenthebrew',
                1436,
                'gereshhebrew',
                1523,
                'gereshmuqdamhebrew',
                1437,
                'germandbls',
                223,
                'gershayimaccenthebrew',
                1438,
                'gershayimhebrew',
                1524,
                'getamark',
                12307,
                'ghabengali',
                2456,
                'ghadarmenian',
                1394,
                'ghadeva',
                2328,
                'ghagujarati',
                2712,
                'ghagurmukhi',
                2584,
                'ghainarabic',
                1594,
                'ghainfinalarabic',
                65230,
                'ghaininitialarabic',
                65231,
                'ghainmedialarabic',
                65232,
                'ghemiddlehookcyrillic',
                1173,
                'ghestrokecyrillic',
                1171,
                'gheupturncyrillic',
                1169,
                'ghhadeva',
                2394,
                'ghhagurmukhi',
                2650,
                'ghook',
                608,
                'ghzsquare',
                13203,
                'gihiragana',
                12366,
                'gikatakana',
                12462,
                'gimarmenian',
                1379,
                'gimel',
                1490,
                'gimeldagesh',
                64306,
                'gimeldageshhebrew',
                64306,
                'gimelhebrew',
                1490,
                'gjecyrillic',
                1107,
                'glottalinvertedstroke',
                446,
                'glottalstop',
                660,
                'glottalstopinverted',
                662,
                'glottalstopmod',
                704,
                'glottalstopreversed',
                661,
                'glottalstopreversedmod',
                705,
                'glottalstopreversedsuperior',
                740,
                'glottalstopstroke',
                673,
                'glottalstopstrokereversed',
                674,
                'gmacron',
                7713,
                'gmonospace',
                65351,
                'gohiragana',
                12372,
                'gokatakana',
                12468,
                'gparen',
                9378,
                'gpasquare',
                13228,
                'gradient',
                8711,
                'grave',
                96,
                'gravebelowcmb',
                790,
                'gravecmb',
                768,
                'gravecomb',
                768,
                'gravedeva',
                2387,
                'gravelowmod',
                718,
                'gravemonospace',
                65344,
                'gravetonecmb',
                832,
                'greater',
                62,
                'greaterequal',
                8805,
                'greaterequalorless',
                8923,
                'greatermonospace',
                65310,
                'greaterorequivalent',
                8819,
                'greaterorless',
                8823,
                'greateroverequal',
                8807,
                'greatersmall',
                65125,
                'gscript',
                609,
                'gstroke',
                485,
                'guhiragana',
                12368,
                'guillemotleft',
                171,
                'guillemotright',
                187,
                'guilsinglleft',
                8249,
                'guilsinglright',
                8250,
                'gukatakana',
                12464,
                'guramusquare',
                13080,
                'gysquare',
                13257,
                'h',
                104,
                'haabkhasiancyrillic',
                1193,
                'haaltonearabic',
                1729,
                'habengali',
                2489,
                'hadescendercyrillic',
                1203,
                'hadeva',
                2361,
                'hagujarati',
                2745,
                'hagurmukhi',
                2617,
                'haharabic',
                1581,
                'hahfinalarabic',
                65186,
                'hahinitialarabic',
                65187,
                'hahiragana',
                12399,
                'hahmedialarabic',
                65188,
                'haitusquare',
                13098,
                'hakatakana',
                12495,
                'hakatakanahalfwidth',
                65418,
                'halantgurmukhi',
                2637,
                'hamzaarabic',
                1569,
                'hamzalowarabic',
                1569,
                'hangulfiller',
                12644,
                'hardsigncyrillic',
                1098,
                'harpoonleftbarbup',
                8636,
                'harpoonrightbarbup',
                8640,
                'hasquare',
                13258,
                'hatafpatah',
                1458,
                'hatafpatah16',
                1458,
                'hatafpatah23',
                1458,
                'hatafpatah2f',
                1458,
                'hatafpatahhebrew',
                1458,
                'hatafpatahnarrowhebrew',
                1458,
                'hatafpatahquarterhebrew',
                1458,
                'hatafpatahwidehebrew',
                1458,
                'hatafqamats',
                1459,
                'hatafqamats1b',
                1459,
                'hatafqamats28',
                1459,
                'hatafqamats34',
                1459,
                'hatafqamatshebrew',
                1459,
                'hatafqamatsnarrowhebrew',
                1459,
                'hatafqamatsquarterhebrew',
                1459,
                'hatafqamatswidehebrew',
                1459,
                'hatafsegol',
                1457,
                'hatafsegol17',
                1457,
                'hatafsegol24',
                1457,
                'hatafsegol30',
                1457,
                'hatafsegolhebrew',
                1457,
                'hatafsegolnarrowhebrew',
                1457,
                'hatafsegolquarterhebrew',
                1457,
                'hatafsegolwidehebrew',
                1457,
                'hbar',
                295,
                'hbopomofo',
                12559,
                'hbrevebelow',
                7723,
                'hcedilla',
                7721,
                'hcircle',
                9431,
                'hcircumflex',
                293,
                'hdieresis',
                7719,
                'hdotaccent',
                7715,
                'hdotbelow',
                7717,
                'he',
                1492,
                'heart',
                9829,
                'heartsuitblack',
                9829,
                'heartsuitwhite',
                9825,
                'hedagesh',
                64308,
                'hedageshhebrew',
                64308,
                'hehaltonearabic',
                1729,
                'heharabic',
                1607,
                'hehebrew',
                1492,
                'hehfinalaltonearabic',
                64423,
                'hehfinalalttwoarabic',
                65258,
                'hehfinalarabic',
                65258,
                'hehhamzaabovefinalarabic',
                64421,
                'hehhamzaaboveisolatedarabic',
                64420,
                'hehinitialaltonearabic',
                64424,
                'hehinitialarabic',
                65259,
                'hehiragana',
                12408,
                'hehmedialaltonearabic',
                64425,
                'hehmedialarabic',
                65260,
                'heiseierasquare',
                13179,
                'hekatakana',
                12504,
                'hekatakanahalfwidth',
                65421,
                'hekutaarusquare',
                13110,
                'henghook',
                615,
                'herutusquare',
                13113,
                'het',
                1495,
                'hethebrew',
                1495,
                'hhook',
                614,
                'hhooksuperior',
                689,
                'hieuhacirclekorean',
                12923,
                'hieuhaparenkorean',
                12827,
                'hieuhcirclekorean',
                12909,
                'hieuhkorean',
                12622,
                'hieuhparenkorean',
                12813,
                'hihiragana',
                12402,
                'hikatakana',
                12498,
                'hikatakanahalfwidth',
                65419,
                'hiriq',
                1460,
                'hiriq14',
                1460,
                'hiriq21',
                1460,
                'hiriq2d',
                1460,
                'hiriqhebrew',
                1460,
                'hiriqnarrowhebrew',
                1460,
                'hiriqquarterhebrew',
                1460,
                'hiriqwidehebrew',
                1460,
                'hlinebelow',
                7830,
                'hmonospace',
                65352,
                'hoarmenian',
                1392,
                'hohipthai',
                3627,
                'hohiragana',
                12411,
                'hokatakana',
                12507,
                'hokatakanahalfwidth',
                65422,
                'holam',
                1465,
                'holam19',
                1465,
                'holam26',
                1465,
                'holam32',
                1465,
                'holamhebrew',
                1465,
                'holamnarrowhebrew',
                1465,
                'holamquarterhebrew',
                1465,
                'holamwidehebrew',
                1465,
                'honokhukthai',
                3630,
                'hookabovecomb',
                777,
                'hookcmb',
                777,
                'hookpalatalizedbelowcmb',
                801,
                'hookretroflexbelowcmb',
                802,
                'hoonsquare',
                13122,
                'horicoptic',
                1001,
                'horizontalbar',
                8213,
                'horncmb',
                795,
                'hotsprings',
                9832,
                'house',
                8962,
                'hparen',
                9379,
                'hsuperior',
                688,
                'hturned',
                613,
                'huhiragana',
                12405,
                'huiitosquare',
                13107,
                'hukatakana',
                12501,
                'hukatakanahalfwidth',
                65420,
                'hungarumlaut',
                733,
                'hungarumlautcmb',
                779,
                'hv',
                405,
                'hyphen',
                45,
                'hypheninferior',
                63205,
                'hyphenmonospace',
                65293,
                'hyphensmall',
                65123,
                'hyphensuperior',
                63206,
                'hyphentwo',
                8208,
                'i',
                105,
                'iacute',
                237,
                'iacyrillic',
                1103,
                'ibengali',
                2439,
                'ibopomofo',
                12583,
                'ibreve',
                301,
                'icaron',
                464,
                'icircle',
                9432,
                'icircumflex',
                238,
                'icyrillic',
                1110,
                'idblgrave',
                521,
                'ideographearthcircle',
                12943,
                'ideographfirecircle',
                12939,
                'ideographicallianceparen',
                12863,
                'ideographiccallparen',
                12858,
                'ideographiccentrecircle',
                12965,
                'ideographicclose',
                12294,
                'ideographiccomma',
                12289,
                'ideographiccommaleft',
                65380,
                'ideographiccongratulationparen',
                12855,
                'ideographiccorrectcircle',
                12963,
                'ideographicearthparen',
                12847,
                'ideographicenterpriseparen',
                12861,
                'ideographicexcellentcircle',
                12957,
                'ideographicfestivalparen',
                12864,
                'ideographicfinancialcircle',
                12950,
                'ideographicfinancialparen',
                12854,
                'ideographicfireparen',
                12843,
                'ideographichaveparen',
                12850,
                'ideographichighcircle',
                12964,
                'ideographiciterationmark',
                12293,
                'ideographiclaborcircle',
                12952,
                'ideographiclaborparen',
                12856,
                'ideographicleftcircle',
                12967,
                'ideographiclowcircle',
                12966,
                'ideographicmedicinecircle',
                12969,
                'ideographicmetalparen',
                12846,
                'ideographicmoonparen',
                12842,
                'ideographicnameparen',
                12852,
                'ideographicperiod',
                12290,
                'ideographicprintcircle',
                12958,
                'ideographicreachparen',
                12867,
                'ideographicrepresentparen',
                12857,
                'ideographicresourceparen',
                12862,
                'ideographicrightcircle',
                12968,
                'ideographicsecretcircle',
                12953,
                'ideographicselfparen',
                12866,
                'ideographicsocietyparen',
                12851,
                'ideographicspace',
                12288,
                'ideographicspecialparen',
                12853,
                'ideographicstockparen',
                12849,
                'ideographicstudyparen',
                12859,
                'ideographicsunparen',
                12848,
                'ideographicsuperviseparen',
                12860,
                'ideographicwaterparen',
                12844,
                'ideographicwoodparen',
                12845,
                'ideographiczero',
                12295,
                'ideographmetalcircle',
                12942,
                'ideographmooncircle',
                12938,
                'ideographnamecircle',
                12948,
                'ideographsuncircle',
                12944,
                'ideographwatercircle',
                12940,
                'ideographwoodcircle',
                12941,
                'ideva',
                2311,
                'idieresis',
                239,
                'idieresisacute',
                7727,
                'idieresiscyrillic',
                1253,
                'idotbelow',
                7883,
                'iebrevecyrillic',
                1239,
                'iecyrillic',
                1077,
                'ieungacirclekorean',
                12917,
                'ieungaparenkorean',
                12821,
                'ieungcirclekorean',
                12903,
                'ieungkorean',
                12615,
                'ieungparenkorean',
                12807,
                'igrave',
                236,
                'igujarati',
                2695,
                'igurmukhi',
                2567,
                'ihiragana',
                12356,
                'ihookabove',
                7881,
                'iibengali',
                2440,
                'iicyrillic',
                1080,
                'iideva',
                2312,
                'iigujarati',
                2696,
                'iigurmukhi',
                2568,
                'iimatragurmukhi',
                2624,
                'iinvertedbreve',
                523,
                'iishortcyrillic',
                1081,
                'iivowelsignbengali',
                2496,
                'iivowelsigndeva',
                2368,
                'iivowelsigngujarati',
                2752,
                'ij',
                307,
                'ikatakana',
                12452,
                'ikatakanahalfwidth',
                65394,
                'ikorean',
                12643,
                'ilde',
                732,
                'iluyhebrew',
                1452,
                'imacron',
                299,
                'imacroncyrillic',
                1251,
                'imageorapproximatelyequal',
                8787,
                'imatragurmukhi',
                2623,
                'imonospace',
                65353,
                'increment',
                8710,
                'infinity',
                8734,
                'iniarmenian',
                1387,
                'integral',
                8747,
                'integralbottom',
                8993,
                'integralbt',
                8993,
                'integralex',
                63733,
                'integraltop',
                8992,
                'integraltp',
                8992,
                'intersection',
                8745,
                'intisquare',
                13061,
                'invbullet',
                9688,
                'invcircle',
                9689,
                'invsmileface',
                9787,
                'iocyrillic',
                1105,
                'iogonek',
                303,
                'iota',
                953,
                'iotadieresis',
                970,
                'iotadieresistonos',
                912,
                'iotalatin',
                617,
                'iotatonos',
                943,
                'iparen',
                9380,
                'irigurmukhi',
                2674,
                'ismallhiragana',
                12355,
                'ismallkatakana',
                12451,
                'ismallkatakanahalfwidth',
                65384,
                'issharbengali',
                2554,
                'istroke',
                616,
                'isuperior',
                63213,
                'iterationhiragana',
                12445,
                'iterationkatakana',
                12541,
                'itilde',
                297,
                'itildebelow',
                7725,
                'iubopomofo',
                12585,
                'iucyrillic',
                1102,
                'ivowelsignbengali',
                2495,
                'ivowelsigndeva',
                2367,
                'ivowelsigngujarati',
                2751,
                'izhitsacyrillic',
                1141,
                'izhitsadblgravecyrillic',
                1143,
                'j',
                106,
                'jaarmenian',
                1393,
                'jabengali',
                2460,
                'jadeva',
                2332,
                'jagujarati',
                2716,
                'jagurmukhi',
                2588,
                'jbopomofo',
                12560,
                'jcaron',
                496,
                'jcircle',
                9433,
                'jcircumflex',
                309,
                'jcrossedtail',
                669,
                'jdotlessstroke',
                607,
                'jecyrillic',
                1112,
                'jeemarabic',
                1580,
                'jeemfinalarabic',
                65182,
                'jeeminitialarabic',
                65183,
                'jeemmedialarabic',
                65184,
                'jeharabic',
                1688,
                'jehfinalarabic',
                64395,
                'jhabengali',
                2461,
                'jhadeva',
                2333,
                'jhagujarati',
                2717,
                'jhagurmukhi',
                2589,
                'jheharmenian',
                1403,
                'jis',
                12292,
                'jmonospace',
                65354,
                'jparen',
                9381,
                'jsuperior',
                690,
                'k',
                107,
                'kabashkircyrillic',
                1185,
                'kabengali',
                2453,
                'kacute',
                7729,
                'kacyrillic',
                1082,
                'kadescendercyrillic',
                1179,
                'kadeva',
                2325,
                'kaf',
                1499,
                'kafarabic',
                1603,
                'kafdagesh',
                64315,
                'kafdageshhebrew',
                64315,
                'kaffinalarabic',
                65242,
                'kafhebrew',
                1499,
                'kafinitialarabic',
                65243,
                'kafmedialarabic',
                65244,
                'kafrafehebrew',
                64333,
                'kagujarati',
                2709,
                'kagurmukhi',
                2581,
                'kahiragana',
                12363,
                'kahookcyrillic',
                1220,
                'kakatakana',
                12459,
                'kakatakanahalfwidth',
                65398,
                'kappa',
                954,
                'kappasymbolgreek',
                1008,
                'kapyeounmieumkorean',
                12657,
                'kapyeounphieuphkorean',
                12676,
                'kapyeounpieupkorean',
                12664,
                'kapyeounssangpieupkorean',
                12665,
                'karoriisquare',
                13069,
                'kashidaautoarabic',
                1600,
                'kashidaautonosidebearingarabic',
                1600,
                'kasmallkatakana',
                12533,
                'kasquare',
                13188,
                'kasraarabic',
                1616,
                'kasratanarabic',
                1613,
                'kastrokecyrillic',
                1183,
                'katahiraprolongmarkhalfwidth',
                65392,
                'kaverticalstrokecyrillic',
                1181,
                'kbopomofo',
                12558,
                'kcalsquare',
                13193,
                'kcaron',
                489,
                'kcedilla',
                311,
                'kcircle',
                9434,
                'kcommaaccent',
                311,
                'kdotbelow',
                7731,
                'keharmenian',
                1412,
                'kehiragana',
                12369,
                'kekatakana',
                12465,
                'kekatakanahalfwidth',
                65401,
                'kenarmenian',
                1391,
                'kesmallkatakana',
                12534,
                'kgreenlandic',
                312,
                'khabengali',
                2454,
                'khacyrillic',
                1093,
                'khadeva',
                2326,
                'khagujarati',
                2710,
                'khagurmukhi',
                2582,
                'khaharabic',
                1582,
                'khahfinalarabic',
                65190,
                'khahinitialarabic',
                65191,
                'khahmedialarabic',
                65192,
                'kheicoptic',
                999,
                'khhadeva',
                2393,
                'khhagurmukhi',
                2649,
                'khieukhacirclekorean',
                12920,
                'khieukhaparenkorean',
                12824,
                'khieukhcirclekorean',
                12906,
                'khieukhkorean',
                12619,
                'khieukhparenkorean',
                12810,
                'khokhaithai',
                3586,
                'khokhonthai',
                3589,
                'khokhuatthai',
                3587,
                'khokhwaithai',
                3588,
                'khomutthai',
                3675,
                'khook',
                409,
                'khorakhangthai',
                3590,
                'khzsquare',
                13201,
                'kihiragana',
                12365,
                'kikatakana',
                12461,
                'kikatakanahalfwidth',
                65399,
                'kiroguramusquare',
                13077,
                'kiromeetorusquare',
                13078,
                'kirosquare',
                13076,
                'kiyeokacirclekorean',
                12910,
                'kiyeokaparenkorean',
                12814,
                'kiyeokcirclekorean',
                12896,
                'kiyeokkorean',
                12593,
                'kiyeokparenkorean',
                12800,
                'kiyeoksioskorean',
                12595,
                'kjecyrillic',
                1116,
                'klinebelow',
                7733,
                'klsquare',
                13208,
                'kmcubedsquare',
                13222,
                'kmonospace',
                65355,
                'kmsquaredsquare',
                13218,
                'kohiragana',
                12371,
                'kohmsquare',
                13248,
                'kokaithai',
                3585,
                'kokatakana',
                12467,
                'kokatakanahalfwidth',
                65402,
                'kooposquare',
                13086,
                'koppacyrillic',
                1153,
                'koreanstandardsymbol',
                12927,
                'koroniscmb',
                835,
                'kparen',
                9382,
                'kpasquare',
                13226,
                'ksicyrillic',
                1135,
                'ktsquare',
                13263,
                'kturned',
                670,
                'kuhiragana',
                12367,
                'kukatakana',
                12463,
                'kukatakanahalfwidth',
                65400,
                'kvsquare',
                13240,
                'kwsquare',
                13246,
                'l',
                108,
                'labengali',
                2482,
                'lacute',
                314,
                'ladeva',
                2354,
                'lagujarati',
                2738,
                'lagurmukhi',
                2610,
                'lakkhangyaothai',
                3653,
                'lamaleffinalarabic',
                65276,
                'lamalefhamzaabovefinalarabic',
                65272,
                'lamalefhamzaaboveisolatedarabic',
                65271,
                'lamalefhamzabelowfinalarabic',
                65274,
                'lamalefhamzabelowisolatedarabic',
                65273,
                'lamalefisolatedarabic',
                65275,
                'lamalefmaddaabovefinalarabic',
                65270,
                'lamalefmaddaaboveisolatedarabic',
                65269,
                'lamarabic',
                1604,
                'lambda',
                955,
                'lambdastroke',
                411,
                'lamed',
                1500,
                'lameddagesh',
                64316,
                'lameddageshhebrew',
                64316,
                'lamedhebrew',
                1500,
                'lamfinalarabic',
                65246,
                'lamhahinitialarabic',
                64714,
                'laminitialarabic',
                65247,
                'lamjeeminitialarabic',
                64713,
                'lamkhahinitialarabic',
                64715,
                'lamlamhehisolatedarabic',
                65010,
                'lammedialarabic',
                65248,
                'lammeemhahinitialarabic',
                64904,
                'lammeeminitialarabic',
                64716,
                'largecircle',
                9711,
                'lbar',
                410,
                'lbelt',
                620,
                'lbopomofo',
                12556,
                'lcaron',
                318,
                'lcedilla',
                316,
                'lcircle',
                9435,
                'lcircumflexbelow',
                7741,
                'lcommaaccent',
                316,
                'ldot',
                320,
                'ldotaccent',
                320,
                'ldotbelow',
                7735,
                'ldotbelowmacron',
                7737,
                'leftangleabovecmb',
                794,
                'lefttackbelowcmb',
                792,
                'less',
                60,
                'lessequal',
                8804,
                'lessequalorgreater',
                8922,
                'lessmonospace',
                65308,
                'lessorequivalent',
                8818,
                'lessorgreater',
                8822,
                'lessoverequal',
                8806,
                'lesssmall',
                65124,
                'lezh',
                622,
                'lfblock',
                9612,
                'lhookretroflex',
                621,
                'lira',
                8356,
                'liwnarmenian',
                1388,
                'lj',
                457,
                'ljecyrillic',
                1113,
                'll',
                63168,
                'lladeva',
                2355,
                'llagujarati',
                2739,
                'llinebelow',
                7739,
                'llladeva',
                2356,
                'llvocalicbengali',
                2529,
                'llvocalicdeva',
                2401,
                'llvocalicvowelsignbengali',
                2531,
                'llvocalicvowelsigndeva',
                2403,
                'lmiddletilde',
                619,
                'lmonospace',
                65356,
                'lmsquare',
                13264,
                'lochulathai',
                3628,
                'logicaland',
                8743,
                'logicalnot',
                172,
                'logicalnotreversed',
                8976,
                'logicalor',
                8744,
                'lolingthai',
                3621,
                'longs',
                383,
                'lowlinecenterline',
                65102,
                'lowlinecmb',
                818,
                'lowlinedashed',
                65101,
                'lozenge',
                9674,
                'lparen',
                9383,
                'lslash',
                322,
                'lsquare',
                8467,
                'lsuperior',
                63214,
                'ltshade',
                9617,
                'luthai',
                3622,
                'lvocalicbengali',
                2444,
                'lvocalicdeva',
                2316,
                'lvocalicvowelsignbengali',
                2530,
                'lvocalicvowelsigndeva',
                2402,
                'lxsquare',
                13267,
                'm',
                109,
                'mabengali',
                2478,
                'macron',
                175,
                'macronbelowcmb',
                817,
                'macroncmb',
                772,
                'macronlowmod',
                717,
                'macronmonospace',
                65507,
                'macute',
                7743,
                'madeva',
                2350,
                'magujarati',
                2734,
                'magurmukhi',
                2606,
                'mahapakhhebrew',
                1444,
                'mahapakhlefthebrew',
                1444,
                'mahiragana',
                12414,
                'maichattawalowleftthai',
                63637,
                'maichattawalowrightthai',
                63636,
                'maichattawathai',
                3659,
                'maichattawaupperleftthai',
                63635,
                'maieklowleftthai',
                63628,
                'maieklowrightthai',
                63627,
                'maiekthai',
                3656,
                'maiekupperleftthai',
                63626,
                'maihanakatleftthai',
                63620,
                'maihanakatthai',
                3633,
                'maitaikhuleftthai',
                63625,
                'maitaikhuthai',
                3655,
                'maitholowleftthai',
                63631,
                'maitholowrightthai',
                63630,
                'maithothai',
                3657,
                'maithoupperleftthai',
                63629,
                'maitrilowleftthai',
                63634,
                'maitrilowrightthai',
                63633,
                'maitrithai',
                3658,
                'maitriupperleftthai',
                63632,
                'maiyamokthai',
                3654,
                'makatakana',
                12510,
                'makatakanahalfwidth',
                65423,
                'male',
                9794,
                'mansyonsquare',
                13127,
                'maqafhebrew',
                1470,
                'mars',
                9794,
                'masoracirclehebrew',
                1455,
                'masquare',
                13187,
                'mbopomofo',
                12551,
                'mbsquare',
                13268,
                'mcircle',
                9436,
                'mcubedsquare',
                13221,
                'mdotaccent',
                7745,
                'mdotbelow',
                7747,
                'meemarabic',
                1605,
                'meemfinalarabic',
                65250,
                'meeminitialarabic',
                65251,
                'meemmedialarabic',
                65252,
                'meemmeeminitialarabic',
                64721,
                'meemmeemisolatedarabic',
                64584,
                'meetorusquare',
                13133,
                'mehiragana',
                12417,
                'meizierasquare',
                13182,
                'mekatakana',
                12513,
                'mekatakanahalfwidth',
                65426,
                'mem',
                1502,
                'memdagesh',
                64318,
                'memdageshhebrew',
                64318,
                'memhebrew',
                1502,
                'menarmenian',
                1396,
                'merkhahebrew',
                1445,
                'merkhakefulahebrew',
                1446,
                'merkhakefulalefthebrew',
                1446,
                'merkhalefthebrew',
                1445,
                'mhook',
                625,
                'mhzsquare',
                13202,
                'middledotkatakanahalfwidth',
                65381,
                'middot',
                183,
                'mieumacirclekorean',
                12914,
                'mieumaparenkorean',
                12818,
                'mieumcirclekorean',
                12900,
                'mieumkorean',
                12609,
                'mieumpansioskorean',
                12656,
                'mieumparenkorean',
                12804,
                'mieumpieupkorean',
                12654,
                'mieumsioskorean',
                12655,
                'mihiragana',
                12415,
                'mikatakana',
                12511,
                'mikatakanahalfwidth',
                65424,
                'minus',
                8722,
                'minusbelowcmb',
                800,
                'minuscircle',
                8854,
                'minusmod',
                727,
                'minusplus',
                8723,
                'minute',
                8242,
                'miribaarusquare',
                13130,
                'mirisquare',
                13129,
                'mlonglegturned',
                624,
                'mlsquare',
                13206,
                'mmcubedsquare',
                13219,
                'mmonospace',
                65357,
                'mmsquaredsquare',
                13215,
                'mohiragana',
                12418,
                'mohmsquare',
                13249,
                'mokatakana',
                12514,
                'mokatakanahalfwidth',
                65427,
                'molsquare',
                13270,
                'momathai',
                3617,
                'moverssquare',
                13223,
                'moverssquaredsquare',
                13224,
                'mparen',
                9384,
                'mpasquare',
                13227,
                'mssquare',
                13235,
                'msuperior',
                63215,
                'mturned',
                623,
                'mu',
                181,
                'mu1',
                181,
                'muasquare',
                13186,
                'muchgreater',
                8811,
                'muchless',
                8810,
                'mufsquare',
                13196,
                'mugreek',
                956,
                'mugsquare',
                13197,
                'muhiragana',
                12416,
                'mukatakana',
                12512,
                'mukatakanahalfwidth',
                65425,
                'mulsquare',
                13205,
                'multiply',
                215,
                'mumsquare',
                13211,
                'munahhebrew',
                1443,
                'munahlefthebrew',
                1443,
                'musicalnote',
                9834,
                'musicalnotedbl',
                9835,
                'musicflatsign',
                9837,
                'musicsharpsign',
                9839,
                'mussquare',
                13234,
                'muvsquare',
                13238,
                'muwsquare',
                13244,
                'mvmegasquare',
                13241,
                'mvsquare',
                13239,
                'mwmegasquare',
                13247,
                'mwsquare',
                13245,
                'n',
                110,
                'nabengali',
                2472,
                'nabla',
                8711,
                'nacute',
                324,
                'nadeva',
                2344,
                'nagujarati',
                2728,
                'nagurmukhi',
                2600,
                'nahiragana',
                12394,
                'nakatakana',
                12490,
                'nakatakanahalfwidth',
                65413,
                'napostrophe',
                329,
                'nasquare',
                13185,
                'nbopomofo',
                12555,
                'nbspace',
                160,
                'ncaron',
                328,
                'ncedilla',
                326,
                'ncircle',
                9437,
                'ncircumflexbelow',
                7755,
                'ncommaaccent',
                326,
                'ndotaccent',
                7749,
                'ndotbelow',
                7751,
                'nehiragana',
                12397,
                'nekatakana',
                12493,
                'nekatakanahalfwidth',
                65416,
                'newsheqelsign',
                8362,
                'nfsquare',
                13195,
                'ngabengali',
                2457,
                'ngadeva',
                2329,
                'ngagujarati',
                2713,
                'ngagurmukhi',
                2585,
                'ngonguthai',
                3591,
                'nhiragana',
                12435,
                'nhookleft',
                626,
                'nhookretroflex',
                627,
                'nieunacirclekorean',
                12911,
                'nieunaparenkorean',
                12815,
                'nieuncieuckorean',
                12597,
                'nieuncirclekorean',
                12897,
                'nieunhieuhkorean',
                12598,
                'nieunkorean',
                12596,
                'nieunpansioskorean',
                12648,
                'nieunparenkorean',
                12801,
                'nieunsioskorean',
                12647,
                'nieuntikeutkorean',
                12646,
                'nihiragana',
                12395,
                'nikatakana',
                12491,
                'nikatakanahalfwidth',
                65414,
                'nikhahitleftthai',
                63641,
                'nikhahitthai',
                3661,
                'nine',
                57,
                'ninearabic',
                1641,
                'ninebengali',
                2543,
                'ninecircle',
                9320,
                'ninecircleinversesansserif',
                10130,
                'ninedeva',
                2415,
                'ninegujarati',
                2799,
                'ninegurmukhi',
                2671,
                'ninehackarabic',
                1641,
                'ninehangzhou',
                12329,
                'nineideographicparen',
                12840,
                'nineinferior',
                8329,
                'ninemonospace',
                65305,
                'nineoldstyle',
                63289,
                'nineparen',
                9340,
                'nineperiod',
                9360,
                'ninepersian',
                1785,
                'nineroman',
                8568,
                'ninesuperior',
                8313,
                'nineteencircle',
                9330,
                'nineteenparen',
                9350,
                'nineteenperiod',
                9370,
                'ninethai',
                3673,
                'nj',
                460,
                'njecyrillic',
                1114,
                'nkatakana',
                12531,
                'nkatakanahalfwidth',
                65437,
                'nlegrightlong',
                414,
                'nlinebelow',
                7753,
                'nmonospace',
                65358,
                'nmsquare',
                13210,
                'nnabengali',
                2467,
                'nnadeva',
                2339,
                'nnagujarati',
                2723,
                'nnagurmukhi',
                2595,
                'nnnadeva',
                2345,
                'nohiragana',
                12398,
                'nokatakana',
                12494,
                'nokatakanahalfwidth',
                65417,
                'nonbreakingspace',
                160,
                'nonenthai',
                3603,
                'nonuthai',
                3609,
                'noonarabic',
                1606,
                'noonfinalarabic',
                65254,
                'noonghunnaarabic',
                1722,
                'noonghunnafinalarabic',
                64415,
                'nooninitialarabic',
                65255,
                'noonjeeminitialarabic',
                64722,
                'noonjeemisolatedarabic',
                64587,
                'noonmedialarabic',
                65256,
                'noonmeeminitialarabic',
                64725,
                'noonmeemisolatedarabic',
                64590,
                'noonnoonfinalarabic',
                64653,
                'notcontains',
                8716,
                'notelement',
                8713,
                'notelementof',
                8713,
                'notequal',
                8800,
                'notgreater',
                8815,
                'notgreaternorequal',
                8817,
                'notgreaternorless',
                8825,
                'notidentical',
                8802,
                'notless',
                8814,
                'notlessnorequal',
                8816,
                'notparallel',
                8742,
                'notprecedes',
                8832,
                'notsubset',
                8836,
                'notsucceeds',
                8833,
                'notsuperset',
                8837,
                'nowarmenian',
                1398,
                'nparen',
                9385,
                'nssquare',
                13233,
                'nsuperior',
                8319,
                'ntilde',
                241,
                'nu',
                957,
                'nuhiragana',
                12396,
                'nukatakana',
                12492,
                'nukatakanahalfwidth',
                65415,
                'nuktabengali',
                2492,
                'nuktadeva',
                2364,
                'nuktagujarati',
                2748,
                'nuktagurmukhi',
                2620,
                'numbersign',
                35,
                'numbersignmonospace',
                65283,
                'numbersignsmall',
                65119,
                'numeralsigngreek',
                884,
                'numeralsignlowergreek',
                885,
                'numero',
                8470,
                'nun',
                1504,
                'nundagesh',
                64320,
                'nundageshhebrew',
                64320,
                'nunhebrew',
                1504,
                'nvsquare',
                13237,
                'nwsquare',
                13243,
                'nyabengali',
                2462,
                'nyadeva',
                2334,
                'nyagujarati',
                2718,
                'nyagurmukhi',
                2590,
                'o',
                111,
                'oacute',
                243,
                'oangthai',
                3629,
                'obarred',
                629,
                'obarredcyrillic',
                1257,
                'obarreddieresiscyrillic',
                1259,
                'obengali',
                2451,
                'obopomofo',
                12571,
                'obreve',
                335,
                'ocandradeva',
                2321,
                'ocandragujarati',
                2705,
                'ocandravowelsigndeva',
                2377,
                'ocandravowelsigngujarati',
                2761,
                'ocaron',
                466,
                'ocircle',
                9438,
                'ocircumflex',
                244,
                'ocircumflexacute',
                7889,
                'ocircumflexdotbelow',
                7897,
                'ocircumflexgrave',
                7891,
                'ocircumflexhookabove',
                7893,
                'ocircumflextilde',
                7895,
                'ocyrillic',
                1086,
                'odblacute',
                337,
                'odblgrave',
                525,
                'odeva',
                2323,
                'odieresis',
                246,
                'odieresiscyrillic',
                1255,
                'odotbelow',
                7885,
                'oe',
                339,
                'oekorean',
                12634,
                'ogonek',
                731,
                'ogonekcmb',
                808,
                'ograve',
                242,
                'ogujarati',
                2707,
                'oharmenian',
                1413,
                'ohiragana',
                12362,
                'ohookabove',
                7887,
                'ohorn',
                417,
                'ohornacute',
                7899,
                'ohorndotbelow',
                7907,
                'ohorngrave',
                7901,
                'ohornhookabove',
                7903,
                'ohorntilde',
                7905,
                'ohungarumlaut',
                337,
                'oi',
                419,
                'oinvertedbreve',
                527,
                'okatakana',
                12458,
                'okatakanahalfwidth',
                65397,
                'okorean',
                12631,
                'olehebrew',
                1451,
                'omacron',
                333,
                'omacronacute',
                7763,
                'omacrongrave',
                7761,
                'omdeva',
                2384,
                'omega',
                969,
                'omega1',
                982,
                'omegacyrillic',
                1121,
                'omegalatinclosed',
                631,
                'omegaroundcyrillic',
                1147,
                'omegatitlocyrillic',
                1149,
                'omegatonos',
                974,
                'omgujarati',
                2768,
                'omicron',
                959,
                'omicrontonos',
                972,
                'omonospace',
                65359,
                'one',
                49,
                'onearabic',
                1633,
                'onebengali',
                2535,
                'onecircle',
                9312,
                'onecircleinversesansserif',
                10122,
                'onedeva',
                2407,
                'onedotenleader',
                8228,
                'oneeighth',
                8539,
                'onefitted',
                63196,
                'onegujarati',
                2791,
                'onegurmukhi',
                2663,
                'onehackarabic',
                1633,
                'onehalf',
                189,
                'onehangzhou',
                12321,
                'oneideographicparen',
                12832,
                'oneinferior',
                8321,
                'onemonospace',
                65297,
                'onenumeratorbengali',
                2548,
                'oneoldstyle',
                63281,
                'oneparen',
                9332,
                'oneperiod',
                9352,
                'onepersian',
                1777,
                'onequarter',
                188,
                'oneroman',
                8560,
                'onesuperior',
                185,
                'onethai',
                3665,
                'onethird',
                8531,
                'oogonek',
                491,
                'oogonekmacron',
                493,
                'oogurmukhi',
                2579,
                'oomatragurmukhi',
                2635,
                'oopen',
                596,
                'oparen',
                9386,
                'openbullet',
                9702,
                'option',
                8997,
                'ordfeminine',
                170,
                'ordmasculine',
                186,
                'orthogonal',
                8735,
                'oshortdeva',
                2322,
                'oshortvowelsigndeva',
                2378,
                'oslash',
                248,
                'oslashacute',
                511,
                'osmallhiragana',
                12361,
                'osmallkatakana',
                12457,
                'osmallkatakanahalfwidth',
                65387,
                'ostrokeacute',
                511,
                'osuperior',
                63216,
                'otcyrillic',
                1151,
                'otilde',
                245,
                'otildeacute',
                7757,
                'otildedieresis',
                7759,
                'oubopomofo',
                12577,
                'overline',
                8254,
                'overlinecenterline',
                65098,
                'overlinecmb',
                773,
                'overlinedashed',
                65097,
                'overlinedblwavy',
                65100,
                'overlinewavy',
                65099,
                'overscore',
                175,
                'ovowelsignbengali',
                2507,
                'ovowelsigndeva',
                2379,
                'ovowelsigngujarati',
                2763,
                'p',
                112,
                'paampssquare',
                13184,
                'paasentosquare',
                13099,
                'pabengali',
                2474,
                'pacute',
                7765,
                'padeva',
                2346,
                'pagedown',
                8671,
                'pageup',
                8670,
                'pagujarati',
                2730,
                'pagurmukhi',
                2602,
                'pahiragana',
                12401,
                'paiyannoithai',
                3631,
                'pakatakana',
                12497,
                'palatalizationcyrilliccmb',
                1156,
                'palochkacyrillic',
                1216,
                'pansioskorean',
                12671,
                'paragraph',
                182,
                'parallel',
                8741,
                'parenleft',
                40,
                'parenleftaltonearabic',
                64830,
                'parenleftbt',
                63725,
                'parenleftex',
                63724,
                'parenleftinferior',
                8333,
                'parenleftmonospace',
                65288,
                'parenleftsmall',
                65113,
                'parenleftsuperior',
                8317,
                'parenlefttp',
                63723,
                'parenleftvertical',
                65077,
                'parenright',
                41,
                'parenrightaltonearabic',
                64831,
                'parenrightbt',
                63736,
                'parenrightex',
                63735,
                'parenrightinferior',
                8334,
                'parenrightmonospace',
                65289,
                'parenrightsmall',
                65114,
                'parenrightsuperior',
                8318,
                'parenrighttp',
                63734,
                'parenrightvertical',
                65078,
                'partialdiff',
                8706,
                'paseqhebrew',
                1472,
                'pashtahebrew',
                1433,
                'pasquare',
                13225,
                'patah',
                1463,
                'patah11',
                1463,
                'patah1d',
                1463,
                'patah2a',
                1463,
                'patahhebrew',
                1463,
                'patahnarrowhebrew',
                1463,
                'patahquarterhebrew',
                1463,
                'patahwidehebrew',
                1463,
                'pazerhebrew',
                1441,
                'pbopomofo',
                12550,
                'pcircle',
                9439,
                'pdotaccent',
                7767,
                'pe',
                1508,
                'pecyrillic',
                1087,
                'pedagesh',
                64324,
                'pedageshhebrew',
                64324,
                'peezisquare',
                13115,
                'pefinaldageshhebrew',
                64323,
                'peharabic',
                1662,
                'peharmenian',
                1402,
                'pehebrew',
                1508,
                'pehfinalarabic',
                64343,
                'pehinitialarabic',
                64344,
                'pehiragana',
                12410,
                'pehmedialarabic',
                64345,
                'pekatakana',
                12506,
                'pemiddlehookcyrillic',
                1191,
                'perafehebrew',
                64334,
                'percent',
                37,
                'percentarabic',
                1642,
                'percentmonospace',
                65285,
                'percentsmall',
                65130,
                'period',
                46,
                'periodarmenian',
                1417,
                'periodcentered',
                183,
                'periodhalfwidth',
                65377,
                'periodinferior',
                63207,
                'periodmonospace',
                65294,
                'periodsmall',
                65106,
                'periodsuperior',
                63208,
                'perispomenigreekcmb',
                834,
                'perpendicular',
                8869,
                'perthousand',
                8240,
                'peseta',
                8359,
                'pfsquare',
                13194,
                'phabengali',
                2475,
                'phadeva',
                2347,
                'phagujarati',
                2731,
                'phagurmukhi',
                2603,
                'phi',
                966,
                'phi1',
                981,
                'phieuphacirclekorean',
                12922,
                'phieuphaparenkorean',
                12826,
                'phieuphcirclekorean',
                12908,
                'phieuphkorean',
                12621,
                'phieuphparenkorean',
                12812,
                'philatin',
                632,
                'phinthuthai',
                3642,
                'phisymbolgreek',
                981,
                'phook',
                421,
                'phophanthai',
                3614,
                'phophungthai',
                3612,
                'phosamphaothai',
                3616,
                'pi',
                960,
                'pieupacirclekorean',
                12915,
                'pieupaparenkorean',
                12819,
                'pieupcieuckorean',
                12662,
                'pieupcirclekorean',
                12901,
                'pieupkiyeokkorean',
                12658,
                'pieupkorean',
                12610,
                'pieupparenkorean',
                12805,
                'pieupsioskiyeokkorean',
                12660,
                'pieupsioskorean',
                12612,
                'pieupsiostikeutkorean',
                12661,
                'pieupthieuthkorean',
                12663,
                'pieuptikeutkorean',
                12659,
                'pihiragana',
                12404,
                'pikatakana',
                12500,
                'pisymbolgreek',
                982,
                'piwrarmenian',
                1411,
                'plus',
                43,
                'plusbelowcmb',
                799,
                'pluscircle',
                8853,
                'plusminus',
                177,
                'plusmod',
                726,
                'plusmonospace',
                65291,
                'plussmall',
                65122,
                'plussuperior',
                8314,
                'pmonospace',
                65360,
                'pmsquare',
                13272,
                'pohiragana',
                12413,
                'pointingindexdownwhite',
                9759,
                'pointingindexleftwhite',
                9756,
                'pointingindexrightwhite',
                9758,
                'pointingindexupwhite',
                9757,
                'pokatakana',
                12509,
                'poplathai',
                3611,
                'postalmark',
                12306,
                'postalmarkface',
                12320,
                'pparen',
                9387,
                'precedes',
                8826,
                'prescription',
                8478,
                'primemod',
                697,
                'primereversed',
                8245,
                'product',
                8719,
                'projective',
                8965,
                'prolongedkana',
                12540,
                'propellor',
                8984,
                'propersubset',
                8834,
                'propersuperset',
                8835,
                'proportion',
                8759,
                'proportional',
                8733,
                'psi',
                968,
                'psicyrillic',
                1137,
                'psilipneumatacyrilliccmb',
                1158,
                'pssquare',
                13232,
                'puhiragana',
                12407,
                'pukatakana',
                12503,
                'pvsquare',
                13236,
                'pwsquare',
                13242,
                'q',
                113,
                'qadeva',
                2392,
                'qadmahebrew',
                1448,
                'qafarabic',
                1602,
                'qaffinalarabic',
                65238,
                'qafinitialarabic',
                65239,
                'qafmedialarabic',
                65240,
                'qamats',
                1464,
                'qamats10',
                1464,
                'qamats1a',
                1464,
                'qamats1c',
                1464,
                'qamats27',
                1464,
                'qamats29',
                1464,
                'qamats33',
                1464,
                'qamatsde',
                1464,
                'qamatshebrew',
                1464,
                'qamatsnarrowhebrew',
                1464,
                'qamatsqatanhebrew',
                1464,
                'qamatsqatannarrowhebrew',
                1464,
                'qamatsqatanquarterhebrew',
                1464,
                'qamatsqatanwidehebrew',
                1464,
                'qamatsquarterhebrew',
                1464,
                'qamatswidehebrew',
                1464,
                'qarneyparahebrew',
                1439,
                'qbopomofo',
                12561,
                'qcircle',
                9440,
                'qhook',
                672,
                'qmonospace',
                65361,
                'qof',
                1511,
                'qofdagesh',
                64327,
                'qofdageshhebrew',
                64327,
                'qofhebrew',
                1511,
                'qparen',
                9388,
                'quarternote',
                9833,
                'qubuts',
                1467,
                'qubuts18',
                1467,
                'qubuts25',
                1467,
                'qubuts31',
                1467,
                'qubutshebrew',
                1467,
                'qubutsnarrowhebrew',
                1467,
                'qubutsquarterhebrew',
                1467,
                'qubutswidehebrew',
                1467,
                'question',
                63,
                'questionarabic',
                1567,
                'questionarmenian',
                1374,
                'questiondown',
                191,
                'questiondownsmall',
                63423,
                'questiongreek',
                894,
                'questionmonospace',
                65311,
                'questionsmall',
                63295,
                'quotedbl',
                34,
                'quotedblbase',
                8222,
                'quotedblleft',
                8220,
                'quotedblmonospace',
                65282,
                'quotedblprime',
                12318,
                'quotedblprimereversed',
                12317,
                'quotedblright',
                8221,
                'quoteleft',
                8216,
                'quoteleftreversed',
                8219,
                'quotereversed',
                8219,
                'quoteright',
                8217,
                'quoterightn',
                329,
                'quotesinglbase',
                8218,
                'quotesingle',
                39,
                'quotesinglemonospace',
                65287,
                'r',
                114,
                'raarmenian',
                1404,
                'rabengali',
                2480,
                'racute',
                341,
                'radeva',
                2352,
                'radical',
                8730,
                'radicalex',
                63717,
                'radoverssquare',
                13230,
                'radoverssquaredsquare',
                13231,
                'radsquare',
                13229,
                'rafe',
                1471,
                'rafehebrew',
                1471,
                'ragujarati',
                2736,
                'ragurmukhi',
                2608,
                'rahiragana',
                12425,
                'rakatakana',
                12521,
                'rakatakanahalfwidth',
                65431,
                'ralowerdiagonalbengali',
                2545,
                'ramiddlediagonalbengali',
                2544,
                'ramshorn',
                612,
                'ratio',
                8758,
                'rbopomofo',
                12566,
                'rcaron',
                345,
                'rcedilla',
                343,
                'rcircle',
                9441,
                'rcommaaccent',
                343,
                'rdblgrave',
                529,
                'rdotaccent',
                7769,
                'rdotbelow',
                7771,
                'rdotbelowmacron',
                7773,
                'referencemark',
                8251,
                'reflexsubset',
                8838,
                'reflexsuperset',
                8839,
                'registered',
                174,
                'registersans',
                63720,
                'registerserif',
                63194,
                'reharabic',
                1585,
                'reharmenian',
                1408,
                'rehfinalarabic',
                65198,
                'rehiragana',
                12428,
                'rekatakana',
                12524,
                'rekatakanahalfwidth',
                65434,
                'resh',
                1512,
                'reshdageshhebrew',
                64328,
                'reshhebrew',
                1512,
                'reversedtilde',
                8765,
                'reviahebrew',
                1431,
                'reviamugrashhebrew',
                1431,
                'revlogicalnot',
                8976,
                'rfishhook',
                638,
                'rfishhookreversed',
                639,
                'rhabengali',
                2525,
                'rhadeva',
                2397,
                'rho',
                961,
                'rhook',
                637,
                'rhookturned',
                635,
                'rhookturnedsuperior',
                693,
                'rhosymbolgreek',
                1009,
                'rhotichookmod',
                734,
                'rieulacirclekorean',
                12913,
                'rieulaparenkorean',
                12817,
                'rieulcirclekorean',
                12899,
                'rieulhieuhkorean',
                12608,
                'rieulkiyeokkorean',
                12602,
                'rieulkiyeoksioskorean',
                12649,
                'rieulkorean',
                12601,
                'rieulmieumkorean',
                12603,
                'rieulpansioskorean',
                12652,
                'rieulparenkorean',
                12803,
                'rieulphieuphkorean',
                12607,
                'rieulpieupkorean',
                12604,
                'rieulpieupsioskorean',
                12651,
                'rieulsioskorean',
                12605,
                'rieulthieuthkorean',
                12606,
                'rieultikeutkorean',
                12650,
                'rieulyeorinhieuhkorean',
                12653,
                'rightangle',
                8735,
                'righttackbelowcmb',
                793,
                'righttriangle',
                8895,
                'rihiragana',
                12426,
                'rikatakana',
                12522,
                'rikatakanahalfwidth',
                65432,
                'ring',
                730,
                'ringbelowcmb',
                805,
                'ringcmb',
                778,
                'ringhalfleft',
                703,
                'ringhalfleftarmenian',
                1369,
                'ringhalfleftbelowcmb',
                796,
                'ringhalfleftcentered',
                723,
                'ringhalfright',
                702,
                'ringhalfrightbelowcmb',
                825,
                'ringhalfrightcentered',
                722,
                'rinvertedbreve',
                531,
                'rittorusquare',
                13137,
                'rlinebelow',
                7775,
                'rlongleg',
                636,
                'rlonglegturned',
                634,
                'rmonospace',
                65362,
                'rohiragana',
                12429,
                'rokatakana',
                12525,
                'rokatakanahalfwidth',
                65435,
                'roruathai',
                3619,
                'rparen',
                9389,
                'rrabengali',
                2524,
                'rradeva',
                2353,
                'rragurmukhi',
                2652,
                'rreharabic',
                1681,
                'rrehfinalarabic',
                64397,
                'rrvocalicbengali',
                2528,
                'rrvocalicdeva',
                2400,
                'rrvocalicgujarati',
                2784,
                'rrvocalicvowelsignbengali',
                2500,
                'rrvocalicvowelsigndeva',
                2372,
                'rrvocalicvowelsigngujarati',
                2756,
                'rsuperior',
                63217,
                'rtblock',
                9616,
                'rturned',
                633,
                'rturnedsuperior',
                692,
                'ruhiragana',
                12427,
                'rukatakana',
                12523,
                'rukatakanahalfwidth',
                65433,
                'rupeemarkbengali',
                2546,
                'rupeesignbengali',
                2547,
                'rupiah',
                63197,
                'ruthai',
                3620,
                'rvocalicbengali',
                2443,
                'rvocalicdeva',
                2315,
                'rvocalicgujarati',
                2699,
                'rvocalicvowelsignbengali',
                2499,
                'rvocalicvowelsigndeva',
                2371,
                'rvocalicvowelsigngujarati',
                2755,
                's',
                115,
                'sabengali',
                2488,
                'sacute',
                347,
                'sacutedotaccent',
                7781,
                'sadarabic',
                1589,
                'sadeva',
                2360,
                'sadfinalarabic',
                65210,
                'sadinitialarabic',
                65211,
                'sadmedialarabic',
                65212,
                'sagujarati',
                2744,
                'sagurmukhi',
                2616,
                'sahiragana',
                12373,
                'sakatakana',
                12469,
                'sakatakanahalfwidth',
                65403,
                'sallallahoualayhewasallamarabic',
                65018,
                'samekh',
                1505,
                'samekhdagesh',
                64321,
                'samekhdageshhebrew',
                64321,
                'samekhhebrew',
                1505,
                'saraaathai',
                3634,
                'saraaethai',
                3649,
                'saraaimaimalaithai',
                3652,
                'saraaimaimuanthai',
                3651,
                'saraamthai',
                3635,
                'saraathai',
                3632,
                'saraethai',
                3648,
                'saraiileftthai',
                63622,
                'saraiithai',
                3637,
                'saraileftthai',
                63621,
                'saraithai',
                3636,
                'saraothai',
                3650,
                'saraueeleftthai',
                63624,
                'saraueethai',
                3639,
                'saraueleftthai',
                63623,
                'sarauethai',
                3638,
                'sarauthai',
                3640,
                'sarauuthai',
                3641,
                'sbopomofo',
                12569,
                'scaron',
                353,
                'scarondotaccent',
                7783,
                'scedilla',
                351,
                'schwa',
                601,
                'schwacyrillic',
                1241,
                'schwadieresiscyrillic',
                1243,
                'schwahook',
                602,
                'scircle',
                9442,
                'scircumflex',
                349,
                'scommaaccent',
                537,
                'sdotaccent',
                7777,
                'sdotbelow',
                7779,
                'sdotbelowdotaccent',
                7785,
                'seagullbelowcmb',
                828,
                'second',
                8243,
                'secondtonechinese',
                714,
                'section',
                167,
                'seenarabic',
                1587,
                'seenfinalarabic',
                65202,
                'seeninitialarabic',
                65203,
                'seenmedialarabic',
                65204,
                'segol',
                1462,
                'segol13',
                1462,
                'segol1f',
                1462,
                'segol2c',
                1462,
                'segolhebrew',
                1462,
                'segolnarrowhebrew',
                1462,
                'segolquarterhebrew',
                1462,
                'segoltahebrew',
                1426,
                'segolwidehebrew',
                1462,
                'seharmenian',
                1405,
                'sehiragana',
                12379,
                'sekatakana',
                12475,
                'sekatakanahalfwidth',
                65406,
                'semicolon',
                59,
                'semicolonarabic',
                1563,
                'semicolonmonospace',
                65307,
                'semicolonsmall',
                65108,
                'semivoicedmarkkana',
                12444,
                'semivoicedmarkkanahalfwidth',
                65439,
                'sentisquare',
                13090,
                'sentosquare',
                13091,
                'seven',
                55,
                'sevenarabic',
                1639,
                'sevenbengali',
                2541,
                'sevencircle',
                9318,
                'sevencircleinversesansserif',
                10128,
                'sevendeva',
                2413,
                'seveneighths',
                8542,
                'sevengujarati',
                2797,
                'sevengurmukhi',
                2669,
                'sevenhackarabic',
                1639,
                'sevenhangzhou',
                12327,
                'sevenideographicparen',
                12838,
                'seveninferior',
                8327,
                'sevenmonospace',
                65303,
                'sevenoldstyle',
                63287,
                'sevenparen',
                9338,
                'sevenperiod',
                9358,
                'sevenpersian',
                1783,
                'sevenroman',
                8566,
                'sevensuperior',
                8311,
                'seventeencircle',
                9328,
                'seventeenparen',
                9348,
                'seventeenperiod',
                9368,
                'seventhai',
                3671,
                'sfthyphen',
                173,
                'shaarmenian',
                1399,
                'shabengali',
                2486,
                'shacyrillic',
                1096,
                'shaddaarabic',
                1617,
                'shaddadammaarabic',
                64609,
                'shaddadammatanarabic',
                64606,
                'shaddafathaarabic',
                64608,
                'shaddakasraarabic',
                64610,
                'shaddakasratanarabic',
                64607,
                'shade',
                9618,
                'shadedark',
                9619,
                'shadelight',
                9617,
                'shademedium',
                9618,
                'shadeva',
                2358,
                'shagujarati',
                2742,
                'shagurmukhi',
                2614,
                'shalshelethebrew',
                1427,
                'shbopomofo',
                12565,
                'shchacyrillic',
                1097,
                'sheenarabic',
                1588,
                'sheenfinalarabic',
                65206,
                'sheeninitialarabic',
                65207,
                'sheenmedialarabic',
                65208,
                'sheicoptic',
                995,
                'sheqel',
                8362,
                'sheqelhebrew',
                8362,
                'sheva',
                1456,
                'sheva115',
                1456,
                'sheva15',
                1456,
                'sheva22',
                1456,
                'sheva2e',
                1456,
                'shevahebrew',
                1456,
                'shevanarrowhebrew',
                1456,
                'shevaquarterhebrew',
                1456,
                'shevawidehebrew',
                1456,
                'shhacyrillic',
                1211,
                'shimacoptic',
                1005,
                'shin',
                1513,
                'shindagesh',
                64329,
                'shindageshhebrew',
                64329,
                'shindageshshindot',
                64300,
                'shindageshshindothebrew',
                64300,
                'shindageshsindot',
                64301,
                'shindageshsindothebrew',
                64301,
                'shindothebrew',
                1473,
                'shinhebrew',
                1513,
                'shinshindot',
                64298,
                'shinshindothebrew',
                64298,
                'shinsindot',
                64299,
                'shinsindothebrew',
                64299,
                'shook',
                642,
                'sigma',
                963,
                'sigma1',
                962,
                'sigmafinal',
                962,
                'sigmalunatesymbolgreek',
                1010,
                'sihiragana',
                12375,
                'sikatakana',
                12471,
                'sikatakanahalfwidth',
                65404,
                'siluqhebrew',
                1469,
                'siluqlefthebrew',
                1469,
                'similar',
                8764,
                'sindothebrew',
                1474,
                'siosacirclekorean',
                12916,
                'siosaparenkorean',
                12820,
                'sioscieuckorean',
                12670,
                'sioscirclekorean',
                12902,
                'sioskiyeokkorean',
                12666,
                'sioskorean',
                12613,
                'siosnieunkorean',
                12667,
                'siosparenkorean',
                12806,
                'siospieupkorean',
                12669,
                'siostikeutkorean',
                12668,
                'six',
                54,
                'sixarabic',
                1638,
                'sixbengali',
                2540,
                'sixcircle',
                9317,
                'sixcircleinversesansserif',
                10127,
                'sixdeva',
                2412,
                'sixgujarati',
                2796,
                'sixgurmukhi',
                2668,
                'sixhackarabic',
                1638,
                'sixhangzhou',
                12326,
                'sixideographicparen',
                12837,
                'sixinferior',
                8326,
                'sixmonospace',
                65302,
                'sixoldstyle',
                63286,
                'sixparen',
                9337,
                'sixperiod',
                9357,
                'sixpersian',
                1782,
                'sixroman',
                8565,
                'sixsuperior',
                8310,
                'sixteencircle',
                9327,
                'sixteencurrencydenominatorbengali',
                2553,
                'sixteenparen',
                9347,
                'sixteenperiod',
                9367,
                'sixthai',
                3670,
                'slash',
                47,
                'slashmonospace',
                65295,
                'slong',
                383,
                'slongdotaccent',
                7835,
                'smileface',
                9786,
                'smonospace',
                65363,
                'sofpasuqhebrew',
                1475,
                'softhyphen',
                173,
                'softsigncyrillic',
                1100,
                'sohiragana',
                12381,
                'sokatakana',
                12477,
                'sokatakanahalfwidth',
                65407,
                'soliduslongoverlaycmb',
                824,
                'solidusshortoverlaycmb',
                823,
                'sorusithai',
                3625,
                'sosalathai',
                3624,
                'sosothai',
                3595,
                'sosuathai',
                3626,
                'space',
                32,
                'spacehackarabic',
                32,
                'spade',
                9824,
                'spadesuitblack',
                9824,
                'spadesuitwhite',
                9828,
                'sparen',
                9390,
                'squarebelowcmb',
                827,
                'squarecc',
                13252,
                'squarecm',
                13213,
                'squarediagonalcrosshatchfill',
                9641,
                'squarehorizontalfill',
                9636,
                'squarekg',
                13199,
                'squarekm',
                13214,
                'squarekmcapital',
                13262,
                'squareln',
                13265,
                'squarelog',
                13266,
                'squaremg',
                13198,
                'squaremil',
                13269,
                'squaremm',
                13212,
                'squaremsquared',
                13217,
                'squareorthogonalcrosshatchfill',
                9638,
                'squareupperlefttolowerrightfill',
                9639,
                'squareupperrighttolowerleftfill',
                9640,
                'squareverticalfill',
                9637,
                'squarewhitewithsmallblack',
                9635,
                'srsquare',
                13275,
                'ssabengali',
                2487,
                'ssadeva',
                2359,
                'ssagujarati',
                2743,
                'ssangcieuckorean',
                12617,
                'ssanghieuhkorean',
                12677,
                'ssangieungkorean',
                12672,
                'ssangkiyeokkorean',
                12594,
                'ssangnieunkorean',
                12645,
                'ssangpieupkorean',
                12611,
                'ssangsioskorean',
                12614,
                'ssangtikeutkorean',
                12600,
                'ssuperior',
                63218,
                'sterling',
                163,
                'sterlingmonospace',
                65505,
                'strokelongoverlaycmb',
                822,
                'strokeshortoverlaycmb',
                821,
                'subset',
                8834,
                'subsetnotequal',
                8842,
                'subsetorequal',
                8838,
                'succeeds',
                8827,
                'suchthat',
                8715,
                'suhiragana',
                12377,
                'sukatakana',
                12473,
                'sukatakanahalfwidth',
                65405,
                'sukunarabic',
                1618,
                'summation',
                8721,
                'sun',
                9788,
                'superset',
                8835,
                'supersetnotequal',
                8843,
                'supersetorequal',
                8839,
                'svsquare',
                13276,
                'syouwaerasquare',
                13180,
                't',
                116,
                'tabengali',
                2468,
                'tackdown',
                8868,
                'tackleft',
                8867,
                'tadeva',
                2340,
                'tagujarati',
                2724,
                'tagurmukhi',
                2596,
                'taharabic',
                1591,
                'tahfinalarabic',
                65218,
                'tahinitialarabic',
                65219,
                'tahiragana',
                12383,
                'tahmedialarabic',
                65220,
                'taisyouerasquare',
                13181,
                'takatakana',
                12479,
                'takatakanahalfwidth',
                65408,
                'tatweelarabic',
                1600,
                'tau',
                964,
                'tav',
                1514,
                'tavdages',
                64330,
                'tavdagesh',
                64330,
                'tavdageshhebrew',
                64330,
                'tavhebrew',
                1514,
                'tbar',
                359,
                'tbopomofo',
                12554,
                'tcaron',
                357,
                'tccurl',
                680,
                'tcedilla',
                355,
                'tcheharabic',
                1670,
                'tchehfinalarabic',
                64379,
                'tchehinitialarabic',
                64380,
                'tchehmedialarabic',
                64381,
                'tcircle',
                9443,
                'tcircumflexbelow',
                7793,
                'tcommaaccent',
                355,
                'tdieresis',
                7831,
                'tdotaccent',
                7787,
                'tdotbelow',
                7789,
                'tecyrillic',
                1090,
                'tedescendercyrillic',
                1197,
                'teharabic',
                1578,
                'tehfinalarabic',
                65174,
                'tehhahinitialarabic',
                64674,
                'tehhahisolatedarabic',
                64524,
                'tehinitialarabic',
                65175,
                'tehiragana',
                12390,
                'tehjeeminitialarabic',
                64673,
                'tehjeemisolatedarabic',
                64523,
                'tehmarbutaarabic',
                1577,
                'tehmarbutafinalarabic',
                65172,
                'tehmedialarabic',
                65176,
                'tehmeeminitialarabic',
                64676,
                'tehmeemisolatedarabic',
                64526,
                'tehnoonfinalarabic',
                64627,
                'tekatakana',
                12486,
                'tekatakanahalfwidth',
                65411,
                'telephone',
                8481,
                'telephoneblack',
                9742,
                'telishagedolahebrew',
                1440,
                'telishaqetanahebrew',
                1449,
                'tencircle',
                9321,
                'tenideographicparen',
                12841,
                'tenparen',
                9341,
                'tenperiod',
                9361,
                'tenroman',
                8569,
                'tesh',
                679,
                'tet',
                1496,
                'tetdagesh',
                64312,
                'tetdageshhebrew',
                64312,
                'tethebrew',
                1496,
                'tetsecyrillic',
                1205,
                'tevirhebrew',
                1435,
                'tevirlefthebrew',
                1435,
                'thabengali',
                2469,
                'thadeva',
                2341,
                'thagujarati',
                2725,
                'thagurmukhi',
                2597,
                'thalarabic',
                1584,
                'thalfinalarabic',
                65196,
                'thanthakhatlowleftthai',
                63640,
                'thanthakhatlowrightthai',
                63639,
                'thanthakhatthai',
                3660,
                'thanthakhatupperleftthai',
                63638,
                'theharabic',
                1579,
                'thehfinalarabic',
                65178,
                'thehinitialarabic',
                65179,
                'thehmedialarabic',
                65180,
                'thereexists',
                8707,
                'therefore',
                8756,
                'theta',
                952,
                'theta1',
                977,
                'thetasymbolgreek',
                977,
                'thieuthacirclekorean',
                12921,
                'thieuthaparenkorean',
                12825,
                'thieuthcirclekorean',
                12907,
                'thieuthkorean',
                12620,
                'thieuthparenkorean',
                12811,
                'thirteencircle',
                9324,
                'thirteenparen',
                9344,
                'thirteenperiod',
                9364,
                'thonangmonthothai',
                3601,
                'thook',
                429,
                'thophuthaothai',
                3602,
                'thorn',
                254,
                'thothahanthai',
                3607,
                'thothanthai',
                3600,
                'thothongthai',
                3608,
                'thothungthai',
                3606,
                'thousandcyrillic',
                1154,
                'thousandsseparatorarabic',
                1644,
                'thousandsseparatorpersian',
                1644,
                'three',
                51,
                'threearabic',
                1635,
                'threebengali',
                2537,
                'threecircle',
                9314,
                'threecircleinversesansserif',
                10124,
                'threedeva',
                2409,
                'threeeighths',
                8540,
                'threegujarati',
                2793,
                'threegurmukhi',
                2665,
                'threehackarabic',
                1635,
                'threehangzhou',
                12323,
                'threeideographicparen',
                12834,
                'threeinferior',
                8323,
                'threemonospace',
                65299,
                'threenumeratorbengali',
                2550,
                'threeoldstyle',
                63283,
                'threeparen',
                9334,
                'threeperiod',
                9354,
                'threepersian',
                1779,
                'threequarters',
                190,
                'threequartersemdash',
                63198,
                'threeroman',
                8562,
                'threesuperior',
                179,
                'threethai',
                3667,
                'thzsquare',
                13204,
                'tihiragana',
                12385,
                'tikatakana',
                12481,
                'tikatakanahalfwidth',
                65409,
                'tikeutacirclekorean',
                12912,
                'tikeutaparenkorean',
                12816,
                'tikeutcirclekorean',
                12898,
                'tikeutkorean',
                12599,
                'tikeutparenkorean',
                12802,
                'tilde',
                732,
                'tildebelowcmb',
                816,
                'tildecmb',
                771,
                'tildecomb',
                771,
                'tildedoublecmb',
                864,
                'tildeoperator',
                8764,
                'tildeoverlaycmb',
                820,
                'tildeverticalcmb',
                830,
                'timescircle',
                8855,
                'tipehahebrew',
                1430,
                'tipehalefthebrew',
                1430,
                'tippigurmukhi',
                2672,
                'titlocyrilliccmb',
                1155,
                'tiwnarmenian',
                1407,
                'tlinebelow',
                7791,
                'tmonospace',
                65364,
                'toarmenian',
                1385,
                'tohiragana',
                12392,
                'tokatakana',
                12488,
                'tokatakanahalfwidth',
                65412,
                'tonebarextrahighmod',
                741,
                'tonebarextralowmod',
                745,
                'tonebarhighmod',
                742,
                'tonebarlowmod',
                744,
                'tonebarmidmod',
                743,
                'tonefive',
                445,
                'tonesix',
                389,
                'tonetwo',
                424,
                'tonos',
                900,
                'tonsquare',
                13095,
                'topatakthai',
                3599,
                'tortoiseshellbracketleft',
                12308,
                'tortoiseshellbracketleftsmall',
                65117,
                'tortoiseshellbracketleftvertical',
                65081,
                'tortoiseshellbracketright',
                12309,
                'tortoiseshellbracketrightsmall',
                65118,
                'tortoiseshellbracketrightvertical',
                65082,
                'totaothai',
                3605,
                'tpalatalhook',
                427,
                'tparen',
                9391,
                'trademark',
                8482,
                'trademarksans',
                63722,
                'trademarkserif',
                63195,
                'tretroflexhook',
                648,
                'triagdn',
                9660,
                'triaglf',
                9668,
                'triagrt',
                9658,
                'triagup',
                9650,
                'ts',
                678,
                'tsadi',
                1510,
                'tsadidagesh',
                64326,
                'tsadidageshhebrew',
                64326,
                'tsadihebrew',
                1510,
                'tsecyrillic',
                1094,
                'tsere',
                1461,
                'tsere12',
                1461,
                'tsere1e',
                1461,
                'tsere2b',
                1461,
                'tserehebrew',
                1461,
                'tserenarrowhebrew',
                1461,
                'tserequarterhebrew',
                1461,
                'tserewidehebrew',
                1461,
                'tshecyrillic',
                1115,
                'tsuperior',
                63219,
                'ttabengali',
                2463,
                'ttadeva',
                2335,
                'ttagujarati',
                2719,
                'ttagurmukhi',
                2591,
                'tteharabic',
                1657,
                'ttehfinalarabic',
                64359,
                'ttehinitialarabic',
                64360,
                'ttehmedialarabic',
                64361,
                'tthabengali',
                2464,
                'tthadeva',
                2336,
                'tthagujarati',
                2720,
                'tthagurmukhi',
                2592,
                'tturned',
                647,
                'tuhiragana',
                12388,
                'tukatakana',
                12484,
                'tukatakanahalfwidth',
                65410,
                'tusmallhiragana',
                12387,
                'tusmallkatakana',
                12483,
                'tusmallkatakanahalfwidth',
                65391,
                'twelvecircle',
                9323,
                'twelveparen',
                9343,
                'twelveperiod',
                9363,
                'twelveroman',
                8571,
                'twentycircle',
                9331,
                'twentyhangzhou',
                21316,
                'twentyparen',
                9351,
                'twentyperiod',
                9371,
                'two',
                50,
                'twoarabic',
                1634,
                'twobengali',
                2536,
                'twocircle',
                9313,
                'twocircleinversesansserif',
                10123,
                'twodeva',
                2408,
                'twodotenleader',
                8229,
                'twodotleader',
                8229,
                'twodotleadervertical',
                65072,
                'twogujarati',
                2792,
                'twogurmukhi',
                2664,
                'twohackarabic',
                1634,
                'twohangzhou',
                12322,
                'twoideographicparen',
                12833,
                'twoinferior',
                8322,
                'twomonospace',
                65298,
                'twonumeratorbengali',
                2549,
                'twooldstyle',
                63282,
                'twoparen',
                9333,
                'twoperiod',
                9353,
                'twopersian',
                1778,
                'tworoman',
                8561,
                'twostroke',
                443,
                'twosuperior',
                178,
                'twothai',
                3666,
                'twothirds',
                8532,
                'u',
                117,
                'uacute',
                250,
                'ubar',
                649,
                'ubengali',
                2441,
                'ubopomofo',
                12584,
                'ubreve',
                365,
                'ucaron',
                468,
                'ucircle',
                9444,
                'ucircumflex',
                251,
                'ucircumflexbelow',
                7799,
                'ucyrillic',
                1091,
                'udattadeva',
                2385,
                'udblacute',
                369,
                'udblgrave',
                533,
                'udeva',
                2313,
                'udieresis',
                252,
                'udieresisacute',
                472,
                'udieresisbelow',
                7795,
                'udieresiscaron',
                474,
                'udieresiscyrillic',
                1265,
                'udieresisgrave',
                476,
                'udieresismacron',
                470,
                'udotbelow',
                7909,
                'ugrave',
                249,
                'ugujarati',
                2697,
                'ugurmukhi',
                2569,
                'uhiragana',
                12358,
                'uhookabove',
                7911,
                'uhorn',
                432,
                'uhornacute',
                7913,
                'uhorndotbelow',
                7921,
                'uhorngrave',
                7915,
                'uhornhookabove',
                7917,
                'uhorntilde',
                7919,
                'uhungarumlaut',
                369,
                'uhungarumlautcyrillic',
                1267,
                'uinvertedbreve',
                535,
                'ukatakana',
                12454,
                'ukatakanahalfwidth',
                65395,
                'ukcyrillic',
                1145,
                'ukorean',
                12636,
                'umacron',
                363,
                'umacroncyrillic',
                1263,
                'umacrondieresis',
                7803,
                'umatragurmukhi',
                2625,
                'umonospace',
                65365,
                'underscore',
                95,
                'underscoredbl',
                8215,
                'underscoremonospace',
                65343,
                'underscorevertical',
                65075,
                'underscorewavy',
                65103,
                'union',
                8746,
                'universal',
                8704,
                'uogonek',
                371,
                'uparen',
                9392,
                'upblock',
                9600,
                'upperdothebrew',
                1476,
                'upsilon',
                965,
                'upsilondieresis',
                971,
                'upsilondieresistonos',
                944,
                'upsilonlatin',
                650,
                'upsilontonos',
                973,
                'uptackbelowcmb',
                797,
                'uptackmod',
                724,
                'uragurmukhi',
                2675,
                'uring',
                367,
                'ushortcyrillic',
                1118,
                'usmallhiragana',
                12357,
                'usmallkatakana',
                12453,
                'usmallkatakanahalfwidth',
                65385,
                'ustraightcyrillic',
                1199,
                'ustraightstrokecyrillic',
                1201,
                'utilde',
                361,
                'utildeacute',
                7801,
                'utildebelow',
                7797,
                'uubengali',
                2442,
                'uudeva',
                2314,
                'uugujarati',
                2698,
                'uugurmukhi',
                2570,
                'uumatragurmukhi',
                2626,
                'uuvowelsignbengali',
                2498,
                'uuvowelsigndeva',
                2370,
                'uuvowelsigngujarati',
                2754,
                'uvowelsignbengali',
                2497,
                'uvowelsigndeva',
                2369,
                'uvowelsigngujarati',
                2753,
                'v',
                118,
                'vadeva',
                2357,
                'vagujarati',
                2741,
                'vagurmukhi',
                2613,
                'vakatakana',
                12535,
                'vav',
                1493,
                'vavdagesh',
                64309,
                'vavdagesh65',
                64309,
                'vavdageshhebrew',
                64309,
                'vavhebrew',
                1493,
                'vavholam',
                64331,
                'vavholamhebrew',
                64331,
                'vavvavhebrew',
                1520,
                'vavyodhebrew',
                1521,
                'vcircle',
                9445,
                'vdotbelow',
                7807,
                'vecyrillic',
                1074,
                'veharabic',
                1700,
                'vehfinalarabic',
                64363,
                'vehinitialarabic',
                64364,
                'vehmedialarabic',
                64365,
                'vekatakana',
                12537,
                'venus',
                9792,
                'verticalbar',
                124,
                'verticallineabovecmb',
                781,
                'verticallinebelowcmb',
                809,
                'verticallinelowmod',
                716,
                'verticallinemod',
                712,
                'vewarmenian',
                1406,
                'vhook',
                651,
                'vikatakana',
                12536,
                'viramabengali',
                2509,
                'viramadeva',
                2381,
                'viramagujarati',
                2765,
                'visargabengali',
                2435,
                'visargadeva',
                2307,
                'visargagujarati',
                2691,
                'vmonospace',
                65366,
                'voarmenian',
                1400,
                'voicediterationhiragana',
                12446,
                'voicediterationkatakana',
                12542,
                'voicedmarkkana',
                12443,
                'voicedmarkkanahalfwidth',
                65438,
                'vokatakana',
                12538,
                'vparen',
                9393,
                'vtilde',
                7805,
                'vturned',
                652,
                'vuhiragana',
                12436,
                'vukatakana',
                12532,
                'w',
                119,
                'wacute',
                7811,
                'waekorean',
                12633,
                'wahiragana',
                12431,
                'wakatakana',
                12527,
                'wakatakanahalfwidth',
                65436,
                'wakorean',
                12632,
                'wasmallhiragana',
                12430,
                'wasmallkatakana',
                12526,
                'wattosquare',
                13143,
                'wavedash',
                12316,
                'wavyunderscorevertical',
                65076,
                'wawarabic',
                1608,
                'wawfinalarabic',
                65262,
                'wawhamzaabovearabic',
                1572,
                'wawhamzaabovefinalarabic',
                65158,
                'wbsquare',
                13277,
                'wcircle',
                9446,
                'wcircumflex',
                373,
                'wdieresis',
                7813,
                'wdotaccent',
                7815,
                'wdotbelow',
                7817,
                'wehiragana',
                12433,
                'weierstrass',
                8472,
                'wekatakana',
                12529,
                'wekorean',
                12638,
                'weokorean',
                12637,
                'wgrave',
                7809,
                'whitebullet',
                9702,
                'whitecircle',
                9675,
                'whitecircleinverse',
                9689,
                'whitecornerbracketleft',
                12302,
                'whitecornerbracketleftvertical',
                65091,
                'whitecornerbracketright',
                12303,
                'whitecornerbracketrightvertical',
                65092,
                'whitediamond',
                9671,
                'whitediamondcontainingblacksmalldiamond',
                9672,
                'whitedownpointingsmalltriangle',
                9663,
                'whitedownpointingtriangle',
                9661,
                'whiteleftpointingsmalltriangle',
                9667,
                'whiteleftpointingtriangle',
                9665,
                'whitelenticularbracketleft',
                12310,
                'whitelenticularbracketright',
                12311,
                'whiterightpointingsmalltriangle',
                9657,
                'whiterightpointingtriangle',
                9655,
                'whitesmallsquare',
                9643,
                'whitesmilingface',
                9786,
                'whitesquare',
                9633,
                'whitestar',
                9734,
                'whitetelephone',
                9743,
                'whitetortoiseshellbracketleft',
                12312,
                'whitetortoiseshellbracketright',
                12313,
                'whiteuppointingsmalltriangle',
                9653,
                'whiteuppointingtriangle',
                9651,
                'wihiragana',
                12432,
                'wikatakana',
                12528,
                'wikorean',
                12639,
                'wmonospace',
                65367,
                'wohiragana',
                12434,
                'wokatakana',
                12530,
                'wokatakanahalfwidth',
                65382,
                'won',
                8361,
                'wonmonospace',
                65510,
                'wowaenthai',
                3623,
                'wparen',
                9394,
                'wring',
                7832,
                'wsuperior',
                695,
                'wturned',
                653,
                'wynn',
                447,
                'x',
                120,
                'xabovecmb',
                829,
                'xbopomofo',
                12562,
                'xcircle',
                9447,
                'xdieresis',
                7821,
                'xdotaccent',
                7819,
                'xeharmenian',
                1389,
                'xi',
                958,
                'xmonospace',
                65368,
                'xparen',
                9395,
                'xsuperior',
                739,
                'y',
                121,
                'yaadosquare',
                13134,
                'yabengali',
                2479,
                'yacute',
                253,
                'yadeva',
                2351,
                'yaekorean',
                12626,
                'yagujarati',
                2735,
                'yagurmukhi',
                2607,
                'yahiragana',
                12420,
                'yakatakana',
                12516,
                'yakatakanahalfwidth',
                65428,
                'yakorean',
                12625,
                'yamakkanthai',
                3662,
                'yasmallhiragana',
                12419,
                'yasmallkatakana',
                12515,
                'yasmallkatakanahalfwidth',
                65388,
                'yatcyrillic',
                1123,
                'ycircle',
                9448,
                'ycircumflex',
                375,
                'ydieresis',
                255,
                'ydotaccent',
                7823,
                'ydotbelow',
                7925,
                'yeharabic',
                1610,
                'yehbarreearabic',
                1746,
                'yehbarreefinalarabic',
                64431,
                'yehfinalarabic',
                65266,
                'yehhamzaabovearabic',
                1574,
                'yehhamzaabovefinalarabic',
                65162,
                'yehhamzaaboveinitialarabic',
                65163,
                'yehhamzaabovemedialarabic',
                65164,
                'yehinitialarabic',
                65267,
                'yehmedialarabic',
                65268,
                'yehmeeminitialarabic',
                64733,
                'yehmeemisolatedarabic',
                64600,
                'yehnoonfinalarabic',
                64660,
                'yehthreedotsbelowarabic',
                1745,
                'yekorean',
                12630,
                'yen',
                165,
                'yenmonospace',
                65509,
                'yeokorean',
                12629,
                'yeorinhieuhkorean',
                12678,
                'yerahbenyomohebrew',
                1450,
                'yerahbenyomolefthebrew',
                1450,
                'yericyrillic',
                1099,
                'yerudieresiscyrillic',
                1273,
                'yesieungkorean',
                12673,
                'yesieungpansioskorean',
                12675,
                'yesieungsioskorean',
                12674,
                'yetivhebrew',
                1434,
                'ygrave',
                7923,
                'yhook',
                436,
                'yhookabove',
                7927,
                'yiarmenian',
                1397,
                'yicyrillic',
                1111,
                'yikorean',
                12642,
                'yinyang',
                9775,
                'yiwnarmenian',
                1410,
                'ymonospace',
                65369,
                'yod',
                1497,
                'yoddagesh',
                64313,
                'yoddageshhebrew',
                64313,
                'yodhebrew',
                1497,
                'yodyodhebrew',
                1522,
                'yodyodpatahhebrew',
                64287,
                'yohiragana',
                12424,
                'yoikorean',
                12681,
                'yokatakana',
                12520,
                'yokatakanahalfwidth',
                65430,
                'yokorean',
                12635,
                'yosmallhiragana',
                12423,
                'yosmallkatakana',
                12519,
                'yosmallkatakanahalfwidth',
                65390,
                'yotgreek',
                1011,
                'yoyaekorean',
                12680,
                'yoyakorean',
                12679,
                'yoyakthai',
                3618,
                'yoyingthai',
                3597,
                'yparen',
                9396,
                'ypogegrammeni',
                890,
                'ypogegrammenigreekcmb',
                837,
                'yr',
                422,
                'yring',
                7833,
                'ysuperior',
                696,
                'ytilde',
                7929,
                'yturned',
                654,
                'yuhiragana',
                12422,
                'yuikorean',
                12684,
                'yukatakana',
                12518,
                'yukatakanahalfwidth',
                65429,
                'yukorean',
                12640,
                'yusbigcyrillic',
                1131,
                'yusbigiotifiedcyrillic',
                1133,
                'yuslittlecyrillic',
                1127,
                'yuslittleiotifiedcyrillic',
                1129,
                'yusmallhiragana',
                12421,
                'yusmallkatakana',
                12517,
                'yusmallkatakanahalfwidth',
                65389,
                'yuyekorean',
                12683,
                'yuyeokorean',
                12682,
                'yyabengali',
                2527,
                'yyadeva',
                2399,
                'z',
                122,
                'zaarmenian',
                1382,
                'zacute',
                378,
                'zadeva',
                2395,
                'zagurmukhi',
                2651,
                'zaharabic',
                1592,
                'zahfinalarabic',
                65222,
                'zahinitialarabic',
                65223,
                'zahiragana',
                12374,
                'zahmedialarabic',
                65224,
                'zainarabic',
                1586,
                'zainfinalarabic',
                65200,
                'zakatakana',
                12470,
                'zaqefgadolhebrew',
                1429,
                'zaqefqatanhebrew',
                1428,
                'zarqahebrew',
                1432,
                'zayin',
                1494,
                'zayindagesh',
                64310,
                'zayindageshhebrew',
                64310,
                'zayinhebrew',
                1494,
                'zbopomofo',
                12567,
                'zcaron',
                382,
                'zcircle',
                9449,
                'zcircumflex',
                7825,
                'zcurl',
                657,
                'zdot',
                380,
                'zdotaccent',
                380,
                'zdotbelow',
                7827,
                'zecyrillic',
                1079,
                'zedescendercyrillic',
                1177,
                'zedieresiscyrillic',
                1247,
                'zehiragana',
                12380,
                'zekatakana',
                12476,
                'zero',
                48,
                'zeroarabic',
                1632,
                'zerobengali',
                2534,
                'zerodeva',
                2406,
                'zerogujarati',
                2790,
                'zerogurmukhi',
                2662,
                'zerohackarabic',
                1632,
                'zeroinferior',
                8320,
                'zeromonospace',
                65296,
                'zerooldstyle',
                63280,
                'zeropersian',
                1776,
                'zerosuperior',
                8304,
                'zerothai',
                3664,
                'zerowidthjoiner',
                65279,
                'zerowidthnonjoiner',
                8204,
                'zerowidthspace',
                8203,
                'zeta',
                950,
                'zhbopomofo',
                12563,
                'zhearmenian',
                1386,
                'zhebrevecyrillic',
                1218,
                'zhecyrillic',
                1078,
                'zhedescendercyrillic',
                1175,
                'zhedieresiscyrillic',
                1245,
                'zihiragana',
                12376,
                'zikatakana',
                12472,
                'zinorhebrew',
                1454,
                'zlinebelow',
                7829,
                'zmonospace',
                65370,
                'zohiragana',
                12382,
                'zokatakana',
                12478,
                'zparen',
                9397,
                'zretroflexhook',
                656,
                'zstroke',
                438,
                'zuhiragana',
                12378,
                'zukatakana',
                12474,
                '.notdef',
                0,
                'angbracketleftbig',
                9001,
                'angbracketleftBig',
                9001,
                'angbracketleftbigg',
                9001,
                'angbracketleftBigg',
                9001,
                'angbracketrightBig',
                9002,
                'angbracketrightbig',
                9002,
                'angbracketrightBigg',
                9002,
                'angbracketrightbigg',
                9002,
                'arrowhookleft',
                8618,
                'arrowhookright',
                8617,
                'arrowlefttophalf',
                8636,
                'arrowleftbothalf',
                8637,
                'arrownortheast',
                8599,
                'arrownorthwest',
                8598,
                'arrowrighttophalf',
                8640,
                'arrowrightbothalf',
                8641,
                'arrowsoutheast',
                8600,
                'arrowsouthwest',
                8601,
                'backslashbig',
                8726,
                'backslashBig',
                8726,
                'backslashBigg',
                8726,
                'backslashbigg',
                8726,
                'bardbl',
                8214,
                'bracehtipdownleft',
                65079,
                'bracehtipdownright',
                65079,
                'bracehtipupleft',
                65080,
                'bracehtipupright',
                65080,
                'braceleftBig',
                123,
                'braceleftbig',
                123,
                'braceleftbigg',
                123,
                'braceleftBigg',
                123,
                'bracerightBig',
                125,
                'bracerightbig',
                125,
                'bracerightbigg',
                125,
                'bracerightBigg',
                125,
                'bracketleftbig',
                91,
                'bracketleftBig',
                91,
                'bracketleftbigg',
                91,
                'bracketleftBigg',
                91,
                'bracketrightBig',
                93,
                'bracketrightbig',
                93,
                'bracketrightbigg',
                93,
                'bracketrightBigg',
                93,
                'ceilingleftbig',
                8968,
                'ceilingleftBig',
                8968,
                'ceilingleftBigg',
                8968,
                'ceilingleftbigg',
                8968,
                'ceilingrightbig',
                8969,
                'ceilingrightBig',
                8969,
                'ceilingrightbigg',
                8969,
                'ceilingrightBigg',
                8969,
                'circledotdisplay',
                8857,
                'circledottext',
                8857,
                'circlemultiplydisplay',
                8855,
                'circlemultiplytext',
                8855,
                'circleplusdisplay',
                8853,
                'circleplustext',
                8853,
                'contintegraldisplay',
                8750,
                'contintegraltext',
                8750,
                'coproductdisplay',
                8720,
                'coproducttext',
                8720,
                'floorleftBig',
                8970,
                'floorleftbig',
                8970,
                'floorleftbigg',
                8970,
                'floorleftBigg',
                8970,
                'floorrightbig',
                8971,
                'floorrightBig',
                8971,
                'floorrightBigg',
                8971,
                'floorrightbigg',
                8971,
                'hatwide',
                770,
                'hatwider',
                770,
                'hatwidest',
                770,
                'intercal',
                7488,
                'integraldisplay',
                8747,
                'integraltext',
                8747,
                'intersectiondisplay',
                8898,
                'intersectiontext',
                8898,
                'logicalanddisplay',
                8743,
                'logicalandtext',
                8743,
                'logicalordisplay',
                8744,
                'logicalortext',
                8744,
                'parenleftBig',
                40,
                'parenleftbig',
                40,
                'parenleftBigg',
                40,
                'parenleftbigg',
                40,
                'parenrightBig',
                41,
                'parenrightbig',
                41,
                'parenrightBigg',
                41,
                'parenrightbigg',
                41,
                'prime',
                8242,
                'productdisplay',
                8719,
                'producttext',
                8719,
                'radicalbig',
                8730,
                'radicalBig',
                8730,
                'radicalBigg',
                8730,
                'radicalbigg',
                8730,
                'radicalbt',
                8730,
                'radicaltp',
                8730,
                'radicalvertex',
                8730,
                'slashbig',
                47,
                'slashBig',
                47,
                'slashBigg',
                47,
                'slashbigg',
                47,
                'summationdisplay',
                8721,
                'summationtext',
                8721,
                'tildewide',
                732,
                'tildewider',
                732,
                'tildewidest',
                732,
                'uniondisplay',
                8899,
                'unionmultidisplay',
                8846,
                'unionmultitext',
                8846,
                'unionsqdisplay',
                8852,
                'unionsqtext',
                8852,
                'uniontext',
                8899,
                'vextenddouble',
                8741,
                'vextendsingle',
                8739,
              ];
            }),
            i = (0, r.getArrayLookupTableFactory)(function () {
              return [
                'space',
                32,
                'a1',
                9985,
                'a2',
                9986,
                'a202',
                9987,
                'a3',
                9988,
                'a4',
                9742,
                'a5',
                9990,
                'a119',
                9991,
                'a118',
                9992,
                'a117',
                9993,
                'a11',
                9755,
                'a12',
                9758,
                'a13',
                9996,
                'a14',
                9997,
                'a15',
                9998,
                'a16',
                9999,
                'a105',
                1e4,
                'a17',
                10001,
                'a18',
                10002,
                'a19',
                10003,
                'a20',
                10004,
                'a21',
                10005,
                'a22',
                10006,
                'a23',
                10007,
                'a24',
                10008,
                'a25',
                10009,
                'a26',
                10010,
                'a27',
                10011,
                'a28',
                10012,
                'a6',
                10013,
                'a7',
                10014,
                'a8',
                10015,
                'a9',
                10016,
                'a10',
                10017,
                'a29',
                10018,
                'a30',
                10019,
                'a31',
                10020,
                'a32',
                10021,
                'a33',
                10022,
                'a34',
                10023,
                'a35',
                9733,
                'a36',
                10025,
                'a37',
                10026,
                'a38',
                10027,
                'a39',
                10028,
                'a40',
                10029,
                'a41',
                10030,
                'a42',
                10031,
                'a43',
                10032,
                'a44',
                10033,
                'a45',
                10034,
                'a46',
                10035,
                'a47',
                10036,
                'a48',
                10037,
                'a49',
                10038,
                'a50',
                10039,
                'a51',
                10040,
                'a52',
                10041,
                'a53',
                10042,
                'a54',
                10043,
                'a55',
                10044,
                'a56',
                10045,
                'a57',
                10046,
                'a58',
                10047,
                'a59',
                10048,
                'a60',
                10049,
                'a61',
                10050,
                'a62',
                10051,
                'a63',
                10052,
                'a64',
                10053,
                'a65',
                10054,
                'a66',
                10055,
                'a67',
                10056,
                'a68',
                10057,
                'a69',
                10058,
                'a70',
                10059,
                'a71',
                9679,
                'a72',
                10061,
                'a73',
                9632,
                'a74',
                10063,
                'a203',
                10064,
                'a75',
                10065,
                'a204',
                10066,
                'a76',
                9650,
                'a77',
                9660,
                'a78',
                9670,
                'a79',
                10070,
                'a81',
                9687,
                'a82',
                10072,
                'a83',
                10073,
                'a84',
                10074,
                'a97',
                10075,
                'a98',
                10076,
                'a99',
                10077,
                'a100',
                10078,
                'a101',
                10081,
                'a102',
                10082,
                'a103',
                10083,
                'a104',
                10084,
                'a106',
                10085,
                'a107',
                10086,
                'a108',
                10087,
                'a112',
                9827,
                'a111',
                9830,
                'a110',
                9829,
                'a109',
                9824,
                'a120',
                9312,
                'a121',
                9313,
                'a122',
                9314,
                'a123',
                9315,
                'a124',
                9316,
                'a125',
                9317,
                'a126',
                9318,
                'a127',
                9319,
                'a128',
                9320,
                'a129',
                9321,
                'a130',
                10102,
                'a131',
                10103,
                'a132',
                10104,
                'a133',
                10105,
                'a134',
                10106,
                'a135',
                10107,
                'a136',
                10108,
                'a137',
                10109,
                'a138',
                10110,
                'a139',
                10111,
                'a140',
                10112,
                'a141',
                10113,
                'a142',
                10114,
                'a143',
                10115,
                'a144',
                10116,
                'a145',
                10117,
                'a146',
                10118,
                'a147',
                10119,
                'a148',
                10120,
                'a149',
                10121,
                'a150',
                10122,
                'a151',
                10123,
                'a152',
                10124,
                'a153',
                10125,
                'a154',
                10126,
                'a155',
                10127,
                'a156',
                10128,
                'a157',
                10129,
                'a158',
                10130,
                'a159',
                10131,
                'a160',
                10132,
                'a161',
                8594,
                'a163',
                8596,
                'a164',
                8597,
                'a196',
                10136,
                'a165',
                10137,
                'a192',
                10138,
                'a166',
                10139,
                'a167',
                10140,
                'a168',
                10141,
                'a169',
                10142,
                'a170',
                10143,
                'a171',
                10144,
                'a172',
                10145,
                'a173',
                10146,
                'a162',
                10147,
                'a174',
                10148,
                'a175',
                10149,
                'a176',
                10150,
                'a177',
                10151,
                'a178',
                10152,
                'a179',
                10153,
                'a193',
                10154,
                'a180',
                10155,
                'a199',
                10156,
                'a181',
                10157,
                'a200',
                10158,
                'a182',
                10159,
                'a201',
                10161,
                'a183',
                10162,
                'a184',
                10163,
                'a197',
                10164,
                'a185',
                10165,
                'a194',
                10166,
                'a198',
                10167,
                'a186',
                10168,
                'a195',
                10169,
                'a187',
                10170,
                'a188',
                10171,
                'a189',
                10172,
                'a190',
                10173,
                'a191',
                10174,
                'a89',
                10088,
                'a90',
                10089,
                'a93',
                10090,
                'a94',
                10091,
                'a91',
                10092,
                'a92',
                10093,
                'a205',
                10094,
                'a85',
                10095,
                'a206',
                10096,
                'a86',
                10097,
                'a87',
                10098,
                'a88',
                10099,
                'a95',
                10100,
                'a96',
                10101,
                '.notdef',
                0,
              ];
            });
        },
        (e, t, a) => {
          a.r(t);
          a.d(t, {
            clearUnicodeCaches: () => clearUnicodeCaches,
            getCharUnicodeCategory: () => getCharUnicodeCategory,
            getNormalizedUnicodes: () => s,
            getUnicodeForGlyph: () => getUnicodeForGlyph,
            getUnicodeRangeFor: () => getUnicodeRangeFor,
            mapSpecialUnicodeValues: () => mapSpecialUnicodeValues,
            reverseIfRtl: () => reverseIfRtl,
          });
          var r = a(3);
          const n = (0, r.getLookupTableFactory)(function (e) {
            e[63721] = 169;
            e[63193] = 169;
            e[63720] = 174;
            e[63194] = 174;
            e[63722] = 8482;
            e[63195] = 8482;
            e[63729] = 9127;
            e[63730] = 9128;
            e[63731] = 9129;
            e[63740] = 9131;
            e[63741] = 9132;
            e[63742] = 9133;
            e[63726] = 9121;
            e[63727] = 9122;
            e[63728] = 9123;
            e[63737] = 9124;
            e[63738] = 9125;
            e[63739] = 9126;
            e[63723] = 9115;
            e[63724] = 9116;
            e[63725] = 9117;
            e[63734] = 9118;
            e[63735] = 9119;
            e[63736] = 9120;
          });
          function mapSpecialUnicodeValues(e) {
            return e >= 65520 && e <= 65535 ? 0 : e >= 62976 && e <= 63743 ? n()[e] || e : 173 === e ? 45 : e;
          }
          function getUnicodeForGlyph(e, t) {
            let a = t[e];
            if (void 0 !== a) return a;
            if (!e) return -1;
            if ('u' === e[0]) {
              const t = e.length;
              let r;
              if (7 === t && 'n' === e[1] && 'i' === e[2]) r = e.substring(3);
              else {
                if (!(t >= 5 && t <= 7)) return -1;
                r = e.substring(1);
              }
              if (r === r.toUpperCase()) {
                a = parseInt(r, 16);
                if (a >= 0) return a;
              }
            }
            return -1;
          }
          const i = [
            { begin: 0, end: 127 },
            { begin: 128, end: 255 },
            { begin: 256, end: 383 },
            { begin: 384, end: 591 },
            { begin: 592, end: 687 },
            { begin: 688, end: 767 },
            { begin: 768, end: 879 },
            { begin: 880, end: 1023 },
            { begin: 11392, end: 11519 },
            { begin: 1024, end: 1279 },
            { begin: 1328, end: 1423 },
            { begin: 1424, end: 1535 },
            { begin: 42240, end: 42559 },
            { begin: 1536, end: 1791 },
            { begin: 1984, end: 2047 },
            { begin: 2304, end: 2431 },
            { begin: 2432, end: 2559 },
            { begin: 2560, end: 2687 },
            { begin: 2688, end: 2815 },
            { begin: 2816, end: 2943 },
            { begin: 2944, end: 3071 },
            { begin: 3072, end: 3199 },
            { begin: 3200, end: 3327 },
            { begin: 3328, end: 3455 },
            { begin: 3584, end: 3711 },
            { begin: 3712, end: 3839 },
            { begin: 4256, end: 4351 },
            { begin: 6912, end: 7039 },
            { begin: 4352, end: 4607 },
            { begin: 7680, end: 7935 },
            { begin: 7936, end: 8191 },
            { begin: 8192, end: 8303 },
            { begin: 8304, end: 8351 },
            { begin: 8352, end: 8399 },
            { begin: 8400, end: 8447 },
            { begin: 8448, end: 8527 },
            { begin: 8528, end: 8591 },
            { begin: 8592, end: 8703 },
            { begin: 8704, end: 8959 },
            { begin: 8960, end: 9215 },
            { begin: 9216, end: 9279 },
            { begin: 9280, end: 9311 },
            { begin: 9312, end: 9471 },
            { begin: 9472, end: 9599 },
            { begin: 9600, end: 9631 },
            { begin: 9632, end: 9727 },
            { begin: 9728, end: 9983 },
            { begin: 9984, end: 10175 },
            { begin: 12288, end: 12351 },
            { begin: 12352, end: 12447 },
            { begin: 12448, end: 12543 },
            { begin: 12544, end: 12591 },
            { begin: 12592, end: 12687 },
            { begin: 43072, end: 43135 },
            { begin: 12800, end: 13055 },
            { begin: 13056, end: 13311 },
            { begin: 44032, end: 55215 },
            { begin: 55296, end: 57343 },
            { begin: 67840, end: 67871 },
            { begin: 19968, end: 40959 },
            { begin: 57344, end: 63743 },
            { begin: 12736, end: 12783 },
            { begin: 64256, end: 64335 },
            { begin: 64336, end: 65023 },
            { begin: 65056, end: 65071 },
            { begin: 65040, end: 65055 },
            { begin: 65104, end: 65135 },
            { begin: 65136, end: 65279 },
            { begin: 65280, end: 65519 },
            { begin: 65520, end: 65535 },
            { begin: 3840, end: 4095 },
            { begin: 1792, end: 1871 },
            { begin: 1920, end: 1983 },
            { begin: 3456, end: 3583 },
            { begin: 4096, end: 4255 },
            { begin: 4608, end: 4991 },
            { begin: 5024, end: 5119 },
            { begin: 5120, end: 5759 },
            { begin: 5760, end: 5791 },
            { begin: 5792, end: 5887 },
            { begin: 6016, end: 6143 },
            { begin: 6144, end: 6319 },
            { begin: 10240, end: 10495 },
            { begin: 40960, end: 42127 },
            { begin: 5888, end: 5919 },
            { begin: 66304, end: 66351 },
            { begin: 66352, end: 66383 },
            { begin: 66560, end: 66639 },
            { begin: 118784, end: 119039 },
            { begin: 119808, end: 120831 },
            { begin: 1044480, end: 1048573 },
            { begin: 65024, end: 65039 },
            { begin: 917504, end: 917631 },
            { begin: 6400, end: 6479 },
            { begin: 6480, end: 6527 },
            { begin: 6528, end: 6623 },
            { begin: 6656, end: 6687 },
            { begin: 11264, end: 11359 },
            { begin: 11568, end: 11647 },
            { begin: 19904, end: 19967 },
            { begin: 43008, end: 43055 },
            { begin: 65536, end: 65663 },
            { begin: 65856, end: 65935 },
            { begin: 66432, end: 66463 },
            { begin: 66464, end: 66527 },
            { begin: 66640, end: 66687 },
            { begin: 66688, end: 66735 },
            { begin: 67584, end: 67647 },
            { begin: 68096, end: 68191 },
            { begin: 119552, end: 119647 },
            { begin: 73728, end: 74751 },
            { begin: 119648, end: 119679 },
            { begin: 7040, end: 7103 },
            { begin: 7168, end: 7247 },
            { begin: 7248, end: 7295 },
            { begin: 43136, end: 43231 },
            { begin: 43264, end: 43311 },
            { begin: 43312, end: 43359 },
            { begin: 43520, end: 43615 },
            { begin: 65936, end: 65999 },
            { begin: 66e3, end: 66047 },
            { begin: 66208, end: 66271 },
            { begin: 127024, end: 127135 },
          ];
          function getUnicodeRangeFor(e) {
            for (let t = 0, a = i.length; t < a; t++) {
              const a = i[t];
              if (e >= a.begin && e < a.end) return t;
            }
            return -1;
          }
          const s = (0, r.getArrayLookupTableFactory)(function () {
            return [
              '¨',
              ' ̈',
              '¯',
              ' ̄',
              '´',
              ' ́',
              'µ',
              'μ',
              '¸',
              ' ̧',
              'IJ',
              'IJ',
              'ij',
              'ij',
              'Ŀ',
              'L·',
              'ŀ',
              'l·',
              'ʼn',
              'ʼn',
              'ſ',
              's',
              'DŽ',
              'DŽ',
              'Dž',
              'Dž',
              'dž',
              'dž',
              'LJ',
              'LJ',
              'Lj',
              'Lj',
              'lj',
              'lj',
              'NJ',
              'NJ',
              'Nj',
              'Nj',
              'nj',
              'nj',
              'DZ',
              'DZ',
              'Dz',
              'Dz',
              'dz',
              'dz',
              '˘',
              ' ̆',
              '˙',
              ' ̇',
              '˚',
              ' ̊',
              '˛',
              ' ̨',
              '˜',
              ' ̃',
              '˝',
              ' ̋',
              'ͺ',
              ' ͅ',
              '΄',
              ' ́',
              'ϐ',
              'β',
              'ϑ',
              'θ',
              'ϒ',
              'Υ',
              'ϕ',
              'φ',
              'ϖ',
              'π',
              'ϰ',
              'κ',
              'ϱ',
              'ρ',
              'ϲ',
              'ς',
              'ϴ',
              'Θ',
              'ϵ',
              'ε',
              'Ϲ',
              'Σ',
              'և',
              'եւ',
              'ٵ',
              'اٴ',
              'ٶ',
              'وٴ',
              'ٷ',
              'ۇٴ',
              'ٸ',
              'يٴ',
              'ำ',
              'ํา',
              'ຳ',
              'ໍາ',
              'ໜ',
              'ຫນ',
              'ໝ',
              'ຫມ',
              'ཷ',
              'ྲཱྀ',
              'ཹ',
              'ླཱྀ',
              'ẚ',
              'aʾ',
              '᾽',
              ' ̓',
              '᾿',
              ' ̓',
              '῀',
              ' ͂',
              '῾',
              ' ̔',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              ' ',
              '‗',
              ' ̳',
              '․',
              '.',
              '‥',
              '..',
              '…',
              '...',
              '″',
              '′′',
              '‴',
              '′′′',
              '‶',
              '‵‵',
              '‷',
              '‵‵‵',
              '‼',
              '!!',
              '‾',
              ' ̅',
              '⁇',
              '??',
              '⁈',
              '?!',
              '⁉',
              '!?',
              '⁗',
              '′′′′',
              ' ',
              ' ',
              '₨',
              'Rs',
              '℀',
              'a/c',
              '℁',
              'a/s',
              '℃',
              '°C',
              '℅',
              'c/o',
              '℆',
              'c/u',
              'ℇ',
              'Ɛ',
              '℉',
              '°F',
              '№',
              'No',
              '℡',
              'TEL',
              'ℵ',
              'א',
              'ℶ',
              'ב',
              'ℷ',
              'ג',
              'ℸ',
              'ד',
              '℻',
              'FAX',
              'Ⅰ',
              'I',
              'Ⅱ',
              'II',
              'Ⅲ',
              'III',
              'Ⅳ',
              'IV',
              'Ⅴ',
              'V',
              'Ⅵ',
              'VI',
              'Ⅶ',
              'VII',
              'Ⅷ',
              'VIII',
              'Ⅸ',
              'IX',
              'Ⅹ',
              'X',
              'Ⅺ',
              'XI',
              'Ⅻ',
              'XII',
              'Ⅼ',
              'L',
              'Ⅽ',
              'C',
              'Ⅾ',
              'D',
              'Ⅿ',
              'M',
              'ⅰ',
              'i',
              'ⅱ',
              'ii',
              'ⅲ',
              'iii',
              'ⅳ',
              'iv',
              'ⅴ',
              'v',
              'ⅵ',
              'vi',
              'ⅶ',
              'vii',
              'ⅷ',
              'viii',
              'ⅸ',
              'ix',
              'ⅹ',
              'x',
              'ⅺ',
              'xi',
              'ⅻ',
              'xii',
              'ⅼ',
              'l',
              'ⅽ',
              'c',
              'ⅾ',
              'd',
              'ⅿ',
              'm',
              '∬',
              '∫∫',
              '∭',
              '∫∫∫',
              '∯',
              '∮∮',
              '∰',
              '∮∮∮',
              '⑴',
              '(1)',
              '⑵',
              '(2)',
              '⑶',
              '(3)',
              '⑷',
              '(4)',
              '⑸',
              '(5)',
              '⑹',
              '(6)',
              '⑺',
              '(7)',
              '⑻',
              '(8)',
              '⑼',
              '(9)',
              '⑽',
              '(10)',
              '⑾',
              '(11)',
              '⑿',
              '(12)',
              '⒀',
              '(13)',
              '⒁',
              '(14)',
              '⒂',
              '(15)',
              '⒃',
              '(16)',
              '⒄',
              '(17)',
              '⒅',
              '(18)',
              '⒆',
              '(19)',
              '⒇',
              '(20)',
              '⒈',
              '1.',
              '⒉',
              '2.',
              '⒊',
              '3.',
              '⒋',
              '4.',
              '⒌',
              '5.',
              '⒍',
              '6.',
              '⒎',
              '7.',
              '⒏',
              '8.',
              '⒐',
              '9.',
              '⒑',
              '10.',
              '⒒',
              '11.',
              '⒓',
              '12.',
              '⒔',
              '13.',
              '⒕',
              '14.',
              '⒖',
              '15.',
              '⒗',
              '16.',
              '⒘',
              '17.',
              '⒙',
              '18.',
              '⒚',
              '19.',
              '⒛',
              '20.',
              '⒜',
              '(a)',
              '⒝',
              '(b)',
              '⒞',
              '(c)',
              '⒟',
              '(d)',
              '⒠',
              '(e)',
              '⒡',
              '(f)',
              '⒢',
              '(g)',
              '⒣',
              '(h)',
              '⒤',
              '(i)',
              '⒥',
              '(j)',
              '⒦',
              '(k)',
              '⒧',
              '(l)',
              '⒨',
              '(m)',
              '⒩',
              '(n)',
              '⒪',
              '(o)',
              '⒫',
              '(p)',
              '⒬',
              '(q)',
              '⒭',
              '(r)',
              '⒮',
              '(s)',
              '⒯',
              '(t)',
              '⒰',
              '(u)',
              '⒱',
              '(v)',
              '⒲',
              '(w)',
              '⒳',
              '(x)',
              '⒴',
              '(y)',
              '⒵',
              '(z)',
              '⨌',
              '∫∫∫∫',
              '⩴',
              '::=',
              '⩵',
              '==',
              '⩶',
              '===',
              '⺟',
              '母',
              '⻳',
              '龟',
              '⼀',
              '一',
              '⼁',
              '丨',
              '⼂',
              '丶',
              '⼃',
              '丿',
              '⼄',
              '乙',
              '⼅',
              '亅',
              '⼆',
              '二',
              '⼇',
              '亠',
              '⼈',
              '人',
              '⼉',
              '儿',
              '⼊',
              '入',
              '⼋',
              '八',
              '⼌',
              '冂',
              '⼍',
              '冖',
              '⼎',
              '冫',
              '⼏',
              '几',
              '⼐',
              '凵',
              '⼑',
              '刀',
              '⼒',
              '力',
              '⼓',
              '勹',
              '⼔',
              '匕',
              '⼕',
              '匚',
              '⼖',
              '匸',
              '⼗',
              '十',
              '⼘',
              '卜',
              '⼙',
              '卩',
              '⼚',
              '厂',
              '⼛',
              '厶',
              '⼜',
              '又',
              '⼝',
              '口',
              '⼞',
              '囗',
              '⼟',
              '土',
              '⼠',
              '士',
              '⼡',
              '夂',
              '⼢',
              '夊',
              '⼣',
              '夕',
              '⼤',
              '大',
              '⼥',
              '女',
              '⼦',
              '子',
              '⼧',
              '宀',
              '⼨',
              '寸',
              '⼩',
              '小',
              '⼪',
              '尢',
              '⼫',
              '尸',
              '⼬',
              '屮',
              '⼭',
              '山',
              '⼮',
              '巛',
              '⼯',
              '工',
              '⼰',
              '己',
              '⼱',
              '巾',
              '⼲',
              '干',
              '⼳',
              '幺',
              '⼴',
              '广',
              '⼵',
              '廴',
              '⼶',
              '廾',
              '⼷',
              '弋',
              '⼸',
              '弓',
              '⼹',
              '彐',
              '⼺',
              '彡',
              '⼻',
              '彳',
              '⼼',
              '心',
              '⼽',
              '戈',
              '⼾',
              '戶',
              '⼿',
              '手',
              '⽀',
              '支',
              '⽁',
              '攴',
              '⽂',
              '文',
              '⽃',
              '斗',
              '⽄',
              '斤',
              '⽅',
              '方',
              '⽆',
              '无',
              '⽇',
              '日',
              '⽈',
              '曰',
              '⽉',
              '月',
              '⽊',
              '木',
              '⽋',
              '欠',
              '⽌',
              '止',
              '⽍',
              '歹',
              '⽎',
              '殳',
              '⽏',
              '毋',
              '⽐',
              '比',
              '⽑',
              '毛',
              '⽒',
              '氏',
              '⽓',
              '气',
              '⽔',
              '水',
              '⽕',
              '火',
              '⽖',
              '爪',
              '⽗',
              '父',
              '⽘',
              '爻',
              '⽙',
              '爿',
              '⽚',
              '片',
              '⽛',
              '牙',
              '⽜',
              '牛',
              '⽝',
              '犬',
              '⽞',
              '玄',
              '⽟',
              '玉',
              '⽠',
              '瓜',
              '⽡',
              '瓦',
              '⽢',
              '甘',
              '⽣',
              '生',
              '⽤',
              '用',
              '⽥',
              '田',
              '⽦',
              '疋',
              '⽧',
              '疒',
              '⽨',
              '癶',
              '⽩',
              '白',
              '⽪',
              '皮',
              '⽫',
              '皿',
              '⽬',
              '目',
              '⽭',
              '矛',
              '⽮',
              '矢',
              '⽯',
              '石',
              '⽰',
              '示',
              '⽱',
              '禸',
              '⽲',
              '禾',
              '⽳',
              '穴',
              '⽴',
              '立',
              '⽵',
              '竹',
              '⽶',
              '米',
              '⽷',
              '糸',
              '⽸',
              '缶',
              '⽹',
              '网',
              '⽺',
              '羊',
              '⽻',
              '羽',
              '⽼',
              '老',
              '⽽',
              '而',
              '⽾',
              '耒',
              '⽿',
              '耳',
              '⾀',
              '聿',
              '⾁',
              '肉',
              '⾂',
              '臣',
              '⾃',
              '自',
              '⾄',
              '至',
              '⾅',
              '臼',
              '⾆',
              '舌',
              '⾇',
              '舛',
              '⾈',
              '舟',
              '⾉',
              '艮',
              '⾊',
              '色',
              '⾋',
              '艸',
              '⾌',
              '虍',
              '⾍',
              '虫',
              '⾎',
              '血',
              '⾏',
              '行',
              '⾐',
              '衣',
              '⾑',
              '襾',
              '⾒',
              '見',
              '⾓',
              '角',
              '⾔',
              '言',
              '⾕',
              '谷',
              '⾖',
              '豆',
              '⾗',
              '豕',
              '⾘',
              '豸',
              '⾙',
              '貝',
              '⾚',
              '赤',
              '⾛',
              '走',
              '⾜',
              '足',
              '⾝',
              '身',
              '⾞',
              '車',
              '⾟',
              '辛',
              '⾠',
              '辰',
              '⾡',
              '辵',
              '⾢',
              '邑',
              '⾣',
              '酉',
              '⾤',
              '釆',
              '⾥',
              '里',
              '⾦',
              '金',
              '⾧',
              '長',
              '⾨',
              '門',
              '⾩',
              '阜',
              '⾪',
              '隶',
              '⾫',
              '隹',
              '⾬',
              '雨',
              '⾭',
              '靑',
              '⾮',
              '非',
              '⾯',
              '面',
              '⾰',
              '革',
              '⾱',
              '韋',
              '⾲',
              '韭',
              '⾳',
              '音',
              '⾴',
              '頁',
              '⾵',
              '風',
              '⾶',
              '飛',
              '⾷',
              '食',
              '⾸',
              '首',
              '⾹',
              '香',
              '⾺',
              '馬',
              '⾻',
              '骨',
              '⾼',
              '高',
              '⾽',
              '髟',
              '⾾',
              '鬥',
              '⾿',
              '鬯',
              '⿀',
              '鬲',
              '⿁',
              '鬼',
              '⿂',
              '魚',
              '⿃',
              '鳥',
              '⿄',
              '鹵',
              '⿅',
              '鹿',
              '⿆',
              '麥',
              '⿇',
              '麻',
              '⿈',
              '黃',
              '⿉',
              '黍',
              '⿊',
              '黑',
              '⿋',
              '黹',
              '⿌',
              '黽',
              '⿍',
              '鼎',
              '⿎',
              '鼓',
              '⿏',
              '鼠',
              '⿐',
              '鼻',
              '⿑',
              '齊',
              '⿒',
              '齒',
              '⿓',
              '龍',
              '⿔',
              '龜',
              '⿕',
              '龠',
              '〶',
              '〒',
              '〸',
              '十',
              '〹',
              '卄',
              '〺',
              '卅',
              '゛',
              ' ゙',
              '゜',
              ' ゚',
              'ㄱ',
              'ᄀ',
              'ㄲ',
              'ᄁ',
              'ㄳ',
              'ᆪ',
              'ㄴ',
              'ᄂ',
              'ㄵ',
              'ᆬ',
              'ㄶ',
              'ᆭ',
              'ㄷ',
              'ᄃ',
              'ㄸ',
              'ᄄ',
              'ㄹ',
              'ᄅ',
              'ㄺ',
              'ᆰ',
              'ㄻ',
              'ᆱ',
              'ㄼ',
              'ᆲ',
              'ㄽ',
              'ᆳ',
              'ㄾ',
              'ᆴ',
              'ㄿ',
              'ᆵ',
              'ㅀ',
              'ᄚ',
              'ㅁ',
              'ᄆ',
              'ㅂ',
              'ᄇ',
              'ㅃ',
              'ᄈ',
              'ㅄ',
              'ᄡ',
              'ㅅ',
              'ᄉ',
              'ㅆ',
              'ᄊ',
              'ㅇ',
              'ᄋ',
              'ㅈ',
              'ᄌ',
              'ㅉ',
              'ᄍ',
              'ㅊ',
              'ᄎ',
              'ㅋ',
              'ᄏ',
              'ㅌ',
              'ᄐ',
              'ㅍ',
              'ᄑ',
              'ㅎ',
              'ᄒ',
              'ㅏ',
              'ᅡ',
              'ㅐ',
              'ᅢ',
              'ㅑ',
              'ᅣ',
              'ㅒ',
              'ᅤ',
              'ㅓ',
              'ᅥ',
              'ㅔ',
              'ᅦ',
              'ㅕ',
              'ᅧ',
              'ㅖ',
              'ᅨ',
              'ㅗ',
              'ᅩ',
              'ㅘ',
              'ᅪ',
              'ㅙ',
              'ᅫ',
              'ㅚ',
              'ᅬ',
              'ㅛ',
              'ᅭ',
              'ㅜ',
              'ᅮ',
              'ㅝ',
              'ᅯ',
              'ㅞ',
              'ᅰ',
              'ㅟ',
              'ᅱ',
              'ㅠ',
              'ᅲ',
              'ㅡ',
              'ᅳ',
              'ㅢ',
              'ᅴ',
              'ㅣ',
              'ᅵ',
              'ㅤ',
              'ᅠ',
              'ㅥ',
              'ᄔ',
              'ㅦ',
              'ᄕ',
              'ㅧ',
              'ᇇ',
              'ㅨ',
              'ᇈ',
              'ㅩ',
              'ᇌ',
              'ㅪ',
              'ᇎ',
              'ㅫ',
              'ᇓ',
              'ㅬ',
              'ᇗ',
              'ㅭ',
              'ᇙ',
              'ㅮ',
              'ᄜ',
              'ㅯ',
              'ᇝ',
              'ㅰ',
              'ᇟ',
              'ㅱ',
              'ᄝ',
              'ㅲ',
              'ᄞ',
              'ㅳ',
              'ᄠ',
              'ㅴ',
              'ᄢ',
              'ㅵ',
              'ᄣ',
              'ㅶ',
              'ᄧ',
              'ㅷ',
              'ᄩ',
              'ㅸ',
              'ᄫ',
              'ㅹ',
              'ᄬ',
              'ㅺ',
              'ᄭ',
              'ㅻ',
              'ᄮ',
              'ㅼ',
              'ᄯ',
              'ㅽ',
              'ᄲ',
              'ㅾ',
              'ᄶ',
              'ㅿ',
              'ᅀ',
              'ㆀ',
              'ᅇ',
              'ㆁ',
              'ᅌ',
              'ㆂ',
              'ᇱ',
              'ㆃ',
              'ᇲ',
              'ㆄ',
              'ᅗ',
              'ㆅ',
              'ᅘ',
              'ㆆ',
              'ᅙ',
              'ㆇ',
              'ᆄ',
              'ㆈ',
              'ᆅ',
              'ㆉ',
              'ᆈ',
              'ㆊ',
              'ᆑ',
              'ㆋ',
              'ᆒ',
              'ㆌ',
              'ᆔ',
              'ㆍ',
              'ᆞ',
              'ㆎ',
              'ᆡ',
              '㈀',
              '(ᄀ)',
              '㈁',
              '(ᄂ)',
              '㈂',
              '(ᄃ)',
              '㈃',
              '(ᄅ)',
              '㈄',
              '(ᄆ)',
              '㈅',
              '(ᄇ)',
              '㈆',
              '(ᄉ)',
              '㈇',
              '(ᄋ)',
              '㈈',
              '(ᄌ)',
              '㈉',
              '(ᄎ)',
              '㈊',
              '(ᄏ)',
              '㈋',
              '(ᄐ)',
              '㈌',
              '(ᄑ)',
              '㈍',
              '(ᄒ)',
              '㈎',
              '(가)',
              '㈏',
              '(나)',
              '㈐',
              '(다)',
              '㈑',
              '(라)',
              '㈒',
              '(마)',
              '㈓',
              '(바)',
              '㈔',
              '(사)',
              '㈕',
              '(아)',
              '㈖',
              '(자)',
              '㈗',
              '(차)',
              '㈘',
              '(카)',
              '㈙',
              '(타)',
              '㈚',
              '(파)',
              '㈛',
              '(하)',
              '㈜',
              '(주)',
              '㈝',
              '(오전)',
              '㈞',
              '(오후)',
              '㈠',
              '(一)',
              '㈡',
              '(二)',
              '㈢',
              '(三)',
              '㈣',
              '(四)',
              '㈤',
              '(五)',
              '㈥',
              '(六)',
              '㈦',
              '(七)',
              '㈧',
              '(八)',
              '㈨',
              '(九)',
              '㈩',
              '(十)',
              '㈪',
              '(月)',
              '㈫',
              '(火)',
              '㈬',
              '(水)',
              '㈭',
              '(木)',
              '㈮',
              '(金)',
              '㈯',
              '(土)',
              '㈰',
              '(日)',
              '㈱',
              '(株)',
              '㈲',
              '(有)',
              '㈳',
              '(社)',
              '㈴',
              '(名)',
              '㈵',
              '(特)',
              '㈶',
              '(財)',
              '㈷',
              '(祝)',
              '㈸',
              '(労)',
              '㈹',
              '(代)',
              '㈺',
              '(呼)',
              '㈻',
              '(学)',
              '㈼',
              '(監)',
              '㈽',
              '(企)',
              '㈾',
              '(資)',
              '㈿',
              '(協)',
              '㉀',
              '(祭)',
              '㉁',
              '(休)',
              '㉂',
              '(自)',
              '㉃',
              '(至)',
              '㋀',
              '1月',
              '㋁',
              '2月',
              '㋂',
              '3月',
              '㋃',
              '4月',
              '㋄',
              '5月',
              '㋅',
              '6月',
              '㋆',
              '7月',
              '㋇',
              '8月',
              '㋈',
              '9月',
              '㋉',
              '10月',
              '㋊',
              '11月',
              '㋋',
              '12月',
              '㍘',
              '0点',
              '㍙',
              '1点',
              '㍚',
              '2点',
              '㍛',
              '3点',
              '㍜',
              '4点',
              '㍝',
              '5点',
              '㍞',
              '6点',
              '㍟',
              '7点',
              '㍠',
              '8点',
              '㍡',
              '9点',
              '㍢',
              '10点',
              '㍣',
              '11点',
              '㍤',
              '12点',
              '㍥',
              '13点',
              '㍦',
              '14点',
              '㍧',
              '15点',
              '㍨',
              '16点',
              '㍩',
              '17点',
              '㍪',
              '18点',
              '㍫',
              '19点',
              '㍬',
              '20点',
              '㍭',
              '21点',
              '㍮',
              '22点',
              '㍯',
              '23点',
              '㍰',
              '24点',
              '㏠',
              '1日',
              '㏡',
              '2日',
              '㏢',
              '3日',
              '㏣',
              '4日',
              '㏤',
              '5日',
              '㏥',
              '6日',
              '㏦',
              '7日',
              '㏧',
              '8日',
              '㏨',
              '9日',
              '㏩',
              '10日',
              '㏪',
              '11日',
              '㏫',
              '12日',
              '㏬',
              '13日',
              '㏭',
              '14日',
              '㏮',
              '15日',
              '㏯',
              '16日',
              '㏰',
              '17日',
              '㏱',
              '18日',
              '㏲',
              '19日',
              '㏳',
              '20日',
              '㏴',
              '21日',
              '㏵',
              '22日',
              '㏶',
              '23日',
              '㏷',
              '24日',
              '㏸',
              '25日',
              '㏹',
              '26日',
              '㏺',
              '27日',
              '㏻',
              '28日',
              '㏼',
              '29日',
              '㏽',
              '30日',
              '㏾',
              '31日',
              'ff',
              'ff',
              'fi',
              'fi',
              'fl',
              'fl',
              'ffi',
              'ffi',
              'ffl',
              'ffl',
              'ſt',
              'ſt',
              'st',
              'st',
              'ﬓ',
              'մն',
              'ﬔ',
              'մե',
              'ﬕ',
              'մի',
              'ﬖ',
              'վն',
              'ﬗ',
              'մխ',
              'ﭏ',
              'אל',
              'ﭐ',
              'ٱ',
              'ﭑ',
              'ٱ',
              'ﭒ',
              'ٻ',
              'ﭓ',
              'ٻ',
              'ﭔ',
              'ٻ',
              'ﭕ',
              'ٻ',
              'ﭖ',
              'پ',
              'ﭗ',
              'پ',
              'ﭘ',
              'پ',
              'ﭙ',
              'پ',
              'ﭚ',
              'ڀ',
              'ﭛ',
              'ڀ',
              'ﭜ',
              'ڀ',
              'ﭝ',
              'ڀ',
              'ﭞ',
              'ٺ',
              'ﭟ',
              'ٺ',
              'ﭠ',
              'ٺ',
              'ﭡ',
              'ٺ',
              'ﭢ',
              'ٿ',
              'ﭣ',
              'ٿ',
              'ﭤ',
              'ٿ',
              'ﭥ',
              'ٿ',
              'ﭦ',
              'ٹ',
              'ﭧ',
              'ٹ',
              'ﭨ',
              'ٹ',
              'ﭩ',
              'ٹ',
              'ﭪ',
              'ڤ',
              'ﭫ',
              'ڤ',
              'ﭬ',
              'ڤ',
              'ﭭ',
              'ڤ',
              'ﭮ',
              'ڦ',
              'ﭯ',
              'ڦ',
              'ﭰ',
              'ڦ',
              'ﭱ',
              'ڦ',
              'ﭲ',
              'ڄ',
              'ﭳ',
              'ڄ',
              'ﭴ',
              'ڄ',
              'ﭵ',
              'ڄ',
              'ﭶ',
              'ڃ',
              'ﭷ',
              'ڃ',
              'ﭸ',
              'ڃ',
              'ﭹ',
              'ڃ',
              'ﭺ',
              'چ',
              'ﭻ',
              'چ',
              'ﭼ',
              'چ',
              'ﭽ',
              'چ',
              'ﭾ',
              'ڇ',
              'ﭿ',
              'ڇ',
              'ﮀ',
              'ڇ',
              'ﮁ',
              'ڇ',
              'ﮂ',
              'ڍ',
              'ﮃ',
              'ڍ',
              'ﮄ',
              'ڌ',
              'ﮅ',
              'ڌ',
              'ﮆ',
              'ڎ',
              'ﮇ',
              'ڎ',
              'ﮈ',
              'ڈ',
              'ﮉ',
              'ڈ',
              'ﮊ',
              'ژ',
              'ﮋ',
              'ژ',
              'ﮌ',
              'ڑ',
              'ﮍ',
              'ڑ',
              'ﮎ',
              'ک',
              'ﮏ',
              'ک',
              'ﮐ',
              'ک',
              'ﮑ',
              'ک',
              'ﮒ',
              'گ',
              'ﮓ',
              'گ',
              'ﮔ',
              'گ',
              'ﮕ',
              'گ',
              'ﮖ',
              'ڳ',
              'ﮗ',
              'ڳ',
              'ﮘ',
              'ڳ',
              'ﮙ',
              'ڳ',
              'ﮚ',
              'ڱ',
              'ﮛ',
              'ڱ',
              'ﮜ',
              'ڱ',
              'ﮝ',
              'ڱ',
              'ﮞ',
              'ں',
              'ﮟ',
              'ں',
              'ﮠ',
              'ڻ',
              'ﮡ',
              'ڻ',
              'ﮢ',
              'ڻ',
              'ﮣ',
              'ڻ',
              'ﮤ',
              'ۀ',
              'ﮥ',
              'ۀ',
              'ﮦ',
              'ہ',
              'ﮧ',
              'ہ',
              'ﮨ',
              'ہ',
              'ﮩ',
              'ہ',
              'ﮪ',
              'ھ',
              'ﮫ',
              'ھ',
              'ﮬ',
              'ھ',
              'ﮭ',
              'ھ',
              'ﮮ',
              'ے',
              'ﮯ',
              'ے',
              'ﮰ',
              'ۓ',
              'ﮱ',
              'ۓ',
              'ﯓ',
              'ڭ',
              'ﯔ',
              'ڭ',
              'ﯕ',
              'ڭ',
              'ﯖ',
              'ڭ',
              'ﯗ',
              'ۇ',
              'ﯘ',
              'ۇ',
              'ﯙ',
              'ۆ',
              'ﯚ',
              'ۆ',
              'ﯛ',
              'ۈ',
              'ﯜ',
              'ۈ',
              'ﯝ',
              'ٷ',
              'ﯞ',
              'ۋ',
              'ﯟ',
              'ۋ',
              'ﯠ',
              'ۅ',
              'ﯡ',
              'ۅ',
              'ﯢ',
              'ۉ',
              'ﯣ',
              'ۉ',
              'ﯤ',
              'ې',
              'ﯥ',
              'ې',
              'ﯦ',
              'ې',
              'ﯧ',
              'ې',
              'ﯨ',
              'ى',
              'ﯩ',
              'ى',
              'ﯪ',
              'ئا',
              'ﯫ',
              'ئا',
              'ﯬ',
              'ئە',
              'ﯭ',
              'ئە',
              'ﯮ',
              'ئو',
              'ﯯ',
              'ئو',
              'ﯰ',
              'ئۇ',
              'ﯱ',
              'ئۇ',
              'ﯲ',
              'ئۆ',
              'ﯳ',
              'ئۆ',
              'ﯴ',
              'ئۈ',
              'ﯵ',
              'ئۈ',
              'ﯶ',
              'ئې',
              'ﯷ',
              'ئې',
              'ﯸ',
              'ئې',
              'ﯹ',
              'ئى',
              'ﯺ',
              'ئى',
              'ﯻ',
              'ئى',
              'ﯼ',
              'ی',
              'ﯽ',
              'ی',
              'ﯾ',
              'ی',
              'ﯿ',
              'ی',
              'ﰀ',
              'ئج',
              'ﰁ',
              'ئح',
              'ﰂ',
              'ئم',
              'ﰃ',
              'ئى',
              'ﰄ',
              'ئي',
              'ﰅ',
              'بج',
              'ﰆ',
              'بح',
              'ﰇ',
              'بخ',
              'ﰈ',
              'بم',
              'ﰉ',
              'بى',
              'ﰊ',
              'بي',
              'ﰋ',
              'تج',
              'ﰌ',
              'تح',
              'ﰍ',
              'تخ',
              'ﰎ',
              'تم',
              'ﰏ',
              'تى',
              'ﰐ',
              'تي',
              'ﰑ',
              'ثج',
              'ﰒ',
              'ثم',
              'ﰓ',
              'ثى',
              'ﰔ',
              'ثي',
              'ﰕ',
              'جح',
              'ﰖ',
              'جم',
              'ﰗ',
              'حج',
              'ﰘ',
              'حم',
              'ﰙ',
              'خج',
              'ﰚ',
              'خح',
              'ﰛ',
              'خم',
              'ﰜ',
              'سج',
              'ﰝ',
              'سح',
              'ﰞ',
              'سخ',
              'ﰟ',
              'سم',
              'ﰠ',
              'صح',
              'ﰡ',
              'صم',
              'ﰢ',
              'ضج',
              'ﰣ',
              'ضح',
              'ﰤ',
              'ضخ',
              'ﰥ',
              'ضم',
              'ﰦ',
              'طح',
              'ﰧ',
              'طم',
              'ﰨ',
              'ظم',
              'ﰩ',
              'عج',
              'ﰪ',
              'عم',
              'ﰫ',
              'غج',
              'ﰬ',
              'غم',
              'ﰭ',
              'فج',
              'ﰮ',
              'فح',
              'ﰯ',
              'فخ',
              'ﰰ',
              'فم',
              'ﰱ',
              'فى',
              'ﰲ',
              'في',
              'ﰳ',
              'قح',
              'ﰴ',
              'قم',
              'ﰵ',
              'قى',
              'ﰶ',
              'قي',
              'ﰷ',
              'كا',
              'ﰸ',
              'كج',
              'ﰹ',
              'كح',
              'ﰺ',
              'كخ',
              'ﰻ',
              'كل',
              'ﰼ',
              'كم',
              'ﰽ',
              'كى',
              'ﰾ',
              'كي',
              'ﰿ',
              'لج',
              'ﱀ',
              'لح',
              'ﱁ',
              'لخ',
              'ﱂ',
              'لم',
              'ﱃ',
              'لى',
              'ﱄ',
              'لي',
              'ﱅ',
              'مج',
              'ﱆ',
              'مح',
              'ﱇ',
              'مخ',
              'ﱈ',
              'مم',
              'ﱉ',
              'مى',
              'ﱊ',
              'مي',
              'ﱋ',
              'نج',
              'ﱌ',
              'نح',
              'ﱍ',
              'نخ',
              'ﱎ',
              'نم',
              'ﱏ',
              'نى',
              'ﱐ',
              'ني',
              'ﱑ',
              'هج',
              'ﱒ',
              'هم',
              'ﱓ',
              'هى',
              'ﱔ',
              'هي',
              'ﱕ',
              'يج',
              'ﱖ',
              'يح',
              'ﱗ',
              'يخ',
              'ﱘ',
              'يم',
              'ﱙ',
              'يى',
              'ﱚ',
              'يي',
              'ﱛ',
              'ذٰ',
              'ﱜ',
              'رٰ',
              'ﱝ',
              'ىٰ',
              'ﱞ',
              ' ٌّ',
              'ﱟ',
              ' ٍّ',
              'ﱠ',
              ' َّ',
              'ﱡ',
              ' ُّ',
              'ﱢ',
              ' ِّ',
              'ﱣ',
              ' ّٰ',
              'ﱤ',
              'ئر',
              'ﱥ',
              'ئز',
              'ﱦ',
              'ئم',
              'ﱧ',
              'ئن',
              'ﱨ',
              'ئى',
              'ﱩ',
              'ئي',
              'ﱪ',
              'بر',
              'ﱫ',
              'بز',
              'ﱬ',
              'بم',
              'ﱭ',
              'بن',
              'ﱮ',
              'بى',
              'ﱯ',
              'بي',
              'ﱰ',
              'تر',
              'ﱱ',
              'تز',
              'ﱲ',
              'تم',
              'ﱳ',
              'تن',
              'ﱴ',
              'تى',
              'ﱵ',
              'تي',
              'ﱶ',
              'ثر',
              'ﱷ',
              'ثز',
              'ﱸ',
              'ثم',
              'ﱹ',
              'ثن',
              'ﱺ',
              'ثى',
              'ﱻ',
              'ثي',
              'ﱼ',
              'فى',
              'ﱽ',
              'في',
              'ﱾ',
              'قى',
              'ﱿ',
              'قي',
              'ﲀ',
              'كا',
              'ﲁ',
              'كل',
              'ﲂ',
              'كم',
              'ﲃ',
              'كى',
              'ﲄ',
              'كي',
              'ﲅ',
              'لم',
              'ﲆ',
              'لى',
              'ﲇ',
              'لي',
              'ﲈ',
              'ما',
              'ﲉ',
              'مم',
              'ﲊ',
              'نر',
              'ﲋ',
              'نز',
              'ﲌ',
              'نم',
              'ﲍ',
              'نن',
              'ﲎ',
              'نى',
              'ﲏ',
              'ني',
              'ﲐ',
              'ىٰ',
              'ﲑ',
              'ير',
              'ﲒ',
              'يز',
              'ﲓ',
              'يم',
              'ﲔ',
              'ين',
              'ﲕ',
              'يى',
              'ﲖ',
              'يي',
              'ﲗ',
              'ئج',
              'ﲘ',
              'ئح',
              'ﲙ',
              'ئخ',
              'ﲚ',
              'ئم',
              'ﲛ',
              'ئه',
              'ﲜ',
              'بج',
              'ﲝ',
              'بح',
              'ﲞ',
              'بخ',
              'ﲟ',
              'بم',
              'ﲠ',
              'به',
              'ﲡ',
              'تج',
              'ﲢ',
              'تح',
              'ﲣ',
              'تخ',
              'ﲤ',
              'تم',
              'ﲥ',
              'ته',
              'ﲦ',
              'ثم',
              'ﲧ',
              'جح',
              'ﲨ',
              'جم',
              'ﲩ',
              'حج',
              'ﲪ',
              'حم',
              'ﲫ',
              'خج',
              'ﲬ',
              'خم',
              'ﲭ',
              'سج',
              'ﲮ',
              'سح',
              'ﲯ',
              'سخ',
              'ﲰ',
              'سم',
              'ﲱ',
              'صح',
              'ﲲ',
              'صخ',
              'ﲳ',
              'صم',
              'ﲴ',
              'ضج',
              'ﲵ',
              'ضح',
              'ﲶ',
              'ضخ',
              'ﲷ',
              'ضم',
              'ﲸ',
              'طح',
              'ﲹ',
              'ظم',
              'ﲺ',
              'عج',
              'ﲻ',
              'عم',
              'ﲼ',
              'غج',
              'ﲽ',
              'غم',
              'ﲾ',
              'فج',
              'ﲿ',
              'فح',
              'ﳀ',
              'فخ',
              'ﳁ',
              'فم',
              'ﳂ',
              'قح',
              'ﳃ',
              'قم',
              'ﳄ',
              'كج',
              'ﳅ',
              'كح',
              'ﳆ',
              'كخ',
              'ﳇ',
              'كل',
              'ﳈ',
              'كم',
              'ﳉ',
              'لج',
              'ﳊ',
              'لح',
              'ﳋ',
              'لخ',
              'ﳌ',
              'لم',
              'ﳍ',
              'له',
              'ﳎ',
              'مج',
              'ﳏ',
              'مح',
              'ﳐ',
              'مخ',
              'ﳑ',
              'مم',
              'ﳒ',
              'نج',
              'ﳓ',
              'نح',
              'ﳔ',
              'نخ',
              'ﳕ',
              'نم',
              'ﳖ',
              'نه',
              'ﳗ',
              'هج',
              'ﳘ',
              'هم',
              'ﳙ',
              'هٰ',
              'ﳚ',
              'يج',
              'ﳛ',
              'يح',
              'ﳜ',
              'يخ',
              'ﳝ',
              'يم',
              'ﳞ',
              'يه',
              'ﳟ',
              'ئم',
              'ﳠ',
              'ئه',
              'ﳡ',
              'بم',
              'ﳢ',
              'به',
              'ﳣ',
              'تم',
              'ﳤ',
              'ته',
              'ﳥ',
              'ثم',
              'ﳦ',
              'ثه',
              'ﳧ',
              'سم',
              'ﳨ',
              'سه',
              'ﳩ',
              'شم',
              'ﳪ',
              'شه',
              'ﳫ',
              'كل',
              'ﳬ',
              'كم',
              'ﳭ',
              'لم',
              'ﳮ',
              'نم',
              'ﳯ',
              'نه',
              'ﳰ',
              'يم',
              'ﳱ',
              'يه',
              'ﳲ',
              'ـَّ',
              'ﳳ',
              'ـُّ',
              'ﳴ',
              'ـِّ',
              'ﳵ',
              'طى',
              'ﳶ',
              'طي',
              'ﳷ',
              'عى',
              'ﳸ',
              'عي',
              'ﳹ',
              'غى',
              'ﳺ',
              'غي',
              'ﳻ',
              'سى',
              'ﳼ',
              'سي',
              'ﳽ',
              'شى',
              'ﳾ',
              'شي',
              'ﳿ',
              'حى',
              'ﴀ',
              'حي',
              'ﴁ',
              'جى',
              'ﴂ',
              'جي',
              'ﴃ',
              'خى',
              'ﴄ',
              'خي',
              'ﴅ',
              'صى',
              'ﴆ',
              'صي',
              'ﴇ',
              'ضى',
              'ﴈ',
              'ضي',
              'ﴉ',
              'شج',
              'ﴊ',
              'شح',
              'ﴋ',
              'شخ',
              'ﴌ',
              'شم',
              'ﴍ',
              'شر',
              'ﴎ',
              'سر',
              'ﴏ',
              'صر',
              'ﴐ',
              'ضر',
              'ﴑ',
              'طى',
              'ﴒ',
              'طي',
              'ﴓ',
              'عى',
              'ﴔ',
              'عي',
              'ﴕ',
              'غى',
              'ﴖ',
              'غي',
              'ﴗ',
              'سى',
              'ﴘ',
              'سي',
              'ﴙ',
              'شى',
              'ﴚ',
              'شي',
              'ﴛ',
              'حى',
              'ﴜ',
              'حي',
              'ﴝ',
              'جى',
              'ﴞ',
              'جي',
              'ﴟ',
              'خى',
              'ﴠ',
              'خي',
              'ﴡ',
              'صى',
              'ﴢ',
              'صي',
              'ﴣ',
              'ضى',
              'ﴤ',
              'ضي',
              'ﴥ',
              'شج',
              'ﴦ',
              'شح',
              'ﴧ',
              'شخ',
              'ﴨ',
              'شم',
              'ﴩ',
              'شر',
              'ﴪ',
              'سر',
              'ﴫ',
              'صر',
              'ﴬ',
              'ضر',
              'ﴭ',
              'شج',
              'ﴮ',
              'شح',
              'ﴯ',
              'شخ',
              'ﴰ',
              'شم',
              'ﴱ',
              'سه',
              'ﴲ',
              'شه',
              'ﴳ',
              'طم',
              'ﴴ',
              'سج',
              'ﴵ',
              'سح',
              'ﴶ',
              'سخ',
              'ﴷ',
              'شج',
              'ﴸ',
              'شح',
              'ﴹ',
              'شخ',
              'ﴺ',
              'طم',
              'ﴻ',
              'ظم',
              'ﴼ',
              'اً',
              'ﴽ',
              'اً',
              'ﵐ',
              'تجم',
              'ﵑ',
              'تحج',
              'ﵒ',
              'تحج',
              'ﵓ',
              'تحم',
              'ﵔ',
              'تخم',
              'ﵕ',
              'تمج',
              'ﵖ',
              'تمح',
              'ﵗ',
              'تمخ',
              'ﵘ',
              'جمح',
              'ﵙ',
              'جمح',
              'ﵚ',
              'حمي',
              'ﵛ',
              'حمى',
              'ﵜ',
              'سحج',
              'ﵝ',
              'سجح',
              'ﵞ',
              'سجى',
              'ﵟ',
              'سمح',
              'ﵠ',
              'سمح',
              'ﵡ',
              'سمج',
              'ﵢ',
              'سمم',
              'ﵣ',
              'سمم',
              'ﵤ',
              'صحح',
              'ﵥ',
              'صحح',
              'ﵦ',
              'صمم',
              'ﵧ',
              'شحم',
              'ﵨ',
              'شحم',
              'ﵩ',
              'شجي',
              'ﵪ',
              'شمخ',
              'ﵫ',
              'شمخ',
              'ﵬ',
              'شمم',
              'ﵭ',
              'شمم',
              'ﵮ',
              'ضحى',
              'ﵯ',
              'ضخم',
              'ﵰ',
              'ضخم',
              'ﵱ',
              'طمح',
              'ﵲ',
              'طمح',
              'ﵳ',
              'طمم',
              'ﵴ',
              'طمي',
              'ﵵ',
              'عجم',
              'ﵶ',
              'عمم',
              'ﵷ',
              'عمم',
              'ﵸ',
              'عمى',
              'ﵹ',
              'غمم',
              'ﵺ',
              'غمي',
              'ﵻ',
              'غمى',
              'ﵼ',
              'فخم',
              'ﵽ',
              'فخم',
              'ﵾ',
              'قمح',
              'ﵿ',
              'قمم',
              'ﶀ',
              'لحم',
              'ﶁ',
              'لحي',
              'ﶂ',
              'لحى',
              'ﶃ',
              'لجج',
              'ﶄ',
              'لجج',
              'ﶅ',
              'لخم',
              'ﶆ',
              'لخم',
              'ﶇ',
              'لمح',
              'ﶈ',
              'لمح',
              'ﶉ',
              'محج',
              'ﶊ',
              'محم',
              'ﶋ',
              'محي',
              'ﶌ',
              'مجح',
              'ﶍ',
              'مجم',
              'ﶎ',
              'مخج',
              'ﶏ',
              'مخم',
              'ﶒ',
              'مجخ',
              'ﶓ',
              'همج',
              'ﶔ',
              'همم',
              'ﶕ',
              'نحم',
              'ﶖ',
              'نحى',
              'ﶗ',
              'نجم',
              'ﶘ',
              'نجم',
              'ﶙ',
              'نجى',
              'ﶚ',
              'نمي',
              'ﶛ',
              'نمى',
              'ﶜ',
              'يمم',
              'ﶝ',
              'يمم',
              'ﶞ',
              'بخي',
              'ﶟ',
              'تجي',
              'ﶠ',
              'تجى',
              'ﶡ',
              'تخي',
              'ﶢ',
              'تخى',
              'ﶣ',
              'تمي',
              'ﶤ',
              'تمى',
              'ﶥ',
              'جمي',
              'ﶦ',
              'جحى',
              'ﶧ',
              'جمى',
              'ﶨ',
              'سخى',
              'ﶩ',
              'صحي',
              'ﶪ',
              'شحي',
              'ﶫ',
              'ضحي',
              'ﶬ',
              'لجي',
              'ﶭ',
              'لمي',
              'ﶮ',
              'يحي',
              'ﶯ',
              'يجي',
              'ﶰ',
              'يمي',
              'ﶱ',
              'ممي',
              'ﶲ',
              'قمي',
              'ﶳ',
              'نحي',
              'ﶴ',
              'قمح',
              'ﶵ',
              'لحم',
              'ﶶ',
              'عمي',
              'ﶷ',
              'كمي',
              'ﶸ',
              'نجح',
              'ﶹ',
              'مخي',
              'ﶺ',
              'لجم',
              'ﶻ',
              'كمم',
              'ﶼ',
              'لجم',
              'ﶽ',
              'نجح',
              'ﶾ',
              'جحي',
              'ﶿ',
              'حجي',
              'ﷀ',
              'مجي',
              'ﷁ',
              'فمي',
              'ﷂ',
              'بحي',
              'ﷃ',
              'كمم',
              'ﷄ',
              'عجم',
              'ﷅ',
              'صمم',
              'ﷆ',
              'سخي',
              'ﷇ',
              'نجي',
              '﹉',
              '‾',
              '﹊',
              '‾',
              '﹋',
              '‾',
              '﹌',
              '‾',
              '﹍',
              '_',
              '﹎',
              '_',
              '﹏',
              '_',
              'ﺀ',
              'ء',
              'ﺁ',
              'آ',
              'ﺂ',
              'آ',
              'ﺃ',
              'أ',
              'ﺄ',
              'أ',
              'ﺅ',
              'ؤ',
              'ﺆ',
              'ؤ',
              'ﺇ',
              'إ',
              'ﺈ',
              'إ',
              'ﺉ',
              'ئ',
              'ﺊ',
              'ئ',
              'ﺋ',
              'ئ',
              'ﺌ',
              'ئ',
              'ﺍ',
              'ا',
              'ﺎ',
              'ا',
              'ﺏ',
              'ب',
              'ﺐ',
              'ب',
              'ﺑ',
              'ب',
              'ﺒ',
              'ب',
              'ﺓ',
              'ة',
              'ﺔ',
              'ة',
              'ﺕ',
              'ت',
              'ﺖ',
              'ت',
              'ﺗ',
              'ت',
              'ﺘ',
              'ت',
              'ﺙ',
              'ث',
              'ﺚ',
              'ث',
              'ﺛ',
              'ث',
              'ﺜ',
              'ث',
              'ﺝ',
              'ج',
              'ﺞ',
              'ج',
              'ﺟ',
              'ج',
              'ﺠ',
              'ج',
              'ﺡ',
              'ح',
              'ﺢ',
              'ح',
              'ﺣ',
              'ح',
              'ﺤ',
              'ح',
              'ﺥ',
              'خ',
              'ﺦ',
              'خ',
              'ﺧ',
              'خ',
              'ﺨ',
              'خ',
              'ﺩ',
              'د',
              'ﺪ',
              'د',
              'ﺫ',
              'ذ',
              'ﺬ',
              'ذ',
              'ﺭ',
              'ر',
              'ﺮ',
              'ر',
              'ﺯ',
              'ز',
              'ﺰ',
              'ز',
              'ﺱ',
              'س',
              'ﺲ',
              'س',
              'ﺳ',
              'س',
              'ﺴ',
              'س',
              'ﺵ',
              'ش',
              'ﺶ',
              'ش',
              'ﺷ',
              'ش',
              'ﺸ',
              'ش',
              'ﺹ',
              'ص',
              'ﺺ',
              'ص',
              'ﺻ',
              'ص',
              'ﺼ',
              'ص',
              'ﺽ',
              'ض',
              'ﺾ',
              'ض',
              'ﺿ',
              'ض',
              'ﻀ',
              'ض',
              'ﻁ',
              'ط',
              'ﻂ',
              'ط',
              'ﻃ',
              'ط',
              'ﻄ',
              'ط',
              'ﻅ',
              'ظ',
              'ﻆ',
              'ظ',
              'ﻇ',
              'ظ',
              'ﻈ',
              'ظ',
              'ﻉ',
              'ع',
              'ﻊ',
              'ع',
              'ﻋ',
              'ع',
              'ﻌ',
              'ع',
              'ﻍ',
              'غ',
              'ﻎ',
              'غ',
              'ﻏ',
              'غ',
              'ﻐ',
              'غ',
              'ﻑ',
              'ف',
              'ﻒ',
              'ف',
              'ﻓ',
              'ف',
              'ﻔ',
              'ف',
              'ﻕ',
              'ق',
              'ﻖ',
              'ق',
              'ﻗ',
              'ق',
              'ﻘ',
              'ق',
              'ﻙ',
              'ك',
              'ﻚ',
              'ك',
              'ﻛ',
              'ك',
              'ﻜ',
              'ك',
              'ﻝ',
              'ل',
              'ﻞ',
              'ل',
              'ﻟ',
              'ل',
              'ﻠ',
              'ل',
              'ﻡ',
              'م',
              'ﻢ',
              'م',
              'ﻣ',
              'م',
              'ﻤ',
              'م',
              'ﻥ',
              'ن',
              'ﻦ',
              'ن',
              'ﻧ',
              'ن',
              'ﻨ',
              'ن',
              'ﻩ',
              'ه',
              'ﻪ',
              'ه',
              'ﻫ',
              'ه',
              'ﻬ',
              'ه',
              'ﻭ',
              'و',
              'ﻮ',
              'و',
              'ﻯ',
              'ى',
              'ﻰ',
              'ى',
              'ﻱ',
              'ي',
              'ﻲ',
              'ي',
              'ﻳ',
              'ي',
              'ﻴ',
              'ي',
              'ﻵ',
              'لآ',
              'ﻶ',
              'لآ',
              'ﻷ',
              'لأ',
              'ﻸ',
              'لأ',
              'ﻹ',
              'لإ',
              'ﻺ',
              'لإ',
              'ﻻ',
              'لا',
              'ﻼ',
              'لا',
            ];
          });
          function reverseIfRtl(e) {
            const t = e.length;
            if (
              t <= 1 ||
              !(function isRTLRangeFor(e) {
                let t = i[13];
                if (e >= t.begin && e < t.end) return !0;
                t = i[11];
                return e >= t.begin && e < t.end;
              })(e.charCodeAt(0))
            )
              return e;
            const a = [];
            for (let r = t - 1; r >= 0; r--) a.push(e[r]);
            return a.join('');
          }
          const o = new RegExp('^(\\s)|(\\p{Mn})|(\\p{Cf})$', 'u'),
            c = new Map();
          function getCharUnicodeCategory(e) {
            const t = c.get(e);
            if (t) return t;
            const a = e.match(o),
              r = {
                isWhitespace: !(!a || !a[1]),
                isZeroWidthDiacritic: !(!a || !a[2]),
                isInvisibleFormatMark: !(!a || !a[3]),
              };
            c.set(e, r);
            return r;
          }
          function clearUnicodeCaches() {
            c.clear();
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.getSerifFonts = t.getNonStdFontMap = t.getGlyphMapForStandardFonts = t.getFontNameToFileMap = void 0;
          t.getStandardFontName = function getStandardFontName(e) {
            const t = (0, n.normalizeFontName)(e);
            return i()[t];
          };
          t.getSymbolsFonts =
            t.getSupplementalGlyphMapForCalibri =
            t.getSupplementalGlyphMapForArialBlack =
            t.getStdFontMap =
              void 0;
          var r = a(3),
            n = a(36);
          const i = (0, r.getLookupTableFactory)(function (e) {
            e['Times-Roman'] = 'Times-Roman';
            e.Helvetica = 'Helvetica';
            e.Courier = 'Courier';
            e.Symbol = 'Symbol';
            e['Times-Bold'] = 'Times-Bold';
            e['Helvetica-Bold'] = 'Helvetica-Bold';
            e['Courier-Bold'] = 'Courier-Bold';
            e.ZapfDingbats = 'ZapfDingbats';
            e['Times-Italic'] = 'Times-Italic';
            e['Helvetica-Oblique'] = 'Helvetica-Oblique';
            e['Courier-Oblique'] = 'Courier-Oblique';
            e['Times-BoldItalic'] = 'Times-BoldItalic';
            e['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique';
            e['Courier-BoldOblique'] = 'Courier-BoldOblique';
            e.ArialNarrow = 'Helvetica';
            e['ArialNarrow-Bold'] = 'Helvetica-Bold';
            e['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique';
            e['ArialNarrow-Italic'] = 'Helvetica-Oblique';
            e.ArialBlack = 'Helvetica';
            e['ArialBlack-Bold'] = 'Helvetica-Bold';
            e['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique';
            e['ArialBlack-Italic'] = 'Helvetica-Oblique';
            e['Arial-Black'] = 'Helvetica';
            e['Arial-Black-Bold'] = 'Helvetica-Bold';
            e['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique';
            e['Arial-Black-Italic'] = 'Helvetica-Oblique';
            e.Arial = 'Helvetica';
            e['Arial-Bold'] = 'Helvetica-Bold';
            e['Arial-BoldItalic'] = 'Helvetica-BoldOblique';
            e['Arial-Italic'] = 'Helvetica-Oblique';
            e.ArialMT = 'Helvetica';
            e['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique';
            e['Arial-BoldMT'] = 'Helvetica-Bold';
            e['Arial-ItalicMT'] = 'Helvetica-Oblique';
            e.ArialUnicodeMS = 'Helvetica';
            e['ArialUnicodeMS-Bold'] = 'Helvetica-Bold';
            e['ArialUnicodeMS-BoldItalic'] = 'Helvetica-BoldOblique';
            e['ArialUnicodeMS-Italic'] = 'Helvetica-Oblique';
            e['Courier-BoldItalic'] = 'Courier-BoldOblique';
            e['Courier-Italic'] = 'Courier-Oblique';
            e.CourierNew = 'Courier';
            e['CourierNew-Bold'] = 'Courier-Bold';
            e['CourierNew-BoldItalic'] = 'Courier-BoldOblique';
            e['CourierNew-Italic'] = 'Courier-Oblique';
            e['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique';
            e['CourierNewPS-BoldMT'] = 'Courier-Bold';
            e['CourierNewPS-ItalicMT'] = 'Courier-Oblique';
            e.CourierNewPSMT = 'Courier';
            e['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique';
            e['Helvetica-Italic'] = 'Helvetica-Oblique';
            e['Symbol-Bold'] = 'Symbol';
            e['Symbol-BoldItalic'] = 'Symbol';
            e['Symbol-Italic'] = 'Symbol';
            e.TimesNewRoman = 'Times-Roman';
            e['TimesNewRoman-Bold'] = 'Times-Bold';
            e['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic';
            e['TimesNewRoman-Italic'] = 'Times-Italic';
            e.TimesNewRomanPS = 'Times-Roman';
            e['TimesNewRomanPS-Bold'] = 'Times-Bold';
            e['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic';
            e['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic';
            e['TimesNewRomanPS-BoldMT'] = 'Times-Bold';
            e['TimesNewRomanPS-Italic'] = 'Times-Italic';
            e['TimesNewRomanPS-ItalicMT'] = 'Times-Italic';
            e.TimesNewRomanPSMT = 'Times-Roman';
            e['TimesNewRomanPSMT-Bold'] = 'Times-Bold';
            e['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic';
            e['TimesNewRomanPSMT-Italic'] = 'Times-Italic';
          });
          t.getStdFontMap = i;
          const s = (0, r.getLookupTableFactory)(function (e) {
            e.Courier = 'FoxitFixed.pfb';
            e['Courier-Bold'] = 'FoxitFixedBold.pfb';
            e['Courier-BoldOblique'] = 'FoxitFixedBoldItalic.pfb';
            e['Courier-Oblique'] = 'FoxitFixedItalic.pfb';
            e.Helvetica = 'FoxitSans.pfb';
            e['Helvetica-Bold'] = 'FoxitSansBold.pfb';
            e['Helvetica-BoldOblique'] = 'FoxitSansBoldItalic.pfb';
            e['Helvetica-Oblique'] = 'FoxitSansItalic.pfb';
            e['Times-Roman'] = 'FoxitSerif.pfb';
            e['Times-Bold'] = 'FoxitSerifBold.pfb';
            e['Times-BoldItalic'] = 'FoxitSerifBoldItalic.pfb';
            e['Times-Italic'] = 'FoxitSerifItalic.pfb';
            e.Symbol = 'FoxitSymbol.pfb';
            e.ZapfDingbats = 'FoxitDingbats.pfb';
            e['LiberationSans-Regular'] = 'LiberationSans-Regular.ttf';
            e['LiberationSans-Bold'] = 'LiberationSans-Bold.ttf';
            e['LiberationSans-Italic'] = 'LiberationSans-Italic.ttf';
            e['LiberationSans-BoldItalic'] = 'LiberationSans-BoldItalic.ttf';
          });
          t.getFontNameToFileMap = s;
          const o = (0, r.getLookupTableFactory)(function (e) {
            e.Calibri = 'Helvetica';
            e['Calibri-Bold'] = 'Helvetica-Bold';
            e['Calibri-BoldItalic'] = 'Helvetica-BoldOblique';
            e['Calibri-Italic'] = 'Helvetica-Oblique';
            e.CenturyGothic = 'Helvetica';
            e['CenturyGothic-Bold'] = 'Helvetica-Bold';
            e['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique';
            e['CenturyGothic-Italic'] = 'Helvetica-Oblique';
            e.ComicSansMS = 'Comic Sans MS';
            e['ComicSansMS-Bold'] = 'Comic Sans MS-Bold';
            e['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic';
            e['ComicSansMS-Italic'] = 'Comic Sans MS-Italic';
            e['ItcSymbol-Bold'] = 'Helvetica-Bold';
            e['ItcSymbol-BoldItalic'] = 'Helvetica-BoldOblique';
            e['ItcSymbol-Book'] = 'Helvetica';
            e['ItcSymbol-BookItalic'] = 'Helvetica-Oblique';
            e['ItcSymbol-Medium'] = 'Helvetica';
            e['ItcSymbol-MediumItalic'] = 'Helvetica-Oblique';
            e.LucidaConsole = 'Courier';
            e['LucidaConsole-Bold'] = 'Courier-Bold';
            e['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique';
            e['LucidaConsole-Italic'] = 'Courier-Oblique';
            e['LucidaSans-Demi'] = 'Helvetica-Bold';
            e['MS-Gothic'] = 'MS Gothic';
            e['MS-Gothic-Bold'] = 'MS Gothic-Bold';
            e['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic';
            e['MS-Gothic-Italic'] = 'MS Gothic-Italic';
            e['MS-Mincho'] = 'MS Mincho';
            e['MS-Mincho-Bold'] = 'MS Mincho-Bold';
            e['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic';
            e['MS-Mincho-Italic'] = 'MS Mincho-Italic';
            e['MS-PGothic'] = 'MS PGothic';
            e['MS-PGothic-Bold'] = 'MS PGothic-Bold';
            e['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic';
            e['MS-PGothic-Italic'] = 'MS PGothic-Italic';
            e['MS-PMincho'] = 'MS PMincho';
            e['MS-PMincho-Bold'] = 'MS PMincho-Bold';
            e['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic';
            e['MS-PMincho-Italic'] = 'MS PMincho-Italic';
            e.NuptialScript = 'Times-Italic';
            e.SegoeUISymbol = 'Helvetica';
            e.Wingdings = 'ZapfDingbats';
            e['Wingdings-Regular'] = 'ZapfDingbats';
          });
          t.getNonStdFontMap = o;
          const c = (0, r.getLookupTableFactory)(function (e) {
            e['Adobe Jenson'] = !0;
            e['Adobe Text'] = !0;
            e.Albertus = !0;
            e.Aldus = !0;
            e.Alexandria = !0;
            e.Algerian = !0;
            e['American Typewriter'] = !0;
            e.Antiqua = !0;
            e.Apex = !0;
            e.Arno = !0;
            e.Aster = !0;
            e.Aurora = !0;
            e.Baskerville = !0;
            e.Bell = !0;
            e.Bembo = !0;
            e['Bembo Schoolbook'] = !0;
            e.Benguiat = !0;
            e['Berkeley Old Style'] = !0;
            e['Bernhard Modern'] = !0;
            e['Berthold City'] = !0;
            e.Bodoni = !0;
            e['Bauer Bodoni'] = !0;
            e['Book Antiqua'] = !0;
            e.Bookman = !0;
            e['Bordeaux Roman'] = !0;
            e['Californian FB'] = !0;
            e.Calisto = !0;
            e.Calvert = !0;
            e.Capitals = !0;
            e.Cambria = !0;
            e.Cartier = !0;
            e.Caslon = !0;
            e.Catull = !0;
            e.Centaur = !0;
            e['Century Old Style'] = !0;
            e['Century Schoolbook'] = !0;
            e.Chaparral = !0;
            e['Charis SIL'] = !0;
            e.Cheltenham = !0;
            e['Cholla Slab'] = !0;
            e.Clarendon = !0;
            e.Clearface = !0;
            e.Cochin = !0;
            e.Colonna = !0;
            e['Computer Modern'] = !0;
            e['Concrete Roman'] = !0;
            e.Constantia = !0;
            e['Cooper Black'] = !0;
            e.Corona = !0;
            e.Ecotype = !0;
            e.Egyptienne = !0;
            e.Elephant = !0;
            e.Excelsior = !0;
            e.Fairfield = !0;
            e['FF Scala'] = !0;
            e.Folkard = !0;
            e.Footlight = !0;
            e.FreeSerif = !0;
            e['Friz Quadrata'] = !0;
            e.Garamond = !0;
            e.Gentium = !0;
            e.Georgia = !0;
            e.Gloucester = !0;
            e['Goudy Old Style'] = !0;
            e['Goudy Schoolbook'] = !0;
            e['Goudy Pro Font'] = !0;
            e.Granjon = !0;
            e['Guardian Egyptian'] = !0;
            e.Heather = !0;
            e.Hercules = !0;
            e['High Tower Text'] = !0;
            e.Hiroshige = !0;
            e['Hoefler Text'] = !0;
            e['Humana Serif'] = !0;
            e.Imprint = !0;
            e['Ionic No. 5'] = !0;
            e.Janson = !0;
            e.Joanna = !0;
            e.Korinna = !0;
            e.Lexicon = !0;
            e.LiberationSerif = !0;
            e['Liberation Serif'] = !0;
            e['Linux Libertine'] = !0;
            e.Literaturnaya = !0;
            e.Lucida = !0;
            e['Lucida Bright'] = !0;
            e.Melior = !0;
            e.Memphis = !0;
            e.Miller = !0;
            e.Minion = !0;
            e.Modern = !0;
            e['Mona Lisa'] = !0;
            e['Mrs Eaves'] = !0;
            e['MS Serif'] = !0;
            e['Museo Slab'] = !0;
            e['New York'] = !0;
            e['Nimbus Roman'] = !0;
            e['NPS Rawlinson Roadway'] = !0;
            e.NuptialScript = !0;
            e.Palatino = !0;
            e.Perpetua = !0;
            e.Plantin = !0;
            e['Plantin Schoolbook'] = !0;
            e.Playbill = !0;
            e['Poor Richard'] = !0;
            e['Rawlinson Roadway'] = !0;
            e.Renault = !0;
            e.Requiem = !0;
            e.Rockwell = !0;
            e.Roman = !0;
            e['Rotis Serif'] = !0;
            e.Sabon = !0;
            e.Scala = !0;
            e.Seagull = !0;
            e.Sistina = !0;
            e.Souvenir = !0;
            e.STIX = !0;
            e['Stone Informal'] = !0;
            e['Stone Serif'] = !0;
            e.Sylfaen = !0;
            e.Times = !0;
            e.Trajan = !0;
            e['Trinité'] = !0;
            e['Trump Mediaeval'] = !0;
            e.Utopia = !0;
            e['Vale Type'] = !0;
            e['Bitstream Vera'] = !0;
            e['Vera Serif'] = !0;
            e.Versailles = !0;
            e.Wanted = !0;
            e.Weiss = !0;
            e['Wide Latin'] = !0;
            e.Windsor = !0;
            e.XITS = !0;
          });
          t.getSerifFonts = c;
          const l = (0, r.getLookupTableFactory)(function (e) {
            e.Dingbats = !0;
            e.Symbol = !0;
            e.ZapfDingbats = !0;
          });
          t.getSymbolsFonts = l;
          const h = (0, r.getLookupTableFactory)(function (e) {
            e[2] = 10;
            e[3] = 32;
            e[4] = 33;
            e[5] = 34;
            e[6] = 35;
            e[7] = 36;
            e[8] = 37;
            e[9] = 38;
            e[10] = 39;
            e[11] = 40;
            e[12] = 41;
            e[13] = 42;
            e[14] = 43;
            e[15] = 44;
            e[16] = 45;
            e[17] = 46;
            e[18] = 47;
            e[19] = 48;
            e[20] = 49;
            e[21] = 50;
            e[22] = 51;
            e[23] = 52;
            e[24] = 53;
            e[25] = 54;
            e[26] = 55;
            e[27] = 56;
            e[28] = 57;
            e[29] = 58;
            e[30] = 894;
            e[31] = 60;
            e[32] = 61;
            e[33] = 62;
            e[34] = 63;
            e[35] = 64;
            e[36] = 65;
            e[37] = 66;
            e[38] = 67;
            e[39] = 68;
            e[40] = 69;
            e[41] = 70;
            e[42] = 71;
            e[43] = 72;
            e[44] = 73;
            e[45] = 74;
            e[46] = 75;
            e[47] = 76;
            e[48] = 77;
            e[49] = 78;
            e[50] = 79;
            e[51] = 80;
            e[52] = 81;
            e[53] = 82;
            e[54] = 83;
            e[55] = 84;
            e[56] = 85;
            e[57] = 86;
            e[58] = 87;
            e[59] = 88;
            e[60] = 89;
            e[61] = 90;
            e[62] = 91;
            e[63] = 92;
            e[64] = 93;
            e[65] = 94;
            e[66] = 95;
            e[67] = 96;
            e[68] = 97;
            e[69] = 98;
            e[70] = 99;
            e[71] = 100;
            e[72] = 101;
            e[73] = 102;
            e[74] = 103;
            e[75] = 104;
            e[76] = 105;
            e[77] = 106;
            e[78] = 107;
            e[79] = 108;
            e[80] = 109;
            e[81] = 110;
            e[82] = 111;
            e[83] = 112;
            e[84] = 113;
            e[85] = 114;
            e[86] = 115;
            e[87] = 116;
            e[88] = 117;
            e[89] = 118;
            e[90] = 119;
            e[91] = 120;
            e[92] = 121;
            e[93] = 122;
            e[94] = 123;
            e[95] = 124;
            e[96] = 125;
            e[97] = 126;
            e[98] = 196;
            e[99] = 197;
            e[100] = 199;
            e[101] = 201;
            e[102] = 209;
            e[103] = 214;
            e[104] = 220;
            e[105] = 225;
            e[106] = 224;
            e[107] = 226;
            e[108] = 228;
            e[109] = 227;
            e[110] = 229;
            e[111] = 231;
            e[112] = 233;
            e[113] = 232;
            e[114] = 234;
            e[115] = 235;
            e[116] = 237;
            e[117] = 236;
            e[118] = 238;
            e[119] = 239;
            e[120] = 241;
            e[121] = 243;
            e[122] = 242;
            e[123] = 244;
            e[124] = 246;
            e[125] = 245;
            e[126] = 250;
            e[127] = 249;
            e[128] = 251;
            e[129] = 252;
            e[130] = 8224;
            e[131] = 176;
            e[132] = 162;
            e[133] = 163;
            e[134] = 167;
            e[135] = 8226;
            e[136] = 182;
            e[137] = 223;
            e[138] = 174;
            e[139] = 169;
            e[140] = 8482;
            e[141] = 180;
            e[142] = 168;
            e[143] = 8800;
            e[144] = 198;
            e[145] = 216;
            e[146] = 8734;
            e[147] = 177;
            e[148] = 8804;
            e[149] = 8805;
            e[150] = 165;
            e[151] = 181;
            e[152] = 8706;
            e[153] = 8721;
            e[154] = 8719;
            e[156] = 8747;
            e[157] = 170;
            e[158] = 186;
            e[159] = 8486;
            e[160] = 230;
            e[161] = 248;
            e[162] = 191;
            e[163] = 161;
            e[164] = 172;
            e[165] = 8730;
            e[166] = 402;
            e[167] = 8776;
            e[168] = 8710;
            e[169] = 171;
            e[170] = 187;
            e[171] = 8230;
            e[179] = 8220;
            e[180] = 8221;
            e[181] = 8216;
            e[182] = 8217;
            e[200] = 193;
            e[203] = 205;
            e[207] = 211;
            e[210] = 218;
            e[223] = 711;
            e[224] = 321;
            e[225] = 322;
            e[226] = 352;
            e[227] = 353;
            e[228] = 381;
            e[229] = 382;
            e[233] = 221;
            e[234] = 253;
            e[252] = 263;
            e[253] = 268;
            e[254] = 269;
            e[258] = 258;
            e[260] = 260;
            e[261] = 261;
            e[265] = 280;
            e[266] = 281;
            e[267] = 282;
            e[268] = 283;
            e[269] = 313;
            e[275] = 323;
            e[276] = 324;
            e[278] = 328;
            e[283] = 344;
            e[284] = 345;
            e[285] = 346;
            e[286] = 347;
            e[292] = 367;
            e[295] = 377;
            e[296] = 378;
            e[298] = 380;
            e[305] = 963;
            e[306] = 964;
            e[307] = 966;
            e[308] = 8215;
            e[309] = 8252;
            e[310] = 8319;
            e[311] = 8359;
            e[312] = 8592;
            e[313] = 8593;
            e[337] = 9552;
            e[493] = 1039;
            e[494] = 1040;
            e[672] = 1488;
            e[673] = 1489;
            e[674] = 1490;
            e[675] = 1491;
            e[676] = 1492;
            e[677] = 1493;
            e[678] = 1494;
            e[679] = 1495;
            e[680] = 1496;
            e[681] = 1497;
            e[682] = 1498;
            e[683] = 1499;
            e[684] = 1500;
            e[685] = 1501;
            e[686] = 1502;
            e[687] = 1503;
            e[688] = 1504;
            e[689] = 1505;
            e[690] = 1506;
            e[691] = 1507;
            e[692] = 1508;
            e[693] = 1509;
            e[694] = 1510;
            e[695] = 1511;
            e[696] = 1512;
            e[697] = 1513;
            e[698] = 1514;
            e[705] = 1524;
            e[706] = 8362;
            e[710] = 64288;
            e[711] = 64298;
            e[759] = 1617;
            e[761] = 1776;
            e[763] = 1778;
            e[775] = 1652;
            e[777] = 1764;
            e[778] = 1780;
            e[779] = 1781;
            e[780] = 1782;
            e[782] = 771;
            e[783] = 64726;
            e[786] = 8363;
            e[788] = 8532;
            e[790] = 768;
            e[791] = 769;
            e[792] = 768;
            e[795] = 803;
            e[797] = 64336;
            e[798] = 64337;
            e[799] = 64342;
            e[800] = 64343;
            e[801] = 64344;
            e[802] = 64345;
            e[803] = 64362;
            e[804] = 64363;
            e[805] = 64364;
            e[2424] = 7821;
            e[2425] = 7822;
            e[2426] = 7823;
            e[2427] = 7824;
            e[2428] = 7825;
            e[2429] = 7826;
            e[2430] = 7827;
            e[2433] = 7682;
            e[2678] = 8045;
            e[2679] = 8046;
            e[2830] = 1552;
            e[2838] = 686;
            e[2840] = 751;
            e[2842] = 753;
            e[2843] = 754;
            e[2844] = 755;
            e[2846] = 757;
            e[2856] = 767;
            e[2857] = 848;
            e[2858] = 849;
            e[2862] = 853;
            e[2863] = 854;
            e[2864] = 855;
            e[2865] = 861;
            e[2866] = 862;
            e[2906] = 7460;
            e[2908] = 7462;
            e[2909] = 7463;
            e[2910] = 7464;
            e[2912] = 7466;
            e[2913] = 7467;
            e[2914] = 7468;
            e[2916] = 7470;
            e[2917] = 7471;
            e[2918] = 7472;
            e[2920] = 7474;
            e[2921] = 7475;
            e[2922] = 7476;
            e[2924] = 7478;
            e[2925] = 7479;
            e[2926] = 7480;
            e[2928] = 7482;
            e[2929] = 7483;
            e[2930] = 7484;
            e[2932] = 7486;
            e[2933] = 7487;
            e[2934] = 7488;
            e[2936] = 7490;
            e[2937] = 7491;
            e[2938] = 7492;
            e[2940] = 7494;
            e[2941] = 7495;
            e[2942] = 7496;
            e[2944] = 7498;
            e[2946] = 7500;
            e[2948] = 7502;
            e[2950] = 7504;
            e[2951] = 7505;
            e[2952] = 7506;
            e[2954] = 7508;
            e[2955] = 7509;
            e[2956] = 7510;
            e[2958] = 7512;
            e[2959] = 7513;
            e[2960] = 7514;
            e[2962] = 7516;
            e[2963] = 7517;
            e[2964] = 7518;
            e[2966] = 7520;
            e[2967] = 7521;
            e[2968] = 7522;
            e[2970] = 7524;
            e[2971] = 7525;
            e[2972] = 7526;
            e[2974] = 7528;
            e[2975] = 7529;
            e[2976] = 7530;
            e[2978] = 1537;
            e[2979] = 1538;
            e[2980] = 1539;
            e[2982] = 1549;
            e[2983] = 1551;
            e[2984] = 1552;
            e[2986] = 1554;
            e[2987] = 1555;
            e[2988] = 1556;
            e[2990] = 1623;
            e[2991] = 1624;
            e[2995] = 1775;
            e[2999] = 1791;
            e[3002] = 64290;
            e[3003] = 64291;
            e[3004] = 64292;
            e[3006] = 64294;
            e[3007] = 64295;
            e[3008] = 64296;
            e[3011] = 1900;
            e[3014] = 8223;
            e[3015] = 8244;
            e[3017] = 7532;
            e[3018] = 7533;
            e[3019] = 7534;
            e[3075] = 7590;
            e[3076] = 7591;
            e[3079] = 7594;
            e[3080] = 7595;
            e[3083] = 7598;
            e[3084] = 7599;
            e[3087] = 7602;
            e[3088] = 7603;
            e[3091] = 7606;
            e[3092] = 7607;
            e[3095] = 7610;
            e[3096] = 7611;
            e[3099] = 7614;
            e[3100] = 7615;
            e[3103] = 7618;
            e[3104] = 7619;
            e[3107] = 8337;
            e[3108] = 8338;
            e[3116] = 1884;
            e[3119] = 1885;
            e[3120] = 1885;
            e[3123] = 1886;
            e[3124] = 1886;
            e[3127] = 1887;
            e[3128] = 1887;
            e[3131] = 1888;
            e[3132] = 1888;
            e[3135] = 1889;
            e[3136] = 1889;
            e[3139] = 1890;
            e[3140] = 1890;
            e[3143] = 1891;
            e[3144] = 1891;
            e[3147] = 1892;
            e[3148] = 1892;
            e[3153] = 580;
            e[3154] = 581;
            e[3157] = 584;
            e[3158] = 585;
            e[3161] = 588;
            e[3162] = 589;
            e[3165] = 891;
            e[3166] = 892;
            e[3169] = 1274;
            e[3170] = 1275;
            e[3173] = 1278;
            e[3174] = 1279;
            e[3181] = 7622;
            e[3182] = 7623;
            e[3282] = 11799;
            e[3316] = 578;
            e[3379] = 42785;
            e[3393] = 1159;
            e[3416] = 8377;
          });
          t.getGlyphMapForStandardFonts = h;
          const u = (0, r.getLookupTableFactory)(function (e) {
            e[227] = 322;
            e[264] = 261;
            e[291] = 346;
          });
          t.getSupplementalGlyphMapForArialBlack = u;
          const d = (0, r.getLookupTableFactory)(function (e) {
            e[1] = 32;
            e[4] = 65;
            e[5] = 192;
            e[6] = 193;
            e[9] = 196;
            e[17] = 66;
            e[18] = 67;
            e[21] = 268;
            e[24] = 68;
            e[28] = 69;
            e[29] = 200;
            e[30] = 201;
            e[32] = 282;
            e[38] = 70;
            e[39] = 71;
            e[44] = 72;
            e[47] = 73;
            e[48] = 204;
            e[49] = 205;
            e[58] = 74;
            e[60] = 75;
            e[62] = 76;
            e[68] = 77;
            e[69] = 78;
            e[75] = 79;
            e[76] = 210;
            e[80] = 214;
            e[87] = 80;
            e[89] = 81;
            e[90] = 82;
            e[92] = 344;
            e[94] = 83;
            e[97] = 352;
            e[100] = 84;
            e[104] = 85;
            e[109] = 220;
            e[115] = 86;
            e[116] = 87;
            e[121] = 88;
            e[122] = 89;
            e[124] = 221;
            e[127] = 90;
            e[129] = 381;
            e[258] = 97;
            e[259] = 224;
            e[260] = 225;
            e[263] = 228;
            e[268] = 261;
            e[271] = 98;
            e[272] = 99;
            e[273] = 263;
            e[275] = 269;
            e[282] = 100;
            e[286] = 101;
            e[287] = 232;
            e[288] = 233;
            e[290] = 283;
            e[295] = 281;
            e[296] = 102;
            e[336] = 103;
            e[346] = 104;
            e[349] = 105;
            e[350] = 236;
            e[351] = 237;
            e[361] = 106;
            e[364] = 107;
            e[367] = 108;
            e[371] = 322;
            e[373] = 109;
            e[374] = 110;
            e[381] = 111;
            e[382] = 242;
            e[383] = 243;
            e[386] = 246;
            e[393] = 112;
            e[395] = 113;
            e[396] = 114;
            e[398] = 345;
            e[400] = 115;
            e[401] = 347;
            e[403] = 353;
            e[410] = 116;
            e[437] = 117;
            e[442] = 252;
            e[448] = 118;
            e[449] = 119;
            e[454] = 120;
            e[455] = 121;
            e[457] = 253;
            e[460] = 122;
            e[462] = 382;
            e[463] = 380;
            e[853] = 44;
            e[855] = 58;
            e[856] = 46;
            e[876] = 47;
            e[878] = 45;
            e[882] = 45;
            e[894] = 40;
            e[895] = 41;
            e[896] = 91;
            e[897] = 93;
            e[923] = 64;
            e[1004] = 48;
            e[1005] = 49;
            e[1006] = 50;
            e[1007] = 51;
            e[1008] = 52;
            e[1009] = 53;
            e[1010] = 54;
            e[1011] = 55;
            e[1012] = 56;
            e[1013] = 57;
            e[1081] = 37;
            e[1085] = 43;
            e[1086] = 45;
          });
          t.getSupplementalGlyphMapForCalibri = d;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ToUnicodeMap = t.IdentityToUnicodeMap = void 0;
          var r = a(2);
          t.ToUnicodeMap = class ToUnicodeMap {
            constructor(e = []) {
              this._map = e;
            }
            get length() {
              return this._map.length;
            }
            forEach(e) {
              for (const t in this._map) e(t, this._map[t].charCodeAt(0));
            }
            has(e) {
              return void 0 !== this._map[e];
            }
            get(e) {
              return this._map[e];
            }
            charCodeOf(e) {
              const t = this._map;
              if (t.length <= 65536) return t.indexOf(e);
              for (const a in t) if (t[a] === e) return 0 | a;
              return -1;
            }
            amend(e) {
              for (const t in e) this._map[t] = e[t];
            }
          };
          t.IdentityToUnicodeMap = class IdentityToUnicodeMap {
            constructor(e, t) {
              this.firstChar = e;
              this.lastChar = t;
            }
            get length() {
              return this.lastChar + 1 - this.firstChar;
            }
            forEach(e) {
              for (let t = this.firstChar, a = this.lastChar; t <= a; t++) e(t, t);
            }
            has(e) {
              return this.firstChar <= e && e <= this.lastChar;
            }
            get(e) {
              if (this.firstChar <= e && e <= this.lastChar) return String.fromCharCode(e);
            }
            charCodeOf(e) {
              return Number.isInteger(e) && e >= this.firstChar && e <= this.lastChar ? e : -1;
            }
            amend(e) {
              (0, r.unreachable)('Should not call amend()');
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.CFFFont = void 0;
          var r = a(33),
            n = a(36),
            i = a(2);
          t.CFFFont = class CFFFont {
            constructor(e, t) {
              this.properties = t;
              const a = new r.CFFParser(e, t, n.SEAC_ANALYSIS_ENABLED);
              this.cff = a.parse();
              this.cff.duplicateFirstGlyph();
              const s = new r.CFFCompiler(this.cff);
              this.seacs = this.cff.seacs;
              try {
                this.data = s.compile();
              } catch (a) {
                (0, i.warn)('Failed to compile font ' + t.loadedName);
                this.data = e;
              }
              this._createBuiltInEncoding();
            }
            get numGlyphs() {
              return this.cff.charStrings.count;
            }
            getCharset() {
              return this.cff.charset.charset;
            }
            getGlyphMapping() {
              const e = this.cff,
                t = this.properties,
                { cidToGidMap: a, cMap: r } = t,
                i = e.charset.charset;
              let s, o;
              if (t.composite) {
                let t, n;
                if (a && a.length > 0) {
                  t = Object.create(null);
                  for (let e = 0, r = a.length; e < r; e++) {
                    const r = a[e];
                    void 0 !== r && (t[r] = e);
                  }
                }
                s = Object.create(null);
                if (e.isCIDFont)
                  for (o = 0; o < i.length; o++) {
                    const e = i[o];
                    n = r.charCodeOf(e);
                    t && void 0 !== t[n] && (n = t[n]);
                    s[n] = o;
                  }
                else
                  for (o = 0; o < e.charStrings.count; o++) {
                    n = r.charCodeOf(o);
                    s[n] = o;
                  }
                return s;
              }
              let c = e.encoding ? e.encoding.encoding : null;
              t.isInternalFont && (c = t.defaultEncoding);
              s = (0, n.type1FontGlyphMapping)(t, c, i);
              return s;
            }
            hasGlyphId(e) {
              return this.cff.hasGlyphId(e);
            }
            _createBuiltInEncoding() {
              const { charset: e, encoding: t } = this.cff;
              if (!e || !t) return;
              const a = e.charset,
                r = t.encoding,
                n = [];
              for (const e in r) {
                const t = r[e];
                if (t >= 0) {
                  const r = a[t];
                  r && (n[e] = r);
                }
              }
              n.length > 0 && (this.properties.builtInEncoding = n);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.FontRendererFactory = void 0;
          var r = a(2),
            n = a(33),
            i = a(37),
            s = a(35),
            o = a(8);
          function getUint32(e, t) {
            return ((e[t] << 24) | (e[t + 1] << 16) | (e[t + 2] << 8) | e[t + 3]) >>> 0;
          }
          function getUint16(e, t) {
            return (e[t] << 8) | e[t + 1];
          }
          function getInt16(e, t) {
            return ((e[t] << 24) | (e[t + 1] << 16)) >> 16;
          }
          function getInt8(e, t) {
            return (e[t] << 24) >> 24;
          }
          function getFloat214(e, t) {
            return getInt16(e, t) / 16384;
          }
          function getSubroutineBias(e) {
            const t = e.length;
            let a = 32768;
            t < 1240 ? (a = 107) : t < 33900 && (a = 1131);
            return a;
          }
          function parseCmap(e, t, a) {
            const n = 1 === getUint16(e, t + 2) ? getUint32(e, t + 8) : getUint32(e, t + 16),
              i = getUint16(e, t + n);
            let s, o, c;
            if (4 === i) {
              getUint16(e, t + n + 2);
              const a = getUint16(e, t + n + 6) >> 1;
              o = t + n + 14;
              s = [];
              for (c = 0; c < a; c++, o += 2) s[c] = { end: getUint16(e, o) };
              o += 2;
              for (c = 0; c < a; c++, o += 2) s[c].start = getUint16(e, o);
              for (c = 0; c < a; c++, o += 2) s[c].idDelta = getUint16(e, o);
              for (c = 0; c < a; c++, o += 2) {
                let t = getUint16(e, o);
                if (0 !== t) {
                  s[c].ids = [];
                  for (let a = 0, r = s[c].end - s[c].start + 1; a < r; a++) {
                    s[c].ids[a] = getUint16(e, o + t);
                    t += 2;
                  }
                }
              }
              return s;
            }
            if (12 === i) {
              const a = getUint32(e, t + n + 12);
              o = t + n + 16;
              s = [];
              for (c = 0; c < a; c++) {
                t = getUint32(e, o);
                s.push({ start: t, end: getUint32(e, o + 4), idDelta: getUint32(e, o + 8) - t });
                o += 12;
              }
              return s;
            }
            throw new r.FormatError(`unsupported cmap: ${i}`);
          }
          function parseCff(e, t, a, r) {
            const i = new n.CFFParser(new o.Stream(e, t, a - t), {}, r).parse();
            return {
              glyphs: i.charStrings.objects,
              subrs:
                i.topDict.privateDict && i.topDict.privateDict.subrsIndex && i.topDict.privateDict.subrsIndex.objects,
              gsubrs: i.globalSubrIndex && i.globalSubrIndex.objects,
              isCFFCIDFont: i.isCIDFont,
              fdSelect: i.fdSelect,
              fdArray: i.fdArray,
            };
          }
          function lookupCmap(e, t) {
            const a = t.codePointAt(0);
            let r = 0,
              n = 0,
              i = e.length - 1;
            for (; n < i; ) {
              const t = (n + i + 1) >> 1;
              a < e[t].start ? (i = t - 1) : (n = t);
            }
            e[n].start <= a &&
              a <= e[n].end &&
              (r = (e[n].idDelta + (e[n].ids ? e[n].ids[a - e[n].start] : a)) & 65535);
            return { charCode: a, glyphId: r };
          }
          function compileGlyf(e, t, a) {
            function moveTo(e, a) {
              t.push({ cmd: 'moveTo', args: [e, a] });
            }
            function lineTo(e, a) {
              t.push({ cmd: 'lineTo', args: [e, a] });
            }
            function quadraticCurveTo(e, a, r, n) {
              t.push({ cmd: 'quadraticCurveTo', args: [e, a, r, n] });
            }
            let r = 0;
            const n = getInt16(e, r);
            let i,
              s = 0,
              o = 0;
            r += 10;
            if (n < 0)
              do {
                i = getUint16(e, r);
                const n = getUint16(e, r + 2);
                r += 4;
                let c, l;
                if (1 & i) {
                  if (2 & i) {
                    c = getInt16(e, r);
                    l = getInt16(e, r + 2);
                  } else {
                    c = getUint16(e, r);
                    l = getUint16(e, r + 2);
                  }
                  r += 4;
                } else if (2 & i) {
                  c = getInt8(e, r++);
                  l = getInt8(e, r++);
                } else {
                  c = e[r++];
                  l = e[r++];
                }
                if (2 & i) {
                  s = c;
                  o = l;
                } else {
                  s = 0;
                  o = 0;
                }
                let h = 1,
                  u = 1,
                  d = 0,
                  f = 0;
                if (8 & i) {
                  h = u = getFloat214(e, r);
                  r += 2;
                } else if (64 & i) {
                  h = getFloat214(e, r);
                  u = getFloat214(e, r + 2);
                  r += 4;
                } else if (128 & i) {
                  h = getFloat214(e, r);
                  d = getFloat214(e, r + 2);
                  f = getFloat214(e, r + 4);
                  u = getFloat214(e, r + 6);
                  r += 8;
                }
                const g = a.glyphs[n];
                if (g) {
                  t.push({ cmd: 'save' }, { cmd: 'transform', args: [h, d, f, u, s, o] });
                  compileGlyf(g, t, a);
                  t.push({ cmd: 'restore' });
                }
              } while (32 & i);
            else {
              const t = [];
              let a, c;
              for (a = 0; a < n; a++) {
                t.push(getUint16(e, r));
                r += 2;
              }
              r += 2 + getUint16(e, r);
              const l = t.at(-1) + 1,
                h = [];
              for (; h.length < l; ) {
                i = e[r++];
                let t = 1;
                8 & i && (t += e[r++]);
                for (; t-- > 0; ) h.push({ flags: i });
              }
              for (a = 0; a < l; a++) {
                switch (18 & h[a].flags) {
                  case 0:
                    s += getInt16(e, r);
                    r += 2;
                    break;
                  case 2:
                    s -= e[r++];
                    break;
                  case 18:
                    s += e[r++];
                }
                h[a].x = s;
              }
              for (a = 0; a < l; a++) {
                switch (36 & h[a].flags) {
                  case 0:
                    o += getInt16(e, r);
                    r += 2;
                    break;
                  case 4:
                    o -= e[r++];
                    break;
                  case 36:
                    o += e[r++];
                }
                h[a].y = o;
              }
              let u = 0;
              for (r = 0; r < n; r++) {
                const e = t[r],
                  n = h.slice(u, e + 1);
                if (1 & n[0].flags) n.push(n[0]);
                else if (1 & n.at(-1).flags) n.unshift(n.at(-1));
                else {
                  const e = { flags: 1, x: (n[0].x + n.at(-1).x) / 2, y: (n[0].y + n.at(-1).y) / 2 };
                  n.unshift(e);
                  n.push(e);
                }
                moveTo(n[0].x, n[0].y);
                for (a = 1, c = n.length; a < c; a++)
                  if (1 & n[a].flags) lineTo(n[a].x, n[a].y);
                  else if (1 & n[a + 1].flags) {
                    quadraticCurveTo(n[a].x, n[a].y, n[a + 1].x, n[a + 1].y);
                    a++;
                  } else quadraticCurveTo(n[a].x, n[a].y, (n[a].x + n[a + 1].x) / 2, (n[a].y + n[a + 1].y) / 2);
                u = e + 1;
              }
            }
          }
          function compileCharString(e, t, a, n) {
            function moveTo(e, a) {
              t.push({ cmd: 'moveTo', args: [e, a] });
            }
            function lineTo(e, a) {
              t.push({ cmd: 'lineTo', args: [e, a] });
            }
            function bezierCurveTo(e, a, r, n, i, s) {
              t.push({ cmd: 'bezierCurveTo', args: [e, a, r, n, i, s] });
            }
            const i = [];
            let o = 0,
              c = 0,
              l = 0;
            !(function parse(e) {
              let h = 0;
              for (; h < e.length; ) {
                let u,
                  d,
                  f,
                  g,
                  p,
                  m,
                  b,
                  y,
                  w,
                  S = !1,
                  x = e[h++];
                switch (x) {
                  case 1:
                  case 3:
                  case 18:
                  case 23:
                    l += i.length >> 1;
                    S = !0;
                    break;
                  case 4:
                    c += i.pop();
                    moveTo(o, c);
                    S = !0;
                    break;
                  case 5:
                    for (; i.length > 0; ) {
                      o += i.shift();
                      c += i.shift();
                      lineTo(o, c);
                    }
                    break;
                  case 6:
                    for (; i.length > 0; ) {
                      o += i.shift();
                      lineTo(o, c);
                      if (0 === i.length) break;
                      c += i.shift();
                      lineTo(o, c);
                    }
                    break;
                  case 7:
                    for (; i.length > 0; ) {
                      c += i.shift();
                      lineTo(o, c);
                      if (0 === i.length) break;
                      o += i.shift();
                      lineTo(o, c);
                    }
                    break;
                  case 8:
                    for (; i.length > 0; ) {
                      u = o + i.shift();
                      f = c + i.shift();
                      d = u + i.shift();
                      g = f + i.shift();
                      o = d + i.shift();
                      c = g + i.shift();
                      bezierCurveTo(u, f, d, g, o, c);
                    }
                    break;
                  case 10:
                    y = i.pop();
                    w = null;
                    if (a.isCFFCIDFont) {
                      const e = a.fdSelect.getFDIndex(n);
                      if (e >= 0 && e < a.fdArray.length) {
                        const t = a.fdArray[e];
                        let r;
                        t.privateDict && t.privateDict.subrsIndex && (r = t.privateDict.subrsIndex.objects);
                        if (r) {
                          y += getSubroutineBias(r);
                          w = r[y];
                        }
                      } else (0, r.warn)('Invalid fd index for glyph index.');
                    } else w = a.subrs[y + a.subrsBias];
                    w && parse(w);
                    break;
                  case 11:
                    return;
                  case 12:
                    x = e[h++];
                    switch (x) {
                      case 34:
                        u = o + i.shift();
                        d = u + i.shift();
                        p = c + i.shift();
                        o = d + i.shift();
                        bezierCurveTo(u, c, d, p, o, p);
                        u = o + i.shift();
                        d = u + i.shift();
                        o = d + i.shift();
                        bezierCurveTo(u, p, d, c, o, c);
                        break;
                      case 35:
                        u = o + i.shift();
                        f = c + i.shift();
                        d = u + i.shift();
                        g = f + i.shift();
                        o = d + i.shift();
                        c = g + i.shift();
                        bezierCurveTo(u, f, d, g, o, c);
                        u = o + i.shift();
                        f = c + i.shift();
                        d = u + i.shift();
                        g = f + i.shift();
                        o = d + i.shift();
                        c = g + i.shift();
                        bezierCurveTo(u, f, d, g, o, c);
                        i.pop();
                        break;
                      case 36:
                        u = o + i.shift();
                        p = c + i.shift();
                        d = u + i.shift();
                        m = p + i.shift();
                        o = d + i.shift();
                        bezierCurveTo(u, p, d, m, o, m);
                        u = o + i.shift();
                        d = u + i.shift();
                        b = m + i.shift();
                        o = d + i.shift();
                        bezierCurveTo(u, m, d, b, o, c);
                        break;
                      case 37:
                        const e = o,
                          t = c;
                        u = o + i.shift();
                        f = c + i.shift();
                        d = u + i.shift();
                        g = f + i.shift();
                        o = d + i.shift();
                        c = g + i.shift();
                        bezierCurveTo(u, f, d, g, o, c);
                        u = o + i.shift();
                        f = c + i.shift();
                        d = u + i.shift();
                        g = f + i.shift();
                        o = d;
                        c = g;
                        Math.abs(o - e) > Math.abs(c - t) ? (o += i.shift()) : (c += i.shift());
                        bezierCurveTo(u, f, d, g, o, c);
                        break;
                      default:
                        throw new r.FormatError(`unknown operator: 12 ${x}`);
                    }
                    break;
                  case 14:
                    if (i.length >= 4) {
                      const e = i.pop(),
                        r = i.pop();
                      c = i.pop();
                      o = i.pop();
                      t.push({ cmd: 'save' }, { cmd: 'translate', args: [o, c] });
                      let n = lookupCmap(a.cmap, String.fromCharCode(a.glyphNameMap[s.StandardEncoding[e]]));
                      compileCharString(a.glyphs[n.glyphId], t, a, n.glyphId);
                      t.push({ cmd: 'restore' });
                      n = lookupCmap(a.cmap, String.fromCharCode(a.glyphNameMap[s.StandardEncoding[r]]));
                      compileCharString(a.glyphs[n.glyphId], t, a, n.glyphId);
                    }
                    return;
                  case 19:
                  case 20:
                    l += i.length >> 1;
                    h += (l + 7) >> 3;
                    S = !0;
                    break;
                  case 21:
                    c += i.pop();
                    o += i.pop();
                    moveTo(o, c);
                    S = !0;
                    break;
                  case 22:
                    o += i.pop();
                    moveTo(o, c);
                    S = !0;
                    break;
                  case 24:
                    for (; i.length > 2; ) {
                      u = o + i.shift();
                      f = c + i.shift();
                      d = u + i.shift();
                      g = f + i.shift();
                      o = d + i.shift();
                      c = g + i.shift();
                      bezierCurveTo(u, f, d, g, o, c);
                    }
                    o += i.shift();
                    c += i.shift();
                    lineTo(o, c);
                    break;
                  case 25:
                    for (; i.length > 6; ) {
                      o += i.shift();
                      c += i.shift();
                      lineTo(o, c);
                    }
                    u = o + i.shift();
                    f = c + i.shift();
                    d = u + i.shift();
                    g = f + i.shift();
                    o = d + i.shift();
                    c = g + i.shift();
                    bezierCurveTo(u, f, d, g, o, c);
                    break;
                  case 26:
                    i.length % 2 && (o += i.shift());
                    for (; i.length > 0; ) {
                      u = o;
                      f = c + i.shift();
                      d = u + i.shift();
                      g = f + i.shift();
                      o = d;
                      c = g + i.shift();
                      bezierCurveTo(u, f, d, g, o, c);
                    }
                    break;
                  case 27:
                    i.length % 2 && (c += i.shift());
                    for (; i.length > 0; ) {
                      u = o + i.shift();
                      f = c;
                      d = u + i.shift();
                      g = f + i.shift();
                      o = d + i.shift();
                      c = g;
                      bezierCurveTo(u, f, d, g, o, c);
                    }
                    break;
                  case 28:
                    i.push(((e[h] << 24) | (e[h + 1] << 16)) >> 16);
                    h += 2;
                    break;
                  case 29:
                    y = i.pop() + a.gsubrsBias;
                    w = a.gsubrs[y];
                    w && parse(w);
                    break;
                  case 30:
                    for (; i.length > 0; ) {
                      u = o;
                      f = c + i.shift();
                      d = u + i.shift();
                      g = f + i.shift();
                      o = d + i.shift();
                      c = g + (1 === i.length ? i.shift() : 0);
                      bezierCurveTo(u, f, d, g, o, c);
                      if (0 === i.length) break;
                      u = o + i.shift();
                      f = c;
                      d = u + i.shift();
                      g = f + i.shift();
                      c = g + i.shift();
                      o = d + (1 === i.length ? i.shift() : 0);
                      bezierCurveTo(u, f, d, g, o, c);
                    }
                    break;
                  case 31:
                    for (; i.length > 0; ) {
                      u = o + i.shift();
                      f = c;
                      d = u + i.shift();
                      g = f + i.shift();
                      c = g + i.shift();
                      o = d + (1 === i.length ? i.shift() : 0);
                      bezierCurveTo(u, f, d, g, o, c);
                      if (0 === i.length) break;
                      u = o;
                      f = c + i.shift();
                      d = u + i.shift();
                      g = f + i.shift();
                      o = d + i.shift();
                      c = g + (1 === i.length ? i.shift() : 0);
                      bezierCurveTo(u, f, d, g, o, c);
                    }
                    break;
                  default:
                    if (x < 32) throw new r.FormatError(`unknown operator: ${x}`);
                    if (x < 247) i.push(x - 139);
                    else if (x < 251) i.push(256 * (x - 247) + e[h++] + 108);
                    else if (x < 255) i.push(256 * -(x - 251) - e[h++] - 108);
                    else {
                      i.push(((e[h] << 24) | (e[h + 1] << 16) | (e[h + 2] << 8) | e[h + 3]) / 65536);
                      h += 4;
                    }
                }
                S && (i.length = 0);
              }
            })(e);
          }
          const c = [];
          class CompiledFont {
            constructor(e) {
              this.constructor === CompiledFont && (0, r.unreachable)('Cannot initialize CompiledFont.');
              this.fontMatrix = e;
              this.compiledGlyphs = Object.create(null);
              this.compiledCharCodeToGlyphId = Object.create(null);
            }
            getPathJs(e) {
              const { charCode: t, glyphId: a } = lookupCmap(this.cmap, e);
              let r = this.compiledGlyphs[a];
              if (!r)
                try {
                  r = this.compileGlyph(this.glyphs[a], a);
                  this.compiledGlyphs[a] = r;
                } catch (e) {
                  this.compiledGlyphs[a] = c;
                  void 0 === this.compiledCharCodeToGlyphId[t] && (this.compiledCharCodeToGlyphId[t] = a);
                  throw e;
                }
              void 0 === this.compiledCharCodeToGlyphId[t] && (this.compiledCharCodeToGlyphId[t] = a);
              return r;
            }
            compileGlyph(e, t) {
              if (!e || 0 === e.length || 14 === e[0]) return c;
              let a = this.fontMatrix;
              if (this.isCFFCIDFont) {
                const e = this.fdSelect.getFDIndex(t);
                if (e >= 0 && e < this.fdArray.length) {
                  a = this.fdArray[e].getByName('FontMatrix') || r.FONT_IDENTITY_MATRIX;
                } else (0, r.warn)('Invalid fd index for glyph index.');
              }
              const n = [
                { cmd: 'save' },
                { cmd: 'transform', args: a.slice() },
                { cmd: 'scale', args: ['size', '-size'] },
              ];
              this.compileGlyphImpl(e, n, t);
              n.push({ cmd: 'restore' });
              return n;
            }
            compileGlyphImpl() {
              (0, r.unreachable)('Children classes should implement this.');
            }
            hasBuiltPath(e) {
              const { charCode: t, glyphId: a } = lookupCmap(this.cmap, e);
              return void 0 !== this.compiledGlyphs[a] && void 0 !== this.compiledCharCodeToGlyphId[t];
            }
          }
          class TrueTypeCompiled extends CompiledFont {
            constructor(e, t, a) {
              super(a || [488e-6, 0, 0, 488e-6, 0, 0]);
              this.glyphs = e;
              this.cmap = t;
            }
            compileGlyphImpl(e, t) {
              compileGlyf(e, t, this);
            }
          }
          class Type2Compiled extends CompiledFont {
            constructor(e, t, a, r) {
              super(a || [0.001, 0, 0, 0.001, 0, 0]);
              this.glyphs = e.glyphs;
              this.gsubrs = e.gsubrs || [];
              this.subrs = e.subrs || [];
              this.cmap = t;
              this.glyphNameMap = r || (0, i.getGlyphsUnicode)();
              this.gsubrsBias = getSubroutineBias(this.gsubrs);
              this.subrsBias = getSubroutineBias(this.subrs);
              this.isCFFCIDFont = e.isCFFCIDFont;
              this.fdSelect = e.fdSelect;
              this.fdArray = e.fdArray;
            }
            compileGlyphImpl(e, t, a) {
              compileCharString(e, t, this, a);
            }
          }
          t.FontRendererFactory = class FontRendererFactory {
            static create(e, t) {
              const a = new Uint8Array(e.data);
              let n, i, s, o, c, l;
              const h = getUint16(a, 4);
              for (let e = 0, u = 12; e < h; e++, u += 16) {
                const e = (0, r.bytesToString)(a.subarray(u, u + 4)),
                  h = getUint32(a, u + 8),
                  d = getUint32(a, u + 12);
                switch (e) {
                  case 'cmap':
                    n = parseCmap(a, h);
                    break;
                  case 'glyf':
                    i = a.subarray(h, h + d);
                    break;
                  case 'loca':
                    s = a.subarray(h, h + d);
                    break;
                  case 'head':
                    l = getUint16(a, h + 18);
                    c = getUint16(a, h + 50);
                    break;
                  case 'CFF ':
                    o = parseCff(a, h, h + d, t);
                }
              }
              if (i) {
                const t = l ? [1 / l, 0, 0, 1 / l, 0, 0] : e.fontMatrix;
                return new TrueTypeCompiled(
                  (function parseGlyfTable(e, t, a) {
                    let r, n;
                    if (a) {
                      r = 4;
                      n = getUint32;
                    } else {
                      r = 2;
                      n = (e, t) => 2 * getUint16(e, t);
                    }
                    const i = [];
                    let s = n(t, 0);
                    for (let a = r; a < t.length; a += r) {
                      const r = n(t, a);
                      i.push(e.subarray(s, r));
                      s = r;
                    }
                    return i;
                  })(i, s, c),
                  n,
                  t
                );
              }
              return new Type2Compiled(o, n, e.fontMatrix, e.glyphNameMap);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.getMetrics = t.getFontBasicMetrics = void 0;
          var r = a(3);
          const n = (0, r.getLookupTableFactory)(function (e) {
            e.Courier = 600;
            e['Courier-Bold'] = 600;
            e['Courier-BoldOblique'] = 600;
            e['Courier-Oblique'] = 600;
            e.Helvetica = (0, r.getLookupTableFactory)(function (e) {
              e.space = 278;
              e.exclam = 278;
              e.quotedbl = 355;
              e.numbersign = 556;
              e.dollar = 556;
              e.percent = 889;
              e.ampersand = 667;
              e.quoteright = 222;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 389;
              e.plus = 584;
              e.comma = 278;
              e.hyphen = 333;
              e.period = 278;
              e.slash = 278;
              e.zero = 556;
              e.one = 556;
              e.two = 556;
              e.three = 556;
              e.four = 556;
              e.five = 556;
              e.six = 556;
              e.seven = 556;
              e.eight = 556;
              e.nine = 556;
              e.colon = 278;
              e.semicolon = 278;
              e.less = 584;
              e.equal = 584;
              e.greater = 584;
              e.question = 556;
              e.at = 1015;
              e.A = 667;
              e.B = 667;
              e.C = 722;
              e.D = 722;
              e.E = 667;
              e.F = 611;
              e.G = 778;
              e.H = 722;
              e.I = 278;
              e.J = 500;
              e.K = 667;
              e.L = 556;
              e.M = 833;
              e.N = 722;
              e.O = 778;
              e.P = 667;
              e.Q = 778;
              e.R = 722;
              e.S = 667;
              e.T = 611;
              e.U = 722;
              e.V = 667;
              e.W = 944;
              e.X = 667;
              e.Y = 667;
              e.Z = 611;
              e.bracketleft = 278;
              e.backslash = 278;
              e.bracketright = 278;
              e.asciicircum = 469;
              e.underscore = 556;
              e.quoteleft = 222;
              e.a = 556;
              e.b = 556;
              e.c = 500;
              e.d = 556;
              e.e = 556;
              e.f = 278;
              e.g = 556;
              e.h = 556;
              e.i = 222;
              e.j = 222;
              e.k = 500;
              e.l = 222;
              e.m = 833;
              e.n = 556;
              e.o = 556;
              e.p = 556;
              e.q = 556;
              e.r = 333;
              e.s = 500;
              e.t = 278;
              e.u = 556;
              e.v = 500;
              e.w = 722;
              e.x = 500;
              e.y = 500;
              e.z = 500;
              e.braceleft = 334;
              e.bar = 260;
              e.braceright = 334;
              e.asciitilde = 584;
              e.exclamdown = 333;
              e.cent = 556;
              e.sterling = 556;
              e.fraction = 167;
              e.yen = 556;
              e.florin = 556;
              e.section = 556;
              e.currency = 556;
              e.quotesingle = 191;
              e.quotedblleft = 333;
              e.guillemotleft = 556;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 500;
              e.fl = 500;
              e.endash = 556;
              e.dagger = 556;
              e.daggerdbl = 556;
              e.periodcentered = 278;
              e.paragraph = 537;
              e.bullet = 350;
              e.quotesinglbase = 222;
              e.quotedblbase = 333;
              e.quotedblright = 333;
              e.guillemotright = 556;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 611;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 1e3;
              e.ordfeminine = 370;
              e.Lslash = 556;
              e.Oslash = 778;
              e.OE = 1e3;
              e.ordmasculine = 365;
              e.ae = 889;
              e.dotlessi = 278;
              e.lslash = 222;
              e.oslash = 611;
              e.oe = 944;
              e.germandbls = 611;
              e.Idieresis = 278;
              e.eacute = 556;
              e.abreve = 556;
              e.uhungarumlaut = 556;
              e.ecaron = 556;
              e.Ydieresis = 667;
              e.divide = 584;
              e.Yacute = 667;
              e.Acircumflex = 667;
              e.aacute = 556;
              e.Ucircumflex = 722;
              e.yacute = 500;
              e.scommaaccent = 500;
              e.ecircumflex = 556;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 556;
              e.Uacute = 722;
              e.uogonek = 556;
              e.Edieresis = 667;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 737;
              e.Emacron = 667;
              e.ccaron = 500;
              e.aring = 556;
              e.Ncommaaccent = 722;
              e.lacute = 222;
              e.agrave = 556;
              e.Tcommaaccent = 611;
              e.Cacute = 722;
              e.atilde = 556;
              e.Edotaccent = 667;
              e.scaron = 500;
              e.scedilla = 500;
              e.iacute = 278;
              e.lozenge = 471;
              e.Rcaron = 722;
              e.Gcommaaccent = 778;
              e.ucircumflex = 556;
              e.acircumflex = 556;
              e.Amacron = 667;
              e.rcaron = 333;
              e.ccedilla = 500;
              e.Zdotaccent = 611;
              e.Thorn = 667;
              e.Omacron = 778;
              e.Racute = 722;
              e.Sacute = 667;
              e.dcaron = 643;
              e.Umacron = 722;
              e.uring = 556;
              e.threesuperior = 333;
              e.Ograve = 778;
              e.Agrave = 667;
              e.Abreve = 667;
              e.multiply = 584;
              e.uacute = 556;
              e.Tcaron = 611;
              e.partialdiff = 476;
              e.ydieresis = 500;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 667;
              e.adieresis = 556;
              e.edieresis = 556;
              e.cacute = 500;
              e.nacute = 556;
              e.umacron = 556;
              e.Ncaron = 722;
              e.Iacute = 278;
              e.plusminus = 584;
              e.brokenbar = 260;
              e.registered = 737;
              e.Gbreve = 778;
              e.Idotaccent = 278;
              e.summation = 600;
              e.Egrave = 667;
              e.racute = 333;
              e.omacron = 556;
              e.Zacute = 611;
              e.Zcaron = 611;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 722;
              e.lcommaaccent = 222;
              e.tcaron = 317;
              e.eogonek = 556;
              e.Uogonek = 722;
              e.Aacute = 667;
              e.Adieresis = 667;
              e.egrave = 556;
              e.zacute = 500;
              e.iogonek = 222;
              e.Oacute = 778;
              e.oacute = 556;
              e.amacron = 556;
              e.sacute = 500;
              e.idieresis = 278;
              e.Ocircumflex = 778;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 556;
              e.twosuperior = 333;
              e.Odieresis = 778;
              e.mu = 556;
              e.igrave = 278;
              e.ohungarumlaut = 556;
              e.Eogonek = 667;
              e.dcroat = 556;
              e.threequarters = 834;
              e.Scedilla = 667;
              e.lcaron = 299;
              e.Kcommaaccent = 667;
              e.Lacute = 556;
              e.trademark = 1e3;
              e.edotaccent = 556;
              e.Igrave = 278;
              e.Imacron = 278;
              e.Lcaron = 556;
              e.onehalf = 834;
              e.lessequal = 549;
              e.ocircumflex = 556;
              e.ntilde = 556;
              e.Uhungarumlaut = 722;
              e.Eacute = 667;
              e.emacron = 556;
              e.gbreve = 556;
              e.onequarter = 834;
              e.Scaron = 667;
              e.Scommaaccent = 667;
              e.Ohungarumlaut = 778;
              e.degree = 400;
              e.ograve = 556;
              e.Ccaron = 722;
              e.ugrave = 556;
              e.radical = 453;
              e.Dcaron = 722;
              e.rcommaaccent = 333;
              e.Ntilde = 722;
              e.otilde = 556;
              e.Rcommaaccent = 722;
              e.Lcommaaccent = 556;
              e.Atilde = 667;
              e.Aogonek = 667;
              e.Aring = 667;
              e.Otilde = 778;
              e.zdotaccent = 500;
              e.Ecaron = 667;
              e.Iogonek = 278;
              e.kcommaaccent = 500;
              e.minus = 584;
              e.Icircumflex = 278;
              e.ncaron = 556;
              e.tcommaaccent = 278;
              e.logicalnot = 584;
              e.odieresis = 556;
              e.udieresis = 556;
              e.notequal = 549;
              e.gcommaaccent = 556;
              e.eth = 556;
              e.zcaron = 500;
              e.ncommaaccent = 556;
              e.onesuperior = 333;
              e.imacron = 278;
              e.Euro = 556;
            });
            e['Helvetica-Bold'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 278;
              e.exclam = 333;
              e.quotedbl = 474;
              e.numbersign = 556;
              e.dollar = 556;
              e.percent = 889;
              e.ampersand = 722;
              e.quoteright = 278;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 389;
              e.plus = 584;
              e.comma = 278;
              e.hyphen = 333;
              e.period = 278;
              e.slash = 278;
              e.zero = 556;
              e.one = 556;
              e.two = 556;
              e.three = 556;
              e.four = 556;
              e.five = 556;
              e.six = 556;
              e.seven = 556;
              e.eight = 556;
              e.nine = 556;
              e.colon = 333;
              e.semicolon = 333;
              e.less = 584;
              e.equal = 584;
              e.greater = 584;
              e.question = 611;
              e.at = 975;
              e.A = 722;
              e.B = 722;
              e.C = 722;
              e.D = 722;
              e.E = 667;
              e.F = 611;
              e.G = 778;
              e.H = 722;
              e.I = 278;
              e.J = 556;
              e.K = 722;
              e.L = 611;
              e.M = 833;
              e.N = 722;
              e.O = 778;
              e.P = 667;
              e.Q = 778;
              e.R = 722;
              e.S = 667;
              e.T = 611;
              e.U = 722;
              e.V = 667;
              e.W = 944;
              e.X = 667;
              e.Y = 667;
              e.Z = 611;
              e.bracketleft = 333;
              e.backslash = 278;
              e.bracketright = 333;
              e.asciicircum = 584;
              e.underscore = 556;
              e.quoteleft = 278;
              e.a = 556;
              e.b = 611;
              e.c = 556;
              e.d = 611;
              e.e = 556;
              e.f = 333;
              e.g = 611;
              e.h = 611;
              e.i = 278;
              e.j = 278;
              e.k = 556;
              e.l = 278;
              e.m = 889;
              e.n = 611;
              e.o = 611;
              e.p = 611;
              e.q = 611;
              e.r = 389;
              e.s = 556;
              e.t = 333;
              e.u = 611;
              e.v = 556;
              e.w = 778;
              e.x = 556;
              e.y = 556;
              e.z = 500;
              e.braceleft = 389;
              e.bar = 280;
              e.braceright = 389;
              e.asciitilde = 584;
              e.exclamdown = 333;
              e.cent = 556;
              e.sterling = 556;
              e.fraction = 167;
              e.yen = 556;
              e.florin = 556;
              e.section = 556;
              e.currency = 556;
              e.quotesingle = 238;
              e.quotedblleft = 500;
              e.guillemotleft = 556;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 611;
              e.fl = 611;
              e.endash = 556;
              e.dagger = 556;
              e.daggerdbl = 556;
              e.periodcentered = 278;
              e.paragraph = 556;
              e.bullet = 350;
              e.quotesinglbase = 278;
              e.quotedblbase = 500;
              e.quotedblright = 500;
              e.guillemotright = 556;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 611;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 1e3;
              e.ordfeminine = 370;
              e.Lslash = 611;
              e.Oslash = 778;
              e.OE = 1e3;
              e.ordmasculine = 365;
              e.ae = 889;
              e.dotlessi = 278;
              e.lslash = 278;
              e.oslash = 611;
              e.oe = 944;
              e.germandbls = 611;
              e.Idieresis = 278;
              e.eacute = 556;
              e.abreve = 556;
              e.uhungarumlaut = 611;
              e.ecaron = 556;
              e.Ydieresis = 667;
              e.divide = 584;
              e.Yacute = 667;
              e.Acircumflex = 722;
              e.aacute = 556;
              e.Ucircumflex = 722;
              e.yacute = 556;
              e.scommaaccent = 556;
              e.ecircumflex = 556;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 556;
              e.Uacute = 722;
              e.uogonek = 611;
              e.Edieresis = 667;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 737;
              e.Emacron = 667;
              e.ccaron = 556;
              e.aring = 556;
              e.Ncommaaccent = 722;
              e.lacute = 278;
              e.agrave = 556;
              e.Tcommaaccent = 611;
              e.Cacute = 722;
              e.atilde = 556;
              e.Edotaccent = 667;
              e.scaron = 556;
              e.scedilla = 556;
              e.iacute = 278;
              e.lozenge = 494;
              e.Rcaron = 722;
              e.Gcommaaccent = 778;
              e.ucircumflex = 611;
              e.acircumflex = 556;
              e.Amacron = 722;
              e.rcaron = 389;
              e.ccedilla = 556;
              e.Zdotaccent = 611;
              e.Thorn = 667;
              e.Omacron = 778;
              e.Racute = 722;
              e.Sacute = 667;
              e.dcaron = 743;
              e.Umacron = 722;
              e.uring = 611;
              e.threesuperior = 333;
              e.Ograve = 778;
              e.Agrave = 722;
              e.Abreve = 722;
              e.multiply = 584;
              e.uacute = 611;
              e.Tcaron = 611;
              e.partialdiff = 494;
              e.ydieresis = 556;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 667;
              e.adieresis = 556;
              e.edieresis = 556;
              e.cacute = 556;
              e.nacute = 611;
              e.umacron = 611;
              e.Ncaron = 722;
              e.Iacute = 278;
              e.plusminus = 584;
              e.brokenbar = 280;
              e.registered = 737;
              e.Gbreve = 778;
              e.Idotaccent = 278;
              e.summation = 600;
              e.Egrave = 667;
              e.racute = 389;
              e.omacron = 611;
              e.Zacute = 611;
              e.Zcaron = 611;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 722;
              e.lcommaaccent = 278;
              e.tcaron = 389;
              e.eogonek = 556;
              e.Uogonek = 722;
              e.Aacute = 722;
              e.Adieresis = 722;
              e.egrave = 556;
              e.zacute = 500;
              e.iogonek = 278;
              e.Oacute = 778;
              e.oacute = 611;
              e.amacron = 556;
              e.sacute = 556;
              e.idieresis = 278;
              e.Ocircumflex = 778;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 611;
              e.twosuperior = 333;
              e.Odieresis = 778;
              e.mu = 611;
              e.igrave = 278;
              e.ohungarumlaut = 611;
              e.Eogonek = 667;
              e.dcroat = 611;
              e.threequarters = 834;
              e.Scedilla = 667;
              e.lcaron = 400;
              e.Kcommaaccent = 722;
              e.Lacute = 611;
              e.trademark = 1e3;
              e.edotaccent = 556;
              e.Igrave = 278;
              e.Imacron = 278;
              e.Lcaron = 611;
              e.onehalf = 834;
              e.lessequal = 549;
              e.ocircumflex = 611;
              e.ntilde = 611;
              e.Uhungarumlaut = 722;
              e.Eacute = 667;
              e.emacron = 556;
              e.gbreve = 611;
              e.onequarter = 834;
              e.Scaron = 667;
              e.Scommaaccent = 667;
              e.Ohungarumlaut = 778;
              e.degree = 400;
              e.ograve = 611;
              e.Ccaron = 722;
              e.ugrave = 611;
              e.radical = 549;
              e.Dcaron = 722;
              e.rcommaaccent = 389;
              e.Ntilde = 722;
              e.otilde = 611;
              e.Rcommaaccent = 722;
              e.Lcommaaccent = 611;
              e.Atilde = 722;
              e.Aogonek = 722;
              e.Aring = 722;
              e.Otilde = 778;
              e.zdotaccent = 500;
              e.Ecaron = 667;
              e.Iogonek = 278;
              e.kcommaaccent = 556;
              e.minus = 584;
              e.Icircumflex = 278;
              e.ncaron = 611;
              e.tcommaaccent = 333;
              e.logicalnot = 584;
              e.odieresis = 611;
              e.udieresis = 611;
              e.notequal = 549;
              e.gcommaaccent = 611;
              e.eth = 611;
              e.zcaron = 500;
              e.ncommaaccent = 611;
              e.onesuperior = 333;
              e.imacron = 278;
              e.Euro = 556;
            });
            e['Helvetica-BoldOblique'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 278;
              e.exclam = 333;
              e.quotedbl = 474;
              e.numbersign = 556;
              e.dollar = 556;
              e.percent = 889;
              e.ampersand = 722;
              e.quoteright = 278;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 389;
              e.plus = 584;
              e.comma = 278;
              e.hyphen = 333;
              e.period = 278;
              e.slash = 278;
              e.zero = 556;
              e.one = 556;
              e.two = 556;
              e.three = 556;
              e.four = 556;
              e.five = 556;
              e.six = 556;
              e.seven = 556;
              e.eight = 556;
              e.nine = 556;
              e.colon = 333;
              e.semicolon = 333;
              e.less = 584;
              e.equal = 584;
              e.greater = 584;
              e.question = 611;
              e.at = 975;
              e.A = 722;
              e.B = 722;
              e.C = 722;
              e.D = 722;
              e.E = 667;
              e.F = 611;
              e.G = 778;
              e.H = 722;
              e.I = 278;
              e.J = 556;
              e.K = 722;
              e.L = 611;
              e.M = 833;
              e.N = 722;
              e.O = 778;
              e.P = 667;
              e.Q = 778;
              e.R = 722;
              e.S = 667;
              e.T = 611;
              e.U = 722;
              e.V = 667;
              e.W = 944;
              e.X = 667;
              e.Y = 667;
              e.Z = 611;
              e.bracketleft = 333;
              e.backslash = 278;
              e.bracketright = 333;
              e.asciicircum = 584;
              e.underscore = 556;
              e.quoteleft = 278;
              e.a = 556;
              e.b = 611;
              e.c = 556;
              e.d = 611;
              e.e = 556;
              e.f = 333;
              e.g = 611;
              e.h = 611;
              e.i = 278;
              e.j = 278;
              e.k = 556;
              e.l = 278;
              e.m = 889;
              e.n = 611;
              e.o = 611;
              e.p = 611;
              e.q = 611;
              e.r = 389;
              e.s = 556;
              e.t = 333;
              e.u = 611;
              e.v = 556;
              e.w = 778;
              e.x = 556;
              e.y = 556;
              e.z = 500;
              e.braceleft = 389;
              e.bar = 280;
              e.braceright = 389;
              e.asciitilde = 584;
              e.exclamdown = 333;
              e.cent = 556;
              e.sterling = 556;
              e.fraction = 167;
              e.yen = 556;
              e.florin = 556;
              e.section = 556;
              e.currency = 556;
              e.quotesingle = 238;
              e.quotedblleft = 500;
              e.guillemotleft = 556;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 611;
              e.fl = 611;
              e.endash = 556;
              e.dagger = 556;
              e.daggerdbl = 556;
              e.periodcentered = 278;
              e.paragraph = 556;
              e.bullet = 350;
              e.quotesinglbase = 278;
              e.quotedblbase = 500;
              e.quotedblright = 500;
              e.guillemotright = 556;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 611;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 1e3;
              e.ordfeminine = 370;
              e.Lslash = 611;
              e.Oslash = 778;
              e.OE = 1e3;
              e.ordmasculine = 365;
              e.ae = 889;
              e.dotlessi = 278;
              e.lslash = 278;
              e.oslash = 611;
              e.oe = 944;
              e.germandbls = 611;
              e.Idieresis = 278;
              e.eacute = 556;
              e.abreve = 556;
              e.uhungarumlaut = 611;
              e.ecaron = 556;
              e.Ydieresis = 667;
              e.divide = 584;
              e.Yacute = 667;
              e.Acircumflex = 722;
              e.aacute = 556;
              e.Ucircumflex = 722;
              e.yacute = 556;
              e.scommaaccent = 556;
              e.ecircumflex = 556;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 556;
              e.Uacute = 722;
              e.uogonek = 611;
              e.Edieresis = 667;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 737;
              e.Emacron = 667;
              e.ccaron = 556;
              e.aring = 556;
              e.Ncommaaccent = 722;
              e.lacute = 278;
              e.agrave = 556;
              e.Tcommaaccent = 611;
              e.Cacute = 722;
              e.atilde = 556;
              e.Edotaccent = 667;
              e.scaron = 556;
              e.scedilla = 556;
              e.iacute = 278;
              e.lozenge = 494;
              e.Rcaron = 722;
              e.Gcommaaccent = 778;
              e.ucircumflex = 611;
              e.acircumflex = 556;
              e.Amacron = 722;
              e.rcaron = 389;
              e.ccedilla = 556;
              e.Zdotaccent = 611;
              e.Thorn = 667;
              e.Omacron = 778;
              e.Racute = 722;
              e.Sacute = 667;
              e.dcaron = 743;
              e.Umacron = 722;
              e.uring = 611;
              e.threesuperior = 333;
              e.Ograve = 778;
              e.Agrave = 722;
              e.Abreve = 722;
              e.multiply = 584;
              e.uacute = 611;
              e.Tcaron = 611;
              e.partialdiff = 494;
              e.ydieresis = 556;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 667;
              e.adieresis = 556;
              e.edieresis = 556;
              e.cacute = 556;
              e.nacute = 611;
              e.umacron = 611;
              e.Ncaron = 722;
              e.Iacute = 278;
              e.plusminus = 584;
              e.brokenbar = 280;
              e.registered = 737;
              e.Gbreve = 778;
              e.Idotaccent = 278;
              e.summation = 600;
              e.Egrave = 667;
              e.racute = 389;
              e.omacron = 611;
              e.Zacute = 611;
              e.Zcaron = 611;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 722;
              e.lcommaaccent = 278;
              e.tcaron = 389;
              e.eogonek = 556;
              e.Uogonek = 722;
              e.Aacute = 722;
              e.Adieresis = 722;
              e.egrave = 556;
              e.zacute = 500;
              e.iogonek = 278;
              e.Oacute = 778;
              e.oacute = 611;
              e.amacron = 556;
              e.sacute = 556;
              e.idieresis = 278;
              e.Ocircumflex = 778;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 611;
              e.twosuperior = 333;
              e.Odieresis = 778;
              e.mu = 611;
              e.igrave = 278;
              e.ohungarumlaut = 611;
              e.Eogonek = 667;
              e.dcroat = 611;
              e.threequarters = 834;
              e.Scedilla = 667;
              e.lcaron = 400;
              e.Kcommaaccent = 722;
              e.Lacute = 611;
              e.trademark = 1e3;
              e.edotaccent = 556;
              e.Igrave = 278;
              e.Imacron = 278;
              e.Lcaron = 611;
              e.onehalf = 834;
              e.lessequal = 549;
              e.ocircumflex = 611;
              e.ntilde = 611;
              e.Uhungarumlaut = 722;
              e.Eacute = 667;
              e.emacron = 556;
              e.gbreve = 611;
              e.onequarter = 834;
              e.Scaron = 667;
              e.Scommaaccent = 667;
              e.Ohungarumlaut = 778;
              e.degree = 400;
              e.ograve = 611;
              e.Ccaron = 722;
              e.ugrave = 611;
              e.radical = 549;
              e.Dcaron = 722;
              e.rcommaaccent = 389;
              e.Ntilde = 722;
              e.otilde = 611;
              e.Rcommaaccent = 722;
              e.Lcommaaccent = 611;
              e.Atilde = 722;
              e.Aogonek = 722;
              e.Aring = 722;
              e.Otilde = 778;
              e.zdotaccent = 500;
              e.Ecaron = 667;
              e.Iogonek = 278;
              e.kcommaaccent = 556;
              e.minus = 584;
              e.Icircumflex = 278;
              e.ncaron = 611;
              e.tcommaaccent = 333;
              e.logicalnot = 584;
              e.odieresis = 611;
              e.udieresis = 611;
              e.notequal = 549;
              e.gcommaaccent = 611;
              e.eth = 611;
              e.zcaron = 500;
              e.ncommaaccent = 611;
              e.onesuperior = 333;
              e.imacron = 278;
              e.Euro = 556;
            });
            e['Helvetica-Oblique'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 278;
              e.exclam = 278;
              e.quotedbl = 355;
              e.numbersign = 556;
              e.dollar = 556;
              e.percent = 889;
              e.ampersand = 667;
              e.quoteright = 222;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 389;
              e.plus = 584;
              e.comma = 278;
              e.hyphen = 333;
              e.period = 278;
              e.slash = 278;
              e.zero = 556;
              e.one = 556;
              e.two = 556;
              e.three = 556;
              e.four = 556;
              e.five = 556;
              e.six = 556;
              e.seven = 556;
              e.eight = 556;
              e.nine = 556;
              e.colon = 278;
              e.semicolon = 278;
              e.less = 584;
              e.equal = 584;
              e.greater = 584;
              e.question = 556;
              e.at = 1015;
              e.A = 667;
              e.B = 667;
              e.C = 722;
              e.D = 722;
              e.E = 667;
              e.F = 611;
              e.G = 778;
              e.H = 722;
              e.I = 278;
              e.J = 500;
              e.K = 667;
              e.L = 556;
              e.M = 833;
              e.N = 722;
              e.O = 778;
              e.P = 667;
              e.Q = 778;
              e.R = 722;
              e.S = 667;
              e.T = 611;
              e.U = 722;
              e.V = 667;
              e.W = 944;
              e.X = 667;
              e.Y = 667;
              e.Z = 611;
              e.bracketleft = 278;
              e.backslash = 278;
              e.bracketright = 278;
              e.asciicircum = 469;
              e.underscore = 556;
              e.quoteleft = 222;
              e.a = 556;
              e.b = 556;
              e.c = 500;
              e.d = 556;
              e.e = 556;
              e.f = 278;
              e.g = 556;
              e.h = 556;
              e.i = 222;
              e.j = 222;
              e.k = 500;
              e.l = 222;
              e.m = 833;
              e.n = 556;
              e.o = 556;
              e.p = 556;
              e.q = 556;
              e.r = 333;
              e.s = 500;
              e.t = 278;
              e.u = 556;
              e.v = 500;
              e.w = 722;
              e.x = 500;
              e.y = 500;
              e.z = 500;
              e.braceleft = 334;
              e.bar = 260;
              e.braceright = 334;
              e.asciitilde = 584;
              e.exclamdown = 333;
              e.cent = 556;
              e.sterling = 556;
              e.fraction = 167;
              e.yen = 556;
              e.florin = 556;
              e.section = 556;
              e.currency = 556;
              e.quotesingle = 191;
              e.quotedblleft = 333;
              e.guillemotleft = 556;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 500;
              e.fl = 500;
              e.endash = 556;
              e.dagger = 556;
              e.daggerdbl = 556;
              e.periodcentered = 278;
              e.paragraph = 537;
              e.bullet = 350;
              e.quotesinglbase = 222;
              e.quotedblbase = 333;
              e.quotedblright = 333;
              e.guillemotright = 556;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 611;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 1e3;
              e.ordfeminine = 370;
              e.Lslash = 556;
              e.Oslash = 778;
              e.OE = 1e3;
              e.ordmasculine = 365;
              e.ae = 889;
              e.dotlessi = 278;
              e.lslash = 222;
              e.oslash = 611;
              e.oe = 944;
              e.germandbls = 611;
              e.Idieresis = 278;
              e.eacute = 556;
              e.abreve = 556;
              e.uhungarumlaut = 556;
              e.ecaron = 556;
              e.Ydieresis = 667;
              e.divide = 584;
              e.Yacute = 667;
              e.Acircumflex = 667;
              e.aacute = 556;
              e.Ucircumflex = 722;
              e.yacute = 500;
              e.scommaaccent = 500;
              e.ecircumflex = 556;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 556;
              e.Uacute = 722;
              e.uogonek = 556;
              e.Edieresis = 667;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 737;
              e.Emacron = 667;
              e.ccaron = 500;
              e.aring = 556;
              e.Ncommaaccent = 722;
              e.lacute = 222;
              e.agrave = 556;
              e.Tcommaaccent = 611;
              e.Cacute = 722;
              e.atilde = 556;
              e.Edotaccent = 667;
              e.scaron = 500;
              e.scedilla = 500;
              e.iacute = 278;
              e.lozenge = 471;
              e.Rcaron = 722;
              e.Gcommaaccent = 778;
              e.ucircumflex = 556;
              e.acircumflex = 556;
              e.Amacron = 667;
              e.rcaron = 333;
              e.ccedilla = 500;
              e.Zdotaccent = 611;
              e.Thorn = 667;
              e.Omacron = 778;
              e.Racute = 722;
              e.Sacute = 667;
              e.dcaron = 643;
              e.Umacron = 722;
              e.uring = 556;
              e.threesuperior = 333;
              e.Ograve = 778;
              e.Agrave = 667;
              e.Abreve = 667;
              e.multiply = 584;
              e.uacute = 556;
              e.Tcaron = 611;
              e.partialdiff = 476;
              e.ydieresis = 500;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 667;
              e.adieresis = 556;
              e.edieresis = 556;
              e.cacute = 500;
              e.nacute = 556;
              e.umacron = 556;
              e.Ncaron = 722;
              e.Iacute = 278;
              e.plusminus = 584;
              e.brokenbar = 260;
              e.registered = 737;
              e.Gbreve = 778;
              e.Idotaccent = 278;
              e.summation = 600;
              e.Egrave = 667;
              e.racute = 333;
              e.omacron = 556;
              e.Zacute = 611;
              e.Zcaron = 611;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 722;
              e.lcommaaccent = 222;
              e.tcaron = 317;
              e.eogonek = 556;
              e.Uogonek = 722;
              e.Aacute = 667;
              e.Adieresis = 667;
              e.egrave = 556;
              e.zacute = 500;
              e.iogonek = 222;
              e.Oacute = 778;
              e.oacute = 556;
              e.amacron = 556;
              e.sacute = 500;
              e.idieresis = 278;
              e.Ocircumflex = 778;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 556;
              e.twosuperior = 333;
              e.Odieresis = 778;
              e.mu = 556;
              e.igrave = 278;
              e.ohungarumlaut = 556;
              e.Eogonek = 667;
              e.dcroat = 556;
              e.threequarters = 834;
              e.Scedilla = 667;
              e.lcaron = 299;
              e.Kcommaaccent = 667;
              e.Lacute = 556;
              e.trademark = 1e3;
              e.edotaccent = 556;
              e.Igrave = 278;
              e.Imacron = 278;
              e.Lcaron = 556;
              e.onehalf = 834;
              e.lessequal = 549;
              e.ocircumflex = 556;
              e.ntilde = 556;
              e.Uhungarumlaut = 722;
              e.Eacute = 667;
              e.emacron = 556;
              e.gbreve = 556;
              e.onequarter = 834;
              e.Scaron = 667;
              e.Scommaaccent = 667;
              e.Ohungarumlaut = 778;
              e.degree = 400;
              e.ograve = 556;
              e.Ccaron = 722;
              e.ugrave = 556;
              e.radical = 453;
              e.Dcaron = 722;
              e.rcommaaccent = 333;
              e.Ntilde = 722;
              e.otilde = 556;
              e.Rcommaaccent = 722;
              e.Lcommaaccent = 556;
              e.Atilde = 667;
              e.Aogonek = 667;
              e.Aring = 667;
              e.Otilde = 778;
              e.zdotaccent = 500;
              e.Ecaron = 667;
              e.Iogonek = 278;
              e.kcommaaccent = 500;
              e.minus = 584;
              e.Icircumflex = 278;
              e.ncaron = 556;
              e.tcommaaccent = 278;
              e.logicalnot = 584;
              e.odieresis = 556;
              e.udieresis = 556;
              e.notequal = 549;
              e.gcommaaccent = 556;
              e.eth = 556;
              e.zcaron = 500;
              e.ncommaaccent = 556;
              e.onesuperior = 333;
              e.imacron = 278;
              e.Euro = 556;
            });
            e.Symbol = (0, r.getLookupTableFactory)(function (e) {
              e.space = 250;
              e.exclam = 333;
              e.universal = 713;
              e.numbersign = 500;
              e.existential = 549;
              e.percent = 833;
              e.ampersand = 778;
              e.suchthat = 439;
              e.parenleft = 333;
              e.parenright = 333;
              e.asteriskmath = 500;
              e.plus = 549;
              e.comma = 250;
              e.minus = 549;
              e.period = 250;
              e.slash = 278;
              e.zero = 500;
              e.one = 500;
              e.two = 500;
              e.three = 500;
              e.four = 500;
              e.five = 500;
              e.six = 500;
              e.seven = 500;
              e.eight = 500;
              e.nine = 500;
              e.colon = 278;
              e.semicolon = 278;
              e.less = 549;
              e.equal = 549;
              e.greater = 549;
              e.question = 444;
              e.congruent = 549;
              e.Alpha = 722;
              e.Beta = 667;
              e.Chi = 722;
              e.Delta = 612;
              e.Epsilon = 611;
              e.Phi = 763;
              e.Gamma = 603;
              e.Eta = 722;
              e.Iota = 333;
              e.theta1 = 631;
              e.Kappa = 722;
              e.Lambda = 686;
              e.Mu = 889;
              e.Nu = 722;
              e.Omicron = 722;
              e.Pi = 768;
              e.Theta = 741;
              e.Rho = 556;
              e.Sigma = 592;
              e.Tau = 611;
              e.Upsilon = 690;
              e.sigma1 = 439;
              e.Omega = 768;
              e.Xi = 645;
              e.Psi = 795;
              e.Zeta = 611;
              e.bracketleft = 333;
              e.therefore = 863;
              e.bracketright = 333;
              e.perpendicular = 658;
              e.underscore = 500;
              e.radicalex = 500;
              e.alpha = 631;
              e.beta = 549;
              e.chi = 549;
              e.delta = 494;
              e.epsilon = 439;
              e.phi = 521;
              e.gamma = 411;
              e.eta = 603;
              e.iota = 329;
              e.phi1 = 603;
              e.kappa = 549;
              e.lambda = 549;
              e.mu = 576;
              e.nu = 521;
              e.omicron = 549;
              e.pi = 549;
              e.theta = 521;
              e.rho = 549;
              e.sigma = 603;
              e.tau = 439;
              e.upsilon = 576;
              e.omega1 = 713;
              e.omega = 686;
              e.xi = 493;
              e.psi = 686;
              e.zeta = 494;
              e.braceleft = 480;
              e.bar = 200;
              e.braceright = 480;
              e.similar = 549;
              e.Euro = 750;
              e.Upsilon1 = 620;
              e.minute = 247;
              e.lessequal = 549;
              e.fraction = 167;
              e.infinity = 713;
              e.florin = 500;
              e.club = 753;
              e.diamond = 753;
              e.heart = 753;
              e.spade = 753;
              e.arrowboth = 1042;
              e.arrowleft = 987;
              e.arrowup = 603;
              e.arrowright = 987;
              e.arrowdown = 603;
              e.degree = 400;
              e.plusminus = 549;
              e.second = 411;
              e.greaterequal = 549;
              e.multiply = 549;
              e.proportional = 713;
              e.partialdiff = 494;
              e.bullet = 460;
              e.divide = 549;
              e.notequal = 549;
              e.equivalence = 549;
              e.approxequal = 549;
              e.ellipsis = 1e3;
              e.arrowvertex = 603;
              e.arrowhorizex = 1e3;
              e.carriagereturn = 658;
              e.aleph = 823;
              e.Ifraktur = 686;
              e.Rfraktur = 795;
              e.weierstrass = 987;
              e.circlemultiply = 768;
              e.circleplus = 768;
              e.emptyset = 823;
              e.intersection = 768;
              e.union = 768;
              e.propersuperset = 713;
              e.reflexsuperset = 713;
              e.notsubset = 713;
              e.propersubset = 713;
              e.reflexsubset = 713;
              e.element = 713;
              e.notelement = 713;
              e.angle = 768;
              e.gradient = 713;
              e.registerserif = 790;
              e.copyrightserif = 790;
              e.trademarkserif = 890;
              e.product = 823;
              e.radical = 549;
              e.dotmath = 250;
              e.logicalnot = 713;
              e.logicaland = 603;
              e.logicalor = 603;
              e.arrowdblboth = 1042;
              e.arrowdblleft = 987;
              e.arrowdblup = 603;
              e.arrowdblright = 987;
              e.arrowdbldown = 603;
              e.lozenge = 494;
              e.angleleft = 329;
              e.registersans = 790;
              e.copyrightsans = 790;
              e.trademarksans = 786;
              e.summation = 713;
              e.parenlefttp = 384;
              e.parenleftex = 384;
              e.parenleftbt = 384;
              e.bracketlefttp = 384;
              e.bracketleftex = 384;
              e.bracketleftbt = 384;
              e.bracelefttp = 494;
              e.braceleftmid = 494;
              e.braceleftbt = 494;
              e.braceex = 494;
              e.angleright = 329;
              e.integral = 274;
              e.integraltp = 686;
              e.integralex = 686;
              e.integralbt = 686;
              e.parenrighttp = 384;
              e.parenrightex = 384;
              e.parenrightbt = 384;
              e.bracketrighttp = 384;
              e.bracketrightex = 384;
              e.bracketrightbt = 384;
              e.bracerighttp = 494;
              e.bracerightmid = 494;
              e.bracerightbt = 494;
              e.apple = 790;
            });
            e['Times-Roman'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 250;
              e.exclam = 333;
              e.quotedbl = 408;
              e.numbersign = 500;
              e.dollar = 500;
              e.percent = 833;
              e.ampersand = 778;
              e.quoteright = 333;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 500;
              e.plus = 564;
              e.comma = 250;
              e.hyphen = 333;
              e.period = 250;
              e.slash = 278;
              e.zero = 500;
              e.one = 500;
              e.two = 500;
              e.three = 500;
              e.four = 500;
              e.five = 500;
              e.six = 500;
              e.seven = 500;
              e.eight = 500;
              e.nine = 500;
              e.colon = 278;
              e.semicolon = 278;
              e.less = 564;
              e.equal = 564;
              e.greater = 564;
              e.question = 444;
              e.at = 921;
              e.A = 722;
              e.B = 667;
              e.C = 667;
              e.D = 722;
              e.E = 611;
              e.F = 556;
              e.G = 722;
              e.H = 722;
              e.I = 333;
              e.J = 389;
              e.K = 722;
              e.L = 611;
              e.M = 889;
              e.N = 722;
              e.O = 722;
              e.P = 556;
              e.Q = 722;
              e.R = 667;
              e.S = 556;
              e.T = 611;
              e.U = 722;
              e.V = 722;
              e.W = 944;
              e.X = 722;
              e.Y = 722;
              e.Z = 611;
              e.bracketleft = 333;
              e.backslash = 278;
              e.bracketright = 333;
              e.asciicircum = 469;
              e.underscore = 500;
              e.quoteleft = 333;
              e.a = 444;
              e.b = 500;
              e.c = 444;
              e.d = 500;
              e.e = 444;
              e.f = 333;
              e.g = 500;
              e.h = 500;
              e.i = 278;
              e.j = 278;
              e.k = 500;
              e.l = 278;
              e.m = 778;
              e.n = 500;
              e.o = 500;
              e.p = 500;
              e.q = 500;
              e.r = 333;
              e.s = 389;
              e.t = 278;
              e.u = 500;
              e.v = 500;
              e.w = 722;
              e.x = 500;
              e.y = 500;
              e.z = 444;
              e.braceleft = 480;
              e.bar = 200;
              e.braceright = 480;
              e.asciitilde = 541;
              e.exclamdown = 333;
              e.cent = 500;
              e.sterling = 500;
              e.fraction = 167;
              e.yen = 500;
              e.florin = 500;
              e.section = 500;
              e.currency = 500;
              e.quotesingle = 180;
              e.quotedblleft = 444;
              e.guillemotleft = 500;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 556;
              e.fl = 556;
              e.endash = 500;
              e.dagger = 500;
              e.daggerdbl = 500;
              e.periodcentered = 250;
              e.paragraph = 453;
              e.bullet = 350;
              e.quotesinglbase = 333;
              e.quotedblbase = 444;
              e.quotedblright = 444;
              e.guillemotright = 500;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 444;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 889;
              e.ordfeminine = 276;
              e.Lslash = 611;
              e.Oslash = 722;
              e.OE = 889;
              e.ordmasculine = 310;
              e.ae = 667;
              e.dotlessi = 278;
              e.lslash = 278;
              e.oslash = 500;
              e.oe = 722;
              e.germandbls = 500;
              e.Idieresis = 333;
              e.eacute = 444;
              e.abreve = 444;
              e.uhungarumlaut = 500;
              e.ecaron = 444;
              e.Ydieresis = 722;
              e.divide = 564;
              e.Yacute = 722;
              e.Acircumflex = 722;
              e.aacute = 444;
              e.Ucircumflex = 722;
              e.yacute = 500;
              e.scommaaccent = 389;
              e.ecircumflex = 444;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 444;
              e.Uacute = 722;
              e.uogonek = 500;
              e.Edieresis = 611;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 760;
              e.Emacron = 611;
              e.ccaron = 444;
              e.aring = 444;
              e.Ncommaaccent = 722;
              e.lacute = 278;
              e.agrave = 444;
              e.Tcommaaccent = 611;
              e.Cacute = 667;
              e.atilde = 444;
              e.Edotaccent = 611;
              e.scaron = 389;
              e.scedilla = 389;
              e.iacute = 278;
              e.lozenge = 471;
              e.Rcaron = 667;
              e.Gcommaaccent = 722;
              e.ucircumflex = 500;
              e.acircumflex = 444;
              e.Amacron = 722;
              e.rcaron = 333;
              e.ccedilla = 444;
              e.Zdotaccent = 611;
              e.Thorn = 556;
              e.Omacron = 722;
              e.Racute = 667;
              e.Sacute = 556;
              e.dcaron = 588;
              e.Umacron = 722;
              e.uring = 500;
              e.threesuperior = 300;
              e.Ograve = 722;
              e.Agrave = 722;
              e.Abreve = 722;
              e.multiply = 564;
              e.uacute = 500;
              e.Tcaron = 611;
              e.partialdiff = 476;
              e.ydieresis = 500;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 611;
              e.adieresis = 444;
              e.edieresis = 444;
              e.cacute = 444;
              e.nacute = 500;
              e.umacron = 500;
              e.Ncaron = 722;
              e.Iacute = 333;
              e.plusminus = 564;
              e.brokenbar = 200;
              e.registered = 760;
              e.Gbreve = 722;
              e.Idotaccent = 333;
              e.summation = 600;
              e.Egrave = 611;
              e.racute = 333;
              e.omacron = 500;
              e.Zacute = 611;
              e.Zcaron = 611;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 667;
              e.lcommaaccent = 278;
              e.tcaron = 326;
              e.eogonek = 444;
              e.Uogonek = 722;
              e.Aacute = 722;
              e.Adieresis = 722;
              e.egrave = 444;
              e.zacute = 444;
              e.iogonek = 278;
              e.Oacute = 722;
              e.oacute = 500;
              e.amacron = 444;
              e.sacute = 389;
              e.idieresis = 278;
              e.Ocircumflex = 722;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 500;
              e.twosuperior = 300;
              e.Odieresis = 722;
              e.mu = 500;
              e.igrave = 278;
              e.ohungarumlaut = 500;
              e.Eogonek = 611;
              e.dcroat = 500;
              e.threequarters = 750;
              e.Scedilla = 556;
              e.lcaron = 344;
              e.Kcommaaccent = 722;
              e.Lacute = 611;
              e.trademark = 980;
              e.edotaccent = 444;
              e.Igrave = 333;
              e.Imacron = 333;
              e.Lcaron = 611;
              e.onehalf = 750;
              e.lessequal = 549;
              e.ocircumflex = 500;
              e.ntilde = 500;
              e.Uhungarumlaut = 722;
              e.Eacute = 611;
              e.emacron = 444;
              e.gbreve = 500;
              e.onequarter = 750;
              e.Scaron = 556;
              e.Scommaaccent = 556;
              e.Ohungarumlaut = 722;
              e.degree = 400;
              e.ograve = 500;
              e.Ccaron = 667;
              e.ugrave = 500;
              e.radical = 453;
              e.Dcaron = 722;
              e.rcommaaccent = 333;
              e.Ntilde = 722;
              e.otilde = 500;
              e.Rcommaaccent = 667;
              e.Lcommaaccent = 611;
              e.Atilde = 722;
              e.Aogonek = 722;
              e.Aring = 722;
              e.Otilde = 722;
              e.zdotaccent = 444;
              e.Ecaron = 611;
              e.Iogonek = 333;
              e.kcommaaccent = 500;
              e.minus = 564;
              e.Icircumflex = 333;
              e.ncaron = 500;
              e.tcommaaccent = 278;
              e.logicalnot = 564;
              e.odieresis = 500;
              e.udieresis = 500;
              e.notequal = 549;
              e.gcommaaccent = 500;
              e.eth = 500;
              e.zcaron = 444;
              e.ncommaaccent = 500;
              e.onesuperior = 300;
              e.imacron = 278;
              e.Euro = 500;
            });
            e['Times-Bold'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 250;
              e.exclam = 333;
              e.quotedbl = 555;
              e.numbersign = 500;
              e.dollar = 500;
              e.percent = 1e3;
              e.ampersand = 833;
              e.quoteright = 333;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 500;
              e.plus = 570;
              e.comma = 250;
              e.hyphen = 333;
              e.period = 250;
              e.slash = 278;
              e.zero = 500;
              e.one = 500;
              e.two = 500;
              e.three = 500;
              e.four = 500;
              e.five = 500;
              e.six = 500;
              e.seven = 500;
              e.eight = 500;
              e.nine = 500;
              e.colon = 333;
              e.semicolon = 333;
              e.less = 570;
              e.equal = 570;
              e.greater = 570;
              e.question = 500;
              e.at = 930;
              e.A = 722;
              e.B = 667;
              e.C = 722;
              e.D = 722;
              e.E = 667;
              e.F = 611;
              e.G = 778;
              e.H = 778;
              e.I = 389;
              e.J = 500;
              e.K = 778;
              e.L = 667;
              e.M = 944;
              e.N = 722;
              e.O = 778;
              e.P = 611;
              e.Q = 778;
              e.R = 722;
              e.S = 556;
              e.T = 667;
              e.U = 722;
              e.V = 722;
              e.W = 1e3;
              e.X = 722;
              e.Y = 722;
              e.Z = 667;
              e.bracketleft = 333;
              e.backslash = 278;
              e.bracketright = 333;
              e.asciicircum = 581;
              e.underscore = 500;
              e.quoteleft = 333;
              e.a = 500;
              e.b = 556;
              e.c = 444;
              e.d = 556;
              e.e = 444;
              e.f = 333;
              e.g = 500;
              e.h = 556;
              e.i = 278;
              e.j = 333;
              e.k = 556;
              e.l = 278;
              e.m = 833;
              e.n = 556;
              e.o = 500;
              e.p = 556;
              e.q = 556;
              e.r = 444;
              e.s = 389;
              e.t = 333;
              e.u = 556;
              e.v = 500;
              e.w = 722;
              e.x = 500;
              e.y = 500;
              e.z = 444;
              e.braceleft = 394;
              e.bar = 220;
              e.braceright = 394;
              e.asciitilde = 520;
              e.exclamdown = 333;
              e.cent = 500;
              e.sterling = 500;
              e.fraction = 167;
              e.yen = 500;
              e.florin = 500;
              e.section = 500;
              e.currency = 500;
              e.quotesingle = 278;
              e.quotedblleft = 500;
              e.guillemotleft = 500;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 556;
              e.fl = 556;
              e.endash = 500;
              e.dagger = 500;
              e.daggerdbl = 500;
              e.periodcentered = 250;
              e.paragraph = 540;
              e.bullet = 350;
              e.quotesinglbase = 333;
              e.quotedblbase = 500;
              e.quotedblright = 500;
              e.guillemotright = 500;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 500;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 1e3;
              e.ordfeminine = 300;
              e.Lslash = 667;
              e.Oslash = 778;
              e.OE = 1e3;
              e.ordmasculine = 330;
              e.ae = 722;
              e.dotlessi = 278;
              e.lslash = 278;
              e.oslash = 500;
              e.oe = 722;
              e.germandbls = 556;
              e.Idieresis = 389;
              e.eacute = 444;
              e.abreve = 500;
              e.uhungarumlaut = 556;
              e.ecaron = 444;
              e.Ydieresis = 722;
              e.divide = 570;
              e.Yacute = 722;
              e.Acircumflex = 722;
              e.aacute = 500;
              e.Ucircumflex = 722;
              e.yacute = 500;
              e.scommaaccent = 389;
              e.ecircumflex = 444;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 500;
              e.Uacute = 722;
              e.uogonek = 556;
              e.Edieresis = 667;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 747;
              e.Emacron = 667;
              e.ccaron = 444;
              e.aring = 500;
              e.Ncommaaccent = 722;
              e.lacute = 278;
              e.agrave = 500;
              e.Tcommaaccent = 667;
              e.Cacute = 722;
              e.atilde = 500;
              e.Edotaccent = 667;
              e.scaron = 389;
              e.scedilla = 389;
              e.iacute = 278;
              e.lozenge = 494;
              e.Rcaron = 722;
              e.Gcommaaccent = 778;
              e.ucircumflex = 556;
              e.acircumflex = 500;
              e.Amacron = 722;
              e.rcaron = 444;
              e.ccedilla = 444;
              e.Zdotaccent = 667;
              e.Thorn = 611;
              e.Omacron = 778;
              e.Racute = 722;
              e.Sacute = 556;
              e.dcaron = 672;
              e.Umacron = 722;
              e.uring = 556;
              e.threesuperior = 300;
              e.Ograve = 778;
              e.Agrave = 722;
              e.Abreve = 722;
              e.multiply = 570;
              e.uacute = 556;
              e.Tcaron = 667;
              e.partialdiff = 494;
              e.ydieresis = 500;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 667;
              e.adieresis = 500;
              e.edieresis = 444;
              e.cacute = 444;
              e.nacute = 556;
              e.umacron = 556;
              e.Ncaron = 722;
              e.Iacute = 389;
              e.plusminus = 570;
              e.brokenbar = 220;
              e.registered = 747;
              e.Gbreve = 778;
              e.Idotaccent = 389;
              e.summation = 600;
              e.Egrave = 667;
              e.racute = 444;
              e.omacron = 500;
              e.Zacute = 667;
              e.Zcaron = 667;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 722;
              e.lcommaaccent = 278;
              e.tcaron = 416;
              e.eogonek = 444;
              e.Uogonek = 722;
              e.Aacute = 722;
              e.Adieresis = 722;
              e.egrave = 444;
              e.zacute = 444;
              e.iogonek = 278;
              e.Oacute = 778;
              e.oacute = 500;
              e.amacron = 500;
              e.sacute = 389;
              e.idieresis = 278;
              e.Ocircumflex = 778;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 556;
              e.twosuperior = 300;
              e.Odieresis = 778;
              e.mu = 556;
              e.igrave = 278;
              e.ohungarumlaut = 500;
              e.Eogonek = 667;
              e.dcroat = 556;
              e.threequarters = 750;
              e.Scedilla = 556;
              e.lcaron = 394;
              e.Kcommaaccent = 778;
              e.Lacute = 667;
              e.trademark = 1e3;
              e.edotaccent = 444;
              e.Igrave = 389;
              e.Imacron = 389;
              e.Lcaron = 667;
              e.onehalf = 750;
              e.lessequal = 549;
              e.ocircumflex = 500;
              e.ntilde = 556;
              e.Uhungarumlaut = 722;
              e.Eacute = 667;
              e.emacron = 444;
              e.gbreve = 500;
              e.onequarter = 750;
              e.Scaron = 556;
              e.Scommaaccent = 556;
              e.Ohungarumlaut = 778;
              e.degree = 400;
              e.ograve = 500;
              e.Ccaron = 722;
              e.ugrave = 556;
              e.radical = 549;
              e.Dcaron = 722;
              e.rcommaaccent = 444;
              e.Ntilde = 722;
              e.otilde = 500;
              e.Rcommaaccent = 722;
              e.Lcommaaccent = 667;
              e.Atilde = 722;
              e.Aogonek = 722;
              e.Aring = 722;
              e.Otilde = 778;
              e.zdotaccent = 444;
              e.Ecaron = 667;
              e.Iogonek = 389;
              e.kcommaaccent = 556;
              e.minus = 570;
              e.Icircumflex = 389;
              e.ncaron = 556;
              e.tcommaaccent = 333;
              e.logicalnot = 570;
              e.odieresis = 500;
              e.udieresis = 556;
              e.notequal = 549;
              e.gcommaaccent = 500;
              e.eth = 500;
              e.zcaron = 444;
              e.ncommaaccent = 556;
              e.onesuperior = 300;
              e.imacron = 278;
              e.Euro = 500;
            });
            e['Times-BoldItalic'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 250;
              e.exclam = 389;
              e.quotedbl = 555;
              e.numbersign = 500;
              e.dollar = 500;
              e.percent = 833;
              e.ampersand = 778;
              e.quoteright = 333;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 500;
              e.plus = 570;
              e.comma = 250;
              e.hyphen = 333;
              e.period = 250;
              e.slash = 278;
              e.zero = 500;
              e.one = 500;
              e.two = 500;
              e.three = 500;
              e.four = 500;
              e.five = 500;
              e.six = 500;
              e.seven = 500;
              e.eight = 500;
              e.nine = 500;
              e.colon = 333;
              e.semicolon = 333;
              e.less = 570;
              e.equal = 570;
              e.greater = 570;
              e.question = 500;
              e.at = 832;
              e.A = 667;
              e.B = 667;
              e.C = 667;
              e.D = 722;
              e.E = 667;
              e.F = 667;
              e.G = 722;
              e.H = 778;
              e.I = 389;
              e.J = 500;
              e.K = 667;
              e.L = 611;
              e.M = 889;
              e.N = 722;
              e.O = 722;
              e.P = 611;
              e.Q = 722;
              e.R = 667;
              e.S = 556;
              e.T = 611;
              e.U = 722;
              e.V = 667;
              e.W = 889;
              e.X = 667;
              e.Y = 611;
              e.Z = 611;
              e.bracketleft = 333;
              e.backslash = 278;
              e.bracketright = 333;
              e.asciicircum = 570;
              e.underscore = 500;
              e.quoteleft = 333;
              e.a = 500;
              e.b = 500;
              e.c = 444;
              e.d = 500;
              e.e = 444;
              e.f = 333;
              e.g = 500;
              e.h = 556;
              e.i = 278;
              e.j = 278;
              e.k = 500;
              e.l = 278;
              e.m = 778;
              e.n = 556;
              e.o = 500;
              e.p = 500;
              e.q = 500;
              e.r = 389;
              e.s = 389;
              e.t = 278;
              e.u = 556;
              e.v = 444;
              e.w = 667;
              e.x = 500;
              e.y = 444;
              e.z = 389;
              e.braceleft = 348;
              e.bar = 220;
              e.braceright = 348;
              e.asciitilde = 570;
              e.exclamdown = 389;
              e.cent = 500;
              e.sterling = 500;
              e.fraction = 167;
              e.yen = 500;
              e.florin = 500;
              e.section = 500;
              e.currency = 500;
              e.quotesingle = 278;
              e.quotedblleft = 500;
              e.guillemotleft = 500;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 556;
              e.fl = 556;
              e.endash = 500;
              e.dagger = 500;
              e.daggerdbl = 500;
              e.periodcentered = 250;
              e.paragraph = 500;
              e.bullet = 350;
              e.quotesinglbase = 333;
              e.quotedblbase = 500;
              e.quotedblright = 500;
              e.guillemotright = 500;
              e.ellipsis = 1e3;
              e.perthousand = 1e3;
              e.questiondown = 500;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 1e3;
              e.AE = 944;
              e.ordfeminine = 266;
              e.Lslash = 611;
              e.Oslash = 722;
              e.OE = 944;
              e.ordmasculine = 300;
              e.ae = 722;
              e.dotlessi = 278;
              e.lslash = 278;
              e.oslash = 500;
              e.oe = 722;
              e.germandbls = 500;
              e.Idieresis = 389;
              e.eacute = 444;
              e.abreve = 500;
              e.uhungarumlaut = 556;
              e.ecaron = 444;
              e.Ydieresis = 611;
              e.divide = 570;
              e.Yacute = 611;
              e.Acircumflex = 667;
              e.aacute = 500;
              e.Ucircumflex = 722;
              e.yacute = 444;
              e.scommaaccent = 389;
              e.ecircumflex = 444;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 500;
              e.Uacute = 722;
              e.uogonek = 556;
              e.Edieresis = 667;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 747;
              e.Emacron = 667;
              e.ccaron = 444;
              e.aring = 500;
              e.Ncommaaccent = 722;
              e.lacute = 278;
              e.agrave = 500;
              e.Tcommaaccent = 611;
              e.Cacute = 667;
              e.atilde = 500;
              e.Edotaccent = 667;
              e.scaron = 389;
              e.scedilla = 389;
              e.iacute = 278;
              e.lozenge = 494;
              e.Rcaron = 667;
              e.Gcommaaccent = 722;
              e.ucircumflex = 556;
              e.acircumflex = 500;
              e.Amacron = 667;
              e.rcaron = 389;
              e.ccedilla = 444;
              e.Zdotaccent = 611;
              e.Thorn = 611;
              e.Omacron = 722;
              e.Racute = 667;
              e.Sacute = 556;
              e.dcaron = 608;
              e.Umacron = 722;
              e.uring = 556;
              e.threesuperior = 300;
              e.Ograve = 722;
              e.Agrave = 667;
              e.Abreve = 667;
              e.multiply = 570;
              e.uacute = 556;
              e.Tcaron = 611;
              e.partialdiff = 494;
              e.ydieresis = 444;
              e.Nacute = 722;
              e.icircumflex = 278;
              e.Ecircumflex = 667;
              e.adieresis = 500;
              e.edieresis = 444;
              e.cacute = 444;
              e.nacute = 556;
              e.umacron = 556;
              e.Ncaron = 722;
              e.Iacute = 389;
              e.plusminus = 570;
              e.brokenbar = 220;
              e.registered = 747;
              e.Gbreve = 722;
              e.Idotaccent = 389;
              e.summation = 600;
              e.Egrave = 667;
              e.racute = 389;
              e.omacron = 500;
              e.Zacute = 611;
              e.Zcaron = 611;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 667;
              e.lcommaaccent = 278;
              e.tcaron = 366;
              e.eogonek = 444;
              e.Uogonek = 722;
              e.Aacute = 667;
              e.Adieresis = 667;
              e.egrave = 444;
              e.zacute = 389;
              e.iogonek = 278;
              e.Oacute = 722;
              e.oacute = 500;
              e.amacron = 500;
              e.sacute = 389;
              e.idieresis = 278;
              e.Ocircumflex = 722;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 500;
              e.twosuperior = 300;
              e.Odieresis = 722;
              e.mu = 576;
              e.igrave = 278;
              e.ohungarumlaut = 500;
              e.Eogonek = 667;
              e.dcroat = 500;
              e.threequarters = 750;
              e.Scedilla = 556;
              e.lcaron = 382;
              e.Kcommaaccent = 667;
              e.Lacute = 611;
              e.trademark = 1e3;
              e.edotaccent = 444;
              e.Igrave = 389;
              e.Imacron = 389;
              e.Lcaron = 611;
              e.onehalf = 750;
              e.lessequal = 549;
              e.ocircumflex = 500;
              e.ntilde = 556;
              e.Uhungarumlaut = 722;
              e.Eacute = 667;
              e.emacron = 444;
              e.gbreve = 500;
              e.onequarter = 750;
              e.Scaron = 556;
              e.Scommaaccent = 556;
              e.Ohungarumlaut = 722;
              e.degree = 400;
              e.ograve = 500;
              e.Ccaron = 667;
              e.ugrave = 556;
              e.radical = 549;
              e.Dcaron = 722;
              e.rcommaaccent = 389;
              e.Ntilde = 722;
              e.otilde = 500;
              e.Rcommaaccent = 667;
              e.Lcommaaccent = 611;
              e.Atilde = 667;
              e.Aogonek = 667;
              e.Aring = 667;
              e.Otilde = 722;
              e.zdotaccent = 389;
              e.Ecaron = 667;
              e.Iogonek = 389;
              e.kcommaaccent = 500;
              e.minus = 606;
              e.Icircumflex = 389;
              e.ncaron = 556;
              e.tcommaaccent = 278;
              e.logicalnot = 606;
              e.odieresis = 500;
              e.udieresis = 556;
              e.notequal = 549;
              e.gcommaaccent = 500;
              e.eth = 500;
              e.zcaron = 389;
              e.ncommaaccent = 556;
              e.onesuperior = 300;
              e.imacron = 278;
              e.Euro = 500;
            });
            e['Times-Italic'] = (0, r.getLookupTableFactory)(function (e) {
              e.space = 250;
              e.exclam = 333;
              e.quotedbl = 420;
              e.numbersign = 500;
              e.dollar = 500;
              e.percent = 833;
              e.ampersand = 778;
              e.quoteright = 333;
              e.parenleft = 333;
              e.parenright = 333;
              e.asterisk = 500;
              e.plus = 675;
              e.comma = 250;
              e.hyphen = 333;
              e.period = 250;
              e.slash = 278;
              e.zero = 500;
              e.one = 500;
              e.two = 500;
              e.three = 500;
              e.four = 500;
              e.five = 500;
              e.six = 500;
              e.seven = 500;
              e.eight = 500;
              e.nine = 500;
              e.colon = 333;
              e.semicolon = 333;
              e.less = 675;
              e.equal = 675;
              e.greater = 675;
              e.question = 500;
              e.at = 920;
              e.A = 611;
              e.B = 611;
              e.C = 667;
              e.D = 722;
              e.E = 611;
              e.F = 611;
              e.G = 722;
              e.H = 722;
              e.I = 333;
              e.J = 444;
              e.K = 667;
              e.L = 556;
              e.M = 833;
              e.N = 667;
              e.O = 722;
              e.P = 611;
              e.Q = 722;
              e.R = 611;
              e.S = 500;
              e.T = 556;
              e.U = 722;
              e.V = 611;
              e.W = 833;
              e.X = 611;
              e.Y = 556;
              e.Z = 556;
              e.bracketleft = 389;
              e.backslash = 278;
              e.bracketright = 389;
              e.asciicircum = 422;
              e.underscore = 500;
              e.quoteleft = 333;
              e.a = 500;
              e.b = 500;
              e.c = 444;
              e.d = 500;
              e.e = 444;
              e.f = 278;
              e.g = 500;
              e.h = 500;
              e.i = 278;
              e.j = 278;
              e.k = 444;
              e.l = 278;
              e.m = 722;
              e.n = 500;
              e.o = 500;
              e.p = 500;
              e.q = 500;
              e.r = 389;
              e.s = 389;
              e.t = 278;
              e.u = 500;
              e.v = 444;
              e.w = 667;
              e.x = 444;
              e.y = 444;
              e.z = 389;
              e.braceleft = 400;
              e.bar = 275;
              e.braceright = 400;
              e.asciitilde = 541;
              e.exclamdown = 389;
              e.cent = 500;
              e.sterling = 500;
              e.fraction = 167;
              e.yen = 500;
              e.florin = 500;
              e.section = 500;
              e.currency = 500;
              e.quotesingle = 214;
              e.quotedblleft = 556;
              e.guillemotleft = 500;
              e.guilsinglleft = 333;
              e.guilsinglright = 333;
              e.fi = 500;
              e.fl = 500;
              e.endash = 500;
              e.dagger = 500;
              e.daggerdbl = 500;
              e.periodcentered = 250;
              e.paragraph = 523;
              e.bullet = 350;
              e.quotesinglbase = 333;
              e.quotedblbase = 556;
              e.quotedblright = 556;
              e.guillemotright = 500;
              e.ellipsis = 889;
              e.perthousand = 1e3;
              e.questiondown = 500;
              e.grave = 333;
              e.acute = 333;
              e.circumflex = 333;
              e.tilde = 333;
              e.macron = 333;
              e.breve = 333;
              e.dotaccent = 333;
              e.dieresis = 333;
              e.ring = 333;
              e.cedilla = 333;
              e.hungarumlaut = 333;
              e.ogonek = 333;
              e.caron = 333;
              e.emdash = 889;
              e.AE = 889;
              e.ordfeminine = 276;
              e.Lslash = 556;
              e.Oslash = 722;
              e.OE = 944;
              e.ordmasculine = 310;
              e.ae = 667;
              e.dotlessi = 278;
              e.lslash = 278;
              e.oslash = 500;
              e.oe = 667;
              e.germandbls = 500;
              e.Idieresis = 333;
              e.eacute = 444;
              e.abreve = 500;
              e.uhungarumlaut = 500;
              e.ecaron = 444;
              e.Ydieresis = 556;
              e.divide = 675;
              e.Yacute = 556;
              e.Acircumflex = 611;
              e.aacute = 500;
              e.Ucircumflex = 722;
              e.yacute = 444;
              e.scommaaccent = 389;
              e.ecircumflex = 444;
              e.Uring = 722;
              e.Udieresis = 722;
              e.aogonek = 500;
              e.Uacute = 722;
              e.uogonek = 500;
              e.Edieresis = 611;
              e.Dcroat = 722;
              e.commaaccent = 250;
              e.copyright = 760;
              e.Emacron = 611;
              e.ccaron = 444;
              e.aring = 500;
              e.Ncommaaccent = 667;
              e.lacute = 278;
              e.agrave = 500;
              e.Tcommaaccent = 556;
              e.Cacute = 667;
              e.atilde = 500;
              e.Edotaccent = 611;
              e.scaron = 389;
              e.scedilla = 389;
              e.iacute = 278;
              e.lozenge = 471;
              e.Rcaron = 611;
              e.Gcommaaccent = 722;
              e.ucircumflex = 500;
              e.acircumflex = 500;
              e.Amacron = 611;
              e.rcaron = 389;
              e.ccedilla = 444;
              e.Zdotaccent = 556;
              e.Thorn = 611;
              e.Omacron = 722;
              e.Racute = 611;
              e.Sacute = 500;
              e.dcaron = 544;
              e.Umacron = 722;
              e.uring = 500;
              e.threesuperior = 300;
              e.Ograve = 722;
              e.Agrave = 611;
              e.Abreve = 611;
              e.multiply = 675;
              e.uacute = 500;
              e.Tcaron = 556;
              e.partialdiff = 476;
              e.ydieresis = 444;
              e.Nacute = 667;
              e.icircumflex = 278;
              e.Ecircumflex = 611;
              e.adieresis = 500;
              e.edieresis = 444;
              e.cacute = 444;
              e.nacute = 500;
              e.umacron = 500;
              e.Ncaron = 667;
              e.Iacute = 333;
              e.plusminus = 675;
              e.brokenbar = 275;
              e.registered = 760;
              e.Gbreve = 722;
              e.Idotaccent = 333;
              e.summation = 600;
              e.Egrave = 611;
              e.racute = 389;
              e.omacron = 500;
              e.Zacute = 556;
              e.Zcaron = 556;
              e.greaterequal = 549;
              e.Eth = 722;
              e.Ccedilla = 667;
              e.lcommaaccent = 278;
              e.tcaron = 300;
              e.eogonek = 444;
              e.Uogonek = 722;
              e.Aacute = 611;
              e.Adieresis = 611;
              e.egrave = 444;
              e.zacute = 389;
              e.iogonek = 278;
              e.Oacute = 722;
              e.oacute = 500;
              e.amacron = 500;
              e.sacute = 389;
              e.idieresis = 278;
              e.Ocircumflex = 722;
              e.Ugrave = 722;
              e.Delta = 612;
              e.thorn = 500;
              e.twosuperior = 300;
              e.Odieresis = 722;
              e.mu = 500;
              e.igrave = 278;
              e.ohungarumlaut = 500;
              e.Eogonek = 611;
              e.dcroat = 500;
              e.threequarters = 750;
              e.Scedilla = 500;
              e.lcaron = 300;
              e.Kcommaaccent = 667;
              e.Lacute = 556;
              e.trademark = 980;
              e.edotaccent = 444;
              e.Igrave = 333;
              e.Imacron = 333;
              e.Lcaron = 611;
              e.onehalf = 750;
              e.lessequal = 549;
              e.ocircumflex = 500;
              e.ntilde = 500;
              e.Uhungarumlaut = 722;
              e.Eacute = 611;
              e.emacron = 444;
              e.gbreve = 500;
              e.onequarter = 750;
              e.Scaron = 500;
              e.Scommaaccent = 500;
              e.Ohungarumlaut = 722;
              e.degree = 400;
              e.ograve = 500;
              e.Ccaron = 667;
              e.ugrave = 500;
              e.radical = 453;
              e.Dcaron = 722;
              e.rcommaaccent = 389;
              e.Ntilde = 667;
              e.otilde = 500;
              e.Rcommaaccent = 611;
              e.Lcommaaccent = 556;
              e.Atilde = 611;
              e.Aogonek = 611;
              e.Aring = 611;
              e.Otilde = 722;
              e.zdotaccent = 389;
              e.Ecaron = 611;
              e.Iogonek = 333;
              e.kcommaaccent = 444;
              e.minus = 675;
              e.Icircumflex = 333;
              e.ncaron = 500;
              e.tcommaaccent = 278;
              e.logicalnot = 675;
              e.odieresis = 500;
              e.udieresis = 500;
              e.notequal = 549;
              e.gcommaaccent = 500;
              e.eth = 500;
              e.zcaron = 389;
              e.ncommaaccent = 500;
              e.onesuperior = 300;
              e.imacron = 278;
              e.Euro = 500;
            });
            e.ZapfDingbats = (0, r.getLookupTableFactory)(function (e) {
              e.space = 278;
              e.a1 = 974;
              e.a2 = 961;
              e.a202 = 974;
              e.a3 = 980;
              e.a4 = 719;
              e.a5 = 789;
              e.a119 = 790;
              e.a118 = 791;
              e.a117 = 690;
              e.a11 = 960;
              e.a12 = 939;
              e.a13 = 549;
              e.a14 = 855;
              e.a15 = 911;
              e.a16 = 933;
              e.a105 = 911;
              e.a17 = 945;
              e.a18 = 974;
              e.a19 = 755;
              e.a20 = 846;
              e.a21 = 762;
              e.a22 = 761;
              e.a23 = 571;
              e.a24 = 677;
              e.a25 = 763;
              e.a26 = 760;
              e.a27 = 759;
              e.a28 = 754;
              e.a6 = 494;
              e.a7 = 552;
              e.a8 = 537;
              e.a9 = 577;
              e.a10 = 692;
              e.a29 = 786;
              e.a30 = 788;
              e.a31 = 788;
              e.a32 = 790;
              e.a33 = 793;
              e.a34 = 794;
              e.a35 = 816;
              e.a36 = 823;
              e.a37 = 789;
              e.a38 = 841;
              e.a39 = 823;
              e.a40 = 833;
              e.a41 = 816;
              e.a42 = 831;
              e.a43 = 923;
              e.a44 = 744;
              e.a45 = 723;
              e.a46 = 749;
              e.a47 = 790;
              e.a48 = 792;
              e.a49 = 695;
              e.a50 = 776;
              e.a51 = 768;
              e.a52 = 792;
              e.a53 = 759;
              e.a54 = 707;
              e.a55 = 708;
              e.a56 = 682;
              e.a57 = 701;
              e.a58 = 826;
              e.a59 = 815;
              e.a60 = 789;
              e.a61 = 789;
              e.a62 = 707;
              e.a63 = 687;
              e.a64 = 696;
              e.a65 = 689;
              e.a66 = 786;
              e.a67 = 787;
              e.a68 = 713;
              e.a69 = 791;
              e.a70 = 785;
              e.a71 = 791;
              e.a72 = 873;
              e.a73 = 761;
              e.a74 = 762;
              e.a203 = 762;
              e.a75 = 759;
              e.a204 = 759;
              e.a76 = 892;
              e.a77 = 892;
              e.a78 = 788;
              e.a79 = 784;
              e.a81 = 438;
              e.a82 = 138;
              e.a83 = 277;
              e.a84 = 415;
              e.a97 = 392;
              e.a98 = 392;
              e.a99 = 668;
              e.a100 = 668;
              e.a89 = 390;
              e.a90 = 390;
              e.a93 = 317;
              e.a94 = 317;
              e.a91 = 276;
              e.a92 = 276;
              e.a205 = 509;
              e.a85 = 509;
              e.a206 = 410;
              e.a86 = 410;
              e.a87 = 234;
              e.a88 = 234;
              e.a95 = 334;
              e.a96 = 334;
              e.a101 = 732;
              e.a102 = 544;
              e.a103 = 544;
              e.a104 = 910;
              e.a106 = 667;
              e.a107 = 760;
              e.a108 = 760;
              e.a112 = 776;
              e.a111 = 595;
              e.a110 = 694;
              e.a109 = 626;
              e.a120 = 788;
              e.a121 = 788;
              e.a122 = 788;
              e.a123 = 788;
              e.a124 = 788;
              e.a125 = 788;
              e.a126 = 788;
              e.a127 = 788;
              e.a128 = 788;
              e.a129 = 788;
              e.a130 = 788;
              e.a131 = 788;
              e.a132 = 788;
              e.a133 = 788;
              e.a134 = 788;
              e.a135 = 788;
              e.a136 = 788;
              e.a137 = 788;
              e.a138 = 788;
              e.a139 = 788;
              e.a140 = 788;
              e.a141 = 788;
              e.a142 = 788;
              e.a143 = 788;
              e.a144 = 788;
              e.a145 = 788;
              e.a146 = 788;
              e.a147 = 788;
              e.a148 = 788;
              e.a149 = 788;
              e.a150 = 788;
              e.a151 = 788;
              e.a152 = 788;
              e.a153 = 788;
              e.a154 = 788;
              e.a155 = 788;
              e.a156 = 788;
              e.a157 = 788;
              e.a158 = 788;
              e.a159 = 788;
              e.a160 = 894;
              e.a161 = 838;
              e.a163 = 1016;
              e.a164 = 458;
              e.a196 = 748;
              e.a165 = 924;
              e.a192 = 748;
              e.a166 = 918;
              e.a167 = 927;
              e.a168 = 928;
              e.a169 = 928;
              e.a170 = 834;
              e.a171 = 873;
              e.a172 = 828;
              e.a173 = 924;
              e.a162 = 924;
              e.a174 = 917;
              e.a175 = 930;
              e.a176 = 931;
              e.a177 = 463;
              e.a178 = 883;
              e.a179 = 836;
              e.a193 = 836;
              e.a180 = 867;
              e.a199 = 867;
              e.a181 = 696;
              e.a200 = 696;
              e.a182 = 874;
              e.a201 = 874;
              e.a183 = 760;
              e.a184 = 946;
              e.a197 = 771;
              e.a185 = 865;
              e.a194 = 771;
              e.a198 = 888;
              e.a186 = 967;
              e.a195 = 888;
              e.a187 = 831;
              e.a188 = 873;
              e.a189 = 927;
              e.a190 = 970;
              e.a191 = 918;
            });
          });
          t.getMetrics = n;
          const i = (0, r.getLookupTableFactory)(function (e) {
            e.Courier = { ascent: 629, descent: -157, capHeight: 562, xHeight: -426 };
            e['Courier-Bold'] = { ascent: 629, descent: -157, capHeight: 562, xHeight: 439 };
            e['Courier-Oblique'] = { ascent: 629, descent: -157, capHeight: 562, xHeight: 426 };
            e['Courier-BoldOblique'] = { ascent: 629, descent: -157, capHeight: 562, xHeight: 426 };
            e.Helvetica = { ascent: 718, descent: -207, capHeight: 718, xHeight: 523 };
            e['Helvetica-Bold'] = { ascent: 718, descent: -207, capHeight: 718, xHeight: 532 };
            e['Helvetica-Oblique'] = { ascent: 718, descent: -207, capHeight: 718, xHeight: 523 };
            e['Helvetica-BoldOblique'] = { ascent: 718, descent: -207, capHeight: 718, xHeight: 532 };
            e['Times-Roman'] = { ascent: 683, descent: -217, capHeight: 662, xHeight: 450 };
            e['Times-Bold'] = { ascent: 683, descent: -217, capHeight: 676, xHeight: 461 };
            e['Times-Italic'] = { ascent: 683, descent: -217, capHeight: 653, xHeight: 441 };
            e['Times-BoldItalic'] = { ascent: 683, descent: -217, capHeight: 669, xHeight: 462 };
            e.Symbol = { ascent: Math.NaN, descent: Math.NaN, capHeight: Math.NaN, xHeight: Math.NaN };
            e.ZapfDingbats = { ascent: Math.NaN, descent: Math.NaN, capHeight: Math.NaN, xHeight: Math.NaN };
          });
          t.getFontBasicMetrics = i;
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.GlyfTable = void 0;
          t.GlyfTable = class GlyfTable {
            constructor({ glyfTable: e, isGlyphLocationsLong: t, locaTable: a, numGlyphs: r }) {
              this.glyphs = [];
              const n = new DataView(a.buffer, a.byteOffset, a.byteLength),
                i = new DataView(e.buffer, e.byteOffset, e.byteLength),
                s = t ? 4 : 2;
              let o = t ? n.getUint32(0) : 2 * n.getUint16(0),
                c = 0;
              for (let e = 0; e < r; e++) {
                c += s;
                const e = t ? n.getUint32(c) : 2 * n.getUint16(c);
                if (e === o) {
                  this.glyphs.push(new Glyph({}));
                  continue;
                }
                const a = Glyph.parse(o, i);
                this.glyphs.push(a);
                o = e;
              }
            }
            getSize() {
              return this.glyphs.reduce((e, t) => e + ((t.getSize() + 3) & -4), 0);
            }
            write() {
              const e = this.getSize(),
                t = new DataView(new ArrayBuffer(e)),
                a = e > 131070,
                r = a ? 4 : 2,
                n = new DataView(new ArrayBuffer((this.glyphs.length + 1) * r));
              a ? n.setUint32(0, 0) : n.setUint16(0, 0);
              let i = 0,
                s = 0;
              for (const e of this.glyphs) {
                i += e.write(i, t);
                i = (i + 3) & -4;
                s += r;
                a ? n.setUint32(s, i) : n.setUint16(s, i >> 1);
              }
              return { isLocationLong: a, loca: new Uint8Array(n.buffer), glyf: new Uint8Array(t.buffer) };
            }
            scale(e) {
              for (let t = 0, a = this.glyphs.length; t < a; t++) this.glyphs[t].scale(e[t]);
            }
          };
          class Glyph {
            constructor({ header: e = null, simple: t = null, composites: a = null }) {
              this.header = e;
              this.simple = t;
              this.composites = a;
            }
            static parse(e, t) {
              const [a, r] = GlyphHeader.parse(e, t);
              e += a;
              if (r.numberOfContours < 0) {
                const a = [];
                for (;;) {
                  const [r, n] = CompositeGlyph.parse(e, t);
                  e += r;
                  a.push(n);
                  if (!(32 & n.flags)) break;
                }
                return new Glyph({ header: r, composites: a });
              }
              const n = SimpleGlyph.parse(e, t, r.numberOfContours);
              return new Glyph({ header: r, simple: n });
            }
            getSize() {
              if (!this.header) return 0;
              const e = this.simple ? this.simple.getSize() : this.composites.reduce((e, t) => e + t.getSize(), 0);
              return this.header.getSize() + e;
            }
            write(e, t) {
              if (!this.header) return 0;
              const a = e;
              e += this.header.write(e, t);
              if (this.simple) e += this.simple.write(e, t);
              else for (const a of this.composites) e += a.write(e, t);
              return e - a;
            }
            scale(e) {
              if (!this.header) return;
              const t = (this.header.xMin + this.header.xMax) / 2;
              this.header.scale(t, e);
              if (this.simple) this.simple.scale(t, e);
              else for (const a of this.composites) a.scale(t, e);
            }
          }
          class GlyphHeader {
            constructor({ numberOfContours: e, xMin: t, yMin: a, xMax: r, yMax: n }) {
              this.numberOfContours = e;
              this.xMin = t;
              this.yMin = a;
              this.xMax = r;
              this.yMax = n;
            }
            static parse(e, t) {
              return [
                10,
                new GlyphHeader({
                  numberOfContours: t.getInt16(e),
                  xMin: t.getInt16(e + 2),
                  yMin: t.getInt16(e + 4),
                  xMax: t.getInt16(e + 6),
                  yMax: t.getInt16(e + 8),
                }),
              ];
            }
            getSize() {
              return 10;
            }
            write(e, t) {
              t.setInt16(e, this.numberOfContours);
              t.setInt16(e + 2, this.xMin);
              t.setInt16(e + 4, this.yMin);
              t.setInt16(e + 6, this.xMax);
              t.setInt16(e + 8, this.yMax);
              return 10;
            }
            scale(e, t) {
              this.xMin = Math.round(e + (this.xMin - e) * t);
              this.xMax = Math.round(e + (this.xMax - e) * t);
            }
          }
          class Contour {
            constructor({ flags: e, xCoordinates: t, yCoordinates: a }) {
              this.xCoordinates = t;
              this.yCoordinates = a;
              this.flags = e;
            }
          }
          class SimpleGlyph {
            constructor({ contours: e, instructions: t }) {
              this.contours = e;
              this.instructions = t;
            }
            static parse(e, t, a) {
              const r = [];
              for (let n = 0; n < a; n++) {
                const a = t.getUint16(e);
                e += 2;
                r.push(a);
              }
              const n = r[a - 1] + 1,
                i = t.getUint16(e);
              e += 2;
              const s = new Uint8Array(t).slice(e, e + i);
              e += i;
              const o = [];
              for (let a = 0; a < n; e++, a++) {
                let r = t.getUint8(e);
                o.push(r);
                if (8 & r) {
                  const n = t.getUint8(++e);
                  r ^= 8;
                  for (let e = 0; e < n; e++) o.push(r);
                  a += n;
                }
              }
              const c = [];
              let l = [],
                h = [],
                u = [];
              const d = [];
              let f = 0,
                g = 0;
              for (let a = 0; a < n; a++) {
                const n = o[a];
                if (2 & n) {
                  const a = t.getUint8(e++);
                  g += 16 & n ? a : -a;
                  l.push(g);
                } else if (16 & n) l.push(g);
                else {
                  g += t.getInt16(e);
                  e += 2;
                  l.push(g);
                }
                if (r[f] === a) {
                  f++;
                  c.push(l);
                  l = [];
                }
              }
              g = 0;
              f = 0;
              for (let a = 0; a < n; a++) {
                const n = o[a];
                if (4 & n) {
                  const a = t.getUint8(e++);
                  g += 32 & n ? a : -a;
                  h.push(g);
                } else if (32 & n) h.push(g);
                else {
                  g += t.getInt16(e);
                  e += 2;
                  h.push(g);
                }
                u.push((1 & n) | (64 & n));
                if (r[f] === a) {
                  l = c[f];
                  f++;
                  d.push(new Contour({ flags: u, xCoordinates: l, yCoordinates: h }));
                  h = [];
                  u = [];
                }
              }
              return new SimpleGlyph({ contours: d, instructions: s });
            }
            getSize() {
              let e = 2 * this.contours.length + 2 + this.instructions.length,
                t = 0,
                a = 0;
              for (const r of this.contours) {
                e += r.flags.length;
                for (let n = 0, i = r.xCoordinates.length; n < i; n++) {
                  const i = r.xCoordinates[n],
                    s = r.yCoordinates[n];
                  let o = Math.abs(i - t);
                  o > 255 ? (e += 2) : o > 0 && (e += 1);
                  t = i;
                  o = Math.abs(s - a);
                  o > 255 ? (e += 2) : o > 0 && (e += 1);
                  a = s;
                }
              }
              return e;
            }
            write(e, t) {
              const a = e,
                r = [],
                n = [],
                i = [];
              let s = 0,
                o = 0;
              for (const a of this.contours) {
                for (let e = 0, t = a.xCoordinates.length; e < t; e++) {
                  let t = a.flags[e];
                  const c = a.xCoordinates[e];
                  let l = c - s;
                  if (0 === l) {
                    t |= 16;
                    r.push(0);
                  } else {
                    const e = Math.abs(l);
                    if (e <= 255) {
                      t |= l >= 0 ? 18 : 2;
                      r.push(e);
                    } else r.push(l);
                  }
                  s = c;
                  const h = a.yCoordinates[e];
                  l = h - o;
                  if (0 === l) {
                    t |= 32;
                    n.push(0);
                  } else {
                    const e = Math.abs(l);
                    if (e <= 255) {
                      t |= l >= 0 ? 36 : 4;
                      n.push(e);
                    } else n.push(l);
                  }
                  o = h;
                  i.push(t);
                }
                t.setUint16(e, r.length - 1);
                e += 2;
              }
              t.setUint16(e, this.instructions.length);
              e += 2;
              if (this.instructions.length) {
                new Uint8Array(t.buffer, 0, t.buffer.byteLength).set(this.instructions, e);
                e += this.instructions.length;
              }
              for (const a of i) t.setUint8(e++, a);
              for (let a = 0, n = r.length; a < n; a++) {
                const n = r[a],
                  s = i[a];
                if (2 & s) t.setUint8(e++, n);
                else if (!(16 & s)) {
                  t.setInt16(e, n);
                  e += 2;
                }
              }
              for (let a = 0, r = n.length; a < r; a++) {
                const r = n[a],
                  s = i[a];
                if (4 & s) t.setUint8(e++, r);
                else if (!(32 & s)) {
                  t.setInt16(e, r);
                  e += 2;
                }
              }
              return e - a;
            }
            scale(e, t) {
              for (const a of this.contours)
                if (0 !== a.xCoordinates.length)
                  for (let r = 0, n = a.xCoordinates.length; r < n; r++)
                    a.xCoordinates[r] = Math.round(e + (a.xCoordinates[r] - e) * t);
            }
          }
          class CompositeGlyph {
            constructor({ flags: e, glyphIndex: t, argument1: a, argument2: r, transf: n, instructions: i }) {
              this.flags = e;
              this.glyphIndex = t;
              this.argument1 = a;
              this.argument2 = r;
              this.transf = n;
              this.instructions = i;
            }
            static parse(e, t) {
              const a = e,
                r = [];
              let n = t.getUint16(e);
              const i = t.getUint16(e + 2);
              e += 4;
              let s, o;
              if (1 & n) {
                if (2 & n) {
                  s = t.getInt16(e);
                  o = t.getInt16(e + 2);
                } else {
                  s = t.getUint16(e);
                  o = t.getUint16(e + 2);
                }
                e += 4;
                n ^= 1;
              } else {
                if (2 & n) {
                  s = t.getInt8(e);
                  o = t.getInt8(e + 1);
                } else {
                  s = t.getUint8(e);
                  o = t.getUint8(e + 1);
                }
                e += 2;
              }
              if (8 & n) {
                r.push(t.getUint16(e));
                e += 2;
              } else if (64 & n) {
                r.push(t.getUint16(e), t.getUint16(e + 2));
                e += 4;
              } else if (128 & n) {
                r.push(t.getUint16(e), t.getUint16(e + 2), t.getUint16(e + 4), t.getUint16(e + 6));
                e += 8;
              }
              let c = null;
              if (256 & n) {
                const a = t.getUint16(e);
                e += 2;
                c = new Uint8Array(t).slice(e, e + a);
                e += a;
              }
              return [
                e - a,
                new CompositeGlyph({ flags: n, glyphIndex: i, argument1: s, argument2: o, transf: r, instructions: c }),
              ];
            }
            getSize() {
              let e = 4 + 2 * this.transf.length;
              256 & this.flags && (e += 2 + this.instructions.length);
              e += 2;
              2 & this.flags
                ? (this.argument1 >= -128 &&
                    this.argument1 <= 127 &&
                    this.argument2 >= -128 &&
                    this.argument2 <= 127) ||
                  (e += 2)
                : (this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255) ||
                  (e += 2);
              return e;
            }
            write(e, t) {
              const a = e;
              2 & this.flags
                ? (this.argument1 >= -128 &&
                    this.argument1 <= 127 &&
                    this.argument2 >= -128 &&
                    this.argument2 <= 127) ||
                  (this.flags |= 1)
                : (this.argument1 >= 0 && this.argument1 <= 255 && this.argument2 >= 0 && this.argument2 <= 255) ||
                  (this.flags |= 1);
              t.setUint16(e, this.flags);
              t.setUint16(e + 2, this.glyphIndex);
              e += 4;
              if (1 & this.flags) {
                if (2 & this.flags) {
                  t.setInt16(e, this.argument1);
                  t.setInt16(e + 2, this.argument2);
                } else {
                  t.setUint16(e, this.argument1);
                  t.setUint16(e + 2, this.argument2);
                }
                e += 4;
              } else {
                t.setUint8(e, this.argument1);
                t.setUint8(e + 1, this.argument2);
                e += 2;
              }
              if (256 & this.flags) {
                t.setUint16(e, this.instructions.length);
                e += 2;
                if (this.instructions.length) {
                  new Uint8Array(t.buffer, 0, t.buffer.byteLength).set(this.instructions, e);
                  e += this.instructions.length;
                }
              }
              return e - a;
            }
            scale(e, t) {}
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.OpenTypeFileBuilder = void 0;
          var r = a(3),
            n = a(2);
          function writeInt16(e, t, a) {
            e[t] = (a >> 8) & 255;
            e[t + 1] = 255 & a;
          }
          function writeInt32(e, t, a) {
            e[t] = (a >> 24) & 255;
            e[t + 1] = (a >> 16) & 255;
            e[t + 2] = (a >> 8) & 255;
            e[t + 3] = 255 & a;
          }
          function writeData(e, t, a) {
            if (a instanceof Uint8Array) e.set(a, t);
            else if ('string' == typeof a) for (let r = 0, n = a.length; r < n; r++) e[t++] = 255 & a.charCodeAt(r);
            else for (const r of a) e[t++] = 255 & r;
          }
          class OpenTypeFileBuilder {
            constructor(e) {
              this.sfnt = e;
              this.tables = Object.create(null);
            }
            static getSearchParams(e, t) {
              let a = 1,
                r = 0;
              for (; (a ^ e) > a; ) {
                a <<= 1;
                r++;
              }
              const n = a * t;
              return { range: n, entry: r, rangeShift: t * e - n };
            }
            toArray() {
              let e = this.sfnt;
              const t = this.tables,
                a = Object.keys(t);
              a.sort();
              const i = a.length;
              let s,
                o,
                c,
                l,
                h,
                u = 12 + 16 * i;
              const d = [u];
              for (s = 0; s < i; s++) {
                l = t[a[s]];
                u += ((l.length + 3) & -4) >>> 0;
                d.push(u);
              }
              const f = new Uint8Array(u);
              for (s = 0; s < i; s++) {
                l = t[a[s]];
                writeData(f, d[s], l);
              }
              'true' === e && (e = (0, n.string32)(65536));
              f[0] = 255 & e.charCodeAt(0);
              f[1] = 255 & e.charCodeAt(1);
              f[2] = 255 & e.charCodeAt(2);
              f[3] = 255 & e.charCodeAt(3);
              writeInt16(f, 4, i);
              const g = OpenTypeFileBuilder.getSearchParams(i, 16);
              writeInt16(f, 6, g.range);
              writeInt16(f, 8, g.entry);
              writeInt16(f, 10, g.rangeShift);
              u = 12;
              for (s = 0; s < i; s++) {
                h = a[s];
                f[u] = 255 & h.charCodeAt(0);
                f[u + 1] = 255 & h.charCodeAt(1);
                f[u + 2] = 255 & h.charCodeAt(2);
                f[u + 3] = 255 & h.charCodeAt(3);
                let e = 0;
                for (o = d[s], c = d[s + 1]; o < c; o += 4) {
                  e = (e + (0, r.readUint32)(f, o)) >>> 0;
                }
                writeInt32(f, u + 4, e);
                writeInt32(f, u + 8, d[s]);
                writeInt32(f, u + 12, t[h].length);
                u += 16;
              }
              return f;
            }
            addTable(e, t) {
              if (e in this.tables) throw new Error('Table ' + e + ' already exists');
              this.tables[e] = t;
            }
          }
          t.OpenTypeFileBuilder = OpenTypeFileBuilder;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Type1Font = void 0;
          var r = a(33),
            n = a(2),
            i = a(36),
            s = a(3),
            o = a(8),
            c = a(47);
          function findBlock(e, t, a) {
            const r = e.length,
              n = t.length,
              i = r - n;
            let o = a,
              c = !1;
            for (; o < i; ) {
              let a = 0;
              for (; a < n && e[o + a] === t[a]; ) a++;
              if (a >= n) {
                o += a;
                for (; o < r && (0, s.isWhiteSpace)(e[o]); ) o++;
                c = !0;
                break;
              }
              o++;
            }
            return { found: c, length: o };
          }
          t.Type1Font = class Type1Font {
            constructor(e, t, a) {
              let r = a.length1,
                s = a.length2,
                l = t.peekBytes(6);
              const h = 128 === l[0] && 1 === l[1];
              if (h) {
                t.skip(6);
                r = (l[5] << 24) | (l[4] << 16) | (l[3] << 8) | l[2];
              }
              const u = (function getHeaderBlock(e, t) {
                const a = [101, 101, 120, 101, 99],
                  r = e.pos;
                let i, s, c, l;
                try {
                  i = e.getBytes(t);
                  s = i.length;
                } catch (e) {}
                if (s === t) {
                  c = findBlock(i, a, t - 2 * a.length);
                  if (c.found && c.length === t) return { stream: new o.Stream(i), length: t };
                }
                (0, n.warn)('Invalid "Length1" property in Type1 font -- trying to recover.');
                e.pos = r;
                for (;;) {
                  c = findBlock(e.peekBytes(2048), a, 0);
                  if (0 === c.length) break;
                  e.pos += c.length;
                  if (c.found) {
                    l = e.pos - r;
                    break;
                  }
                }
                e.pos = r;
                if (l) return { stream: new o.Stream(e.getBytes(l)), length: l };
                (0, n.warn)('Unable to recover "Length1" property in Type1 font -- using as is.');
                return { stream: new o.Stream(e.getBytes(t)), length: t };
              })(t, r);
              new c.Type1Parser(u.stream, !1, i.SEAC_ANALYSIS_ENABLED).extractFontHeader(a);
              if (h) {
                l = t.getBytes(6);
                s = (l[5] << 24) | (l[4] << 16) | (l[3] << 8) | l[2];
              }
              const d = (function getEexecBlock(e, t) {
                  const a = e.getBytes();
                  if (0 === a.length) throw new n.FormatError('getEexecBlock - no font program found.');
                  return { stream: new o.Stream(a), length: a.length };
                })(t),
                f = new c.Type1Parser(d.stream, !0, i.SEAC_ANALYSIS_ENABLED).extractFontProgram(a);
              for (const e in f.properties) a[e] = f.properties[e];
              const g = f.charstrings,
                p = this.getType2Charstrings(g),
                m = this.getType2Subrs(f.subrs);
              this.charstrings = g;
              this.data = this.wrap(e, p, this.charstrings, m, a);
              this.seacs = this.getSeacs(f.charstrings);
            }
            get numGlyphs() {
              return this.charstrings.length + 1;
            }
            getCharset() {
              const e = ['.notdef'];
              for (const { glyphName: t } of this.charstrings) e.push(t);
              return e;
            }
            getGlyphMapping(e) {
              const t = this.charstrings;
              if (e.composite) {
                const a = Object.create(null);
                for (let r = 0, n = t.length; r < n; r++) {
                  a[e.cMap.charCodeOf(r)] = r + 1;
                }
                return a;
              }
              const a = ['.notdef'];
              let r, n;
              for (n = 0; n < t.length; n++) a.push(t[n].glyphName);
              const s = e.builtInEncoding;
              if (s) {
                r = Object.create(null);
                for (const e in s) {
                  n = a.indexOf(s[e]);
                  n >= 0 && (r[e] = n);
                }
              }
              return (0, i.type1FontGlyphMapping)(e, r, a);
            }
            hasGlyphId(e) {
              if (e < 0 || e >= this.numGlyphs) return !1;
              if (0 === e) return !0;
              return this.charstrings[e - 1].charstring.length > 0;
            }
            getSeacs(e) {
              const t = [];
              for (let a = 0, r = e.length; a < r; a++) {
                const r = e[a];
                r.seac && (t[a + 1] = r.seac);
              }
              return t;
            }
            getType2Charstrings(e) {
              const t = [];
              for (const a of e) t.push(a.charstring);
              return t;
            }
            getType2Subrs(e) {
              let t = 0;
              const a = e.length;
              t = a < 1133 ? 107 : a < 33769 ? 1131 : 32768;
              const r = [];
              let n;
              for (n = 0; n < t; n++) r.push([11]);
              for (n = 0; n < a; n++) r.push(e[n]);
              return r;
            }
            wrap(e, t, a, n, i) {
              const s = new r.CFF();
              s.header = new r.CFFHeader(1, 0, 4, 4);
              s.names = [e];
              const o = new r.CFFTopDict();
              o.setByName('version', 391);
              o.setByName('Notice', 392);
              o.setByName('FullName', 393);
              o.setByName('FamilyName', 394);
              o.setByName('Weight', 395);
              o.setByName('Encoding', null);
              o.setByName('FontMatrix', i.fontMatrix);
              o.setByName('FontBBox', i.bbox);
              o.setByName('charset', null);
              o.setByName('CharStrings', null);
              o.setByName('Private', null);
              s.topDict = o;
              const c = new r.CFFStrings();
              c.add('Version 0.11');
              c.add('See original notice');
              c.add(e);
              c.add(e);
              c.add('Medium');
              s.strings = c;
              s.globalSubrIndex = new r.CFFIndex();
              const l = t.length,
                h = ['.notdef'];
              let u, d;
              for (u = 0; u < l; u++) {
                const e = a[u].glyphName;
                -1 === r.CFFStandardStrings.indexOf(e) && c.add(e);
                h.push(e);
              }
              s.charset = new r.CFFCharset(!1, 0, h);
              const f = new r.CFFIndex();
              f.add([139, 14]);
              for (u = 0; u < l; u++) f.add(t[u]);
              s.charStrings = f;
              const g = new r.CFFPrivateDict();
              g.setByName('Subrs', null);
              const p = [
                'BlueValues',
                'OtherBlues',
                'FamilyBlues',
                'FamilyOtherBlues',
                'StemSnapH',
                'StemSnapV',
                'BlueShift',
                'BlueFuzz',
                'BlueScale',
                'LanguageGroup',
                'ExpansionFactor',
                'ForceBold',
                'StdHW',
                'StdVW',
              ];
              for (u = 0, d = p.length; u < d; u++) {
                const e = p[u];
                if (!(e in i.privateData)) continue;
                const t = i.privateData[e];
                if (Array.isArray(t)) for (let e = t.length - 1; e > 0; e--) t[e] -= t[e - 1];
                g.setByName(e, t);
              }
              s.topDict.privateDict = g;
              const m = new r.CFFIndex();
              for (u = 0, d = n.length; u < d; u++) m.add(n[u]);
              g.subrsIndex = m;
              return new r.CFFCompiler(s).compile();
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Type1Parser = void 0;
          var r = a(35),
            n = a(3),
            i = a(8),
            s = a(2);
          const o = [4],
            c = [5],
            l = [6],
            h = [7],
            u = [8],
            d = [12, 35],
            f = [14],
            g = [21],
            p = [22],
            m = [30],
            b = [31];
          class Type1CharString {
            constructor() {
              this.width = 0;
              this.lsb = 0;
              this.flexing = !1;
              this.output = [];
              this.stack = [];
            }
            convert(e, t, a) {
              const r = e.length;
              let n,
                i,
                y,
                w = !1;
              for (let S = 0; S < r; S++) {
                let r = e[S];
                if (r < 32) {
                  12 === r && (r = (r << 8) + e[++S]);
                  switch (r) {
                    case 1:
                    case 3:
                    case 9:
                    case 3072:
                    case 3073:
                    case 3074:
                    case 3105:
                      this.stack = [];
                      break;
                    case 4:
                      if (this.flexing) {
                        if (this.stack.length < 1) {
                          w = !0;
                          break;
                        }
                        const e = this.stack.pop();
                        this.stack.push(0, e);
                        break;
                      }
                      w = this.executeCommand(1, o);
                      break;
                    case 5:
                      w = this.executeCommand(2, c);
                      break;
                    case 6:
                      w = this.executeCommand(1, l);
                      break;
                    case 7:
                      w = this.executeCommand(1, h);
                      break;
                    case 8:
                      w = this.executeCommand(6, u);
                      break;
                    case 10:
                      if (this.stack.length < 1) {
                        w = !0;
                        break;
                      }
                      y = this.stack.pop();
                      if (!t[y]) {
                        w = !0;
                        break;
                      }
                      w = this.convert(t[y], t, a);
                      break;
                    case 11:
                      return w;
                    case 13:
                      if (this.stack.length < 2) {
                        w = !0;
                        break;
                      }
                      n = this.stack.pop();
                      i = this.stack.pop();
                      this.lsb = i;
                      this.width = n;
                      this.stack.push(n, i);
                      w = this.executeCommand(2, p);
                      break;
                    case 14:
                      this.output.push(f[0]);
                      break;
                    case 21:
                      if (this.flexing) break;
                      w = this.executeCommand(2, g);
                      break;
                    case 22:
                      if (this.flexing) {
                        this.stack.push(0);
                        break;
                      }
                      w = this.executeCommand(1, p);
                      break;
                    case 30:
                      w = this.executeCommand(4, m);
                      break;
                    case 31:
                      w = this.executeCommand(4, b);
                      break;
                    case 3078:
                      if (a) {
                        const e = this.stack.at(-5);
                        this.seac = this.stack.splice(-4, 4);
                        this.seac[0] += this.lsb - e;
                        w = this.executeCommand(0, f);
                      } else w = this.executeCommand(4, f);
                      break;
                    case 3079:
                      if (this.stack.length < 4) {
                        w = !0;
                        break;
                      }
                      this.stack.pop();
                      n = this.stack.pop();
                      const e = this.stack.pop();
                      i = this.stack.pop();
                      this.lsb = i;
                      this.width = n;
                      this.stack.push(n, i, e);
                      w = this.executeCommand(3, g);
                      break;
                    case 3084:
                      if (this.stack.length < 2) {
                        w = !0;
                        break;
                      }
                      const S = this.stack.pop(),
                        x = this.stack.pop();
                      this.stack.push(x / S);
                      break;
                    case 3088:
                      if (this.stack.length < 2) {
                        w = !0;
                        break;
                      }
                      y = this.stack.pop();
                      const C = this.stack.pop();
                      if (0 === y && 3 === C) {
                        const e = this.stack.splice(this.stack.length - 17, 17);
                        this.stack.push(
                          e[2] + e[0],
                          e[3] + e[1],
                          e[4],
                          e[5],
                          e[6],
                          e[7],
                          e[8],
                          e[9],
                          e[10],
                          e[11],
                          e[12],
                          e[13],
                          e[14]
                        );
                        w = this.executeCommand(13, d, !0);
                        this.flexing = !1;
                        this.stack.push(e[15], e[16]);
                      } else 1 === y && 0 === C && (this.flexing = !0);
                      break;
                    case 3089:
                      break;
                    default:
                      (0, s.warn)('Unknown type 1 charstring command of "' + r + '"');
                  }
                  if (w) break;
                } else {
                  r <= 246
                    ? (r -= 139)
                    : (r =
                        r <= 250
                          ? 256 * (r - 247) + e[++S] + 108
                          : r <= 254
                          ? -256 * (r - 251) - e[++S] - 108
                          : ((255 & e[++S]) << 24) |
                            ((255 & e[++S]) << 16) |
                            ((255 & e[++S]) << 8) |
                            ((255 & e[++S]) << 0));
                  this.stack.push(r);
                }
              }
              return w;
            }
            executeCommand(e, t, a) {
              const r = this.stack.length;
              if (e > r) return !0;
              const n = r - e;
              for (let e = n; e < r; e++) {
                let t = this.stack[e];
                if (Number.isInteger(t)) this.output.push(28, (t >> 8) & 255, 255 & t);
                else {
                  t = (65536 * t) | 0;
                  this.output.push(255, (t >> 24) & 255, (t >> 16) & 255, (t >> 8) & 255, 255 & t);
                }
              }
              this.output.push(...t);
              a ? this.stack.splice(n, e) : (this.stack.length = 0);
              return !1;
            }
          }
          function isHexDigit(e) {
            return (e >= 48 && e <= 57) || (e >= 65 && e <= 70) || (e >= 97 && e <= 102);
          }
          function decrypt(e, t, a) {
            if (a >= e.length) return new Uint8Array(0);
            let r,
              n,
              i = 0 | t;
            for (r = 0; r < a; r++) i = (52845 * (e[r] + i) + 22719) & 65535;
            const s = e.length - a,
              o = new Uint8Array(s);
            for (r = a, n = 0; n < s; r++, n++) {
              const t = e[r];
              o[n] = t ^ (i >> 8);
              i = (52845 * (t + i) + 22719) & 65535;
            }
            return o;
          }
          function isSpecial(e) {
            return 47 === e || 91 === e || 93 === e || 123 === e || 125 === e || 40 === e || 41 === e;
          }
          t.Type1Parser = class Type1Parser {
            constructor(e, t, a) {
              if (t) {
                const t = e.getBytes(),
                  a = !(
                    (isHexDigit(t[0]) || (0, n.isWhiteSpace)(t[0])) &&
                    isHexDigit(t[1]) &&
                    isHexDigit(t[2]) &&
                    isHexDigit(t[3]) &&
                    isHexDigit(t[4]) &&
                    isHexDigit(t[5]) &&
                    isHexDigit(t[6]) &&
                    isHexDigit(t[7])
                  );
                e = new i.Stream(
                  a
                    ? decrypt(t, 55665, 4)
                    : (function decryptAscii(e, t, a) {
                        let r = 0 | t;
                        const n = e.length,
                          i = new Uint8Array(n >>> 1);
                        let s, o;
                        for (s = 0, o = 0; s < n; s++) {
                          const t = e[s];
                          if (!isHexDigit(t)) continue;
                          s++;
                          let a;
                          for (; s < n && !isHexDigit((a = e[s])); ) s++;
                          if (s < n) {
                            const e = parseInt(String.fromCharCode(t, a), 16);
                            i[o++] = e ^ (r >> 8);
                            r = (52845 * (e + r) + 22719) & 65535;
                          }
                        }
                        return i.slice(a, o);
                      })(t, 55665, 4)
                );
              }
              this.seacAnalysisEnabled = !!a;
              this.stream = e;
              this.nextChar();
            }
            readNumberArray() {
              this.getToken();
              const e = [];
              for (;;) {
                const t = this.getToken();
                if (null === t || ']' === t || '}' === t) break;
                e.push(parseFloat(t || 0));
              }
              return e;
            }
            readNumber() {
              const e = this.getToken();
              return parseFloat(e || 0);
            }
            readInt() {
              const e = this.getToken();
              return 0 | parseInt(e || 0, 10);
            }
            readBoolean() {
              return 'true' === this.getToken() ? 1 : 0;
            }
            nextChar() {
              return (this.currentChar = this.stream.getByte());
            }
            prevChar() {
              this.stream.skip(-2);
              return (this.currentChar = this.stream.getByte());
            }
            getToken() {
              let e = !1,
                t = this.currentChar;
              for (;;) {
                if (-1 === t) return null;
                if (e) (10 !== t && 13 !== t) || (e = !1);
                else if (37 === t) e = !0;
                else if (!(0, n.isWhiteSpace)(t)) break;
                t = this.nextChar();
              }
              if (isSpecial(t)) {
                this.nextChar();
                return String.fromCharCode(t);
              }
              let a = '';
              do {
                a += String.fromCharCode(t);
                t = this.nextChar();
              } while (t >= 0 && !(0, n.isWhiteSpace)(t) && !isSpecial(t));
              return a;
            }
            readCharStrings(e, t) {
              return -1 === t ? e : decrypt(e, 4330, t);
            }
            extractFontProgram(e) {
              const t = this.stream,
                a = [],
                r = [],
                n = Object.create(null);
              n.lenIV = 4;
              const i = { subrs: [], charstrings: [], properties: { privateData: n } };
              let s, o, c, l;
              for (; null !== (s = this.getToken()); )
                if ('/' === s) {
                  s = this.getToken();
                  switch (s) {
                    case 'CharStrings':
                      this.getToken();
                      this.getToken();
                      this.getToken();
                      this.getToken();
                      for (;;) {
                        s = this.getToken();
                        if (null === s || 'end' === s) break;
                        if ('/' !== s) continue;
                        const e = this.getToken();
                        o = this.readInt();
                        this.getToken();
                        c = o > 0 ? t.getBytes(o) : new Uint8Array(0);
                        l = i.properties.privateData.lenIV;
                        const a = this.readCharStrings(c, l);
                        this.nextChar();
                        s = this.getToken();
                        'noaccess' === s ? this.getToken() : '/' === s && this.prevChar();
                        r.push({ glyph: e, encoded: a });
                      }
                      break;
                    case 'Subrs':
                      this.readInt();
                      this.getToken();
                      for (; 'dup' === this.getToken(); ) {
                        const e = this.readInt();
                        o = this.readInt();
                        this.getToken();
                        c = o > 0 ? t.getBytes(o) : new Uint8Array(0);
                        l = i.properties.privateData.lenIV;
                        const r = this.readCharStrings(c, l);
                        this.nextChar();
                        s = this.getToken();
                        'noaccess' === s && this.getToken();
                        a[e] = r;
                      }
                      break;
                    case 'BlueValues':
                    case 'OtherBlues':
                    case 'FamilyBlues':
                    case 'FamilyOtherBlues':
                      const e = this.readNumberArray();
                      e.length > 0 && e.length, 0;
                      break;
                    case 'StemSnapH':
                    case 'StemSnapV':
                      i.properties.privateData[s] = this.readNumberArray();
                      break;
                    case 'StdHW':
                    case 'StdVW':
                      i.properties.privateData[s] = this.readNumberArray()[0];
                      break;
                    case 'BlueShift':
                    case 'lenIV':
                    case 'BlueFuzz':
                    case 'BlueScale':
                    case 'LanguageGroup':
                      i.properties.privateData[s] = this.readNumber();
                      break;
                    case 'ExpansionFactor':
                      i.properties.privateData[s] = this.readNumber() || 0.06;
                      break;
                    case 'ForceBold':
                      i.properties.privateData[s] = this.readBoolean();
                  }
                }
              for (const { encoded: t, glyph: n } of r) {
                const r = new Type1CharString(),
                  s = r.convert(t, a, this.seacAnalysisEnabled);
                let o = r.output;
                s && (o = [14]);
                const c = { glyphName: n, charstring: o, width: r.width, lsb: r.lsb, seac: r.seac };
                '.notdef' === n ? i.charstrings.unshift(c) : i.charstrings.push(c);
                if (e.builtInEncoding) {
                  const t = e.builtInEncoding.indexOf(n);
                  t > -1 && void 0 === e.widths[t] && t >= e.firstChar && t <= e.lastChar && (e.widths[t] = r.width);
                }
              }
              return i;
            }
            extractFontHeader(e) {
              let t;
              for (; null !== (t = this.getToken()); )
                if ('/' === t) {
                  t = this.getToken();
                  switch (t) {
                    case 'FontMatrix':
                      const a = this.readNumberArray();
                      e.fontMatrix = a;
                      break;
                    case 'Encoding':
                      const n = this.getToken();
                      let i;
                      if (/^\d+$/.test(n)) {
                        i = [];
                        const e = 0 | parseInt(n, 10);
                        this.getToken();
                        for (let a = 0; a < e; a++) {
                          t = this.getToken();
                          for (; 'dup' !== t && 'def' !== t; ) {
                            t = this.getToken();
                            if (null === t) return;
                          }
                          if ('def' === t) break;
                          const e = this.readInt();
                          this.getToken();
                          const a = this.getToken();
                          i[e] = a;
                          this.getToken();
                        }
                      } else i = (0, r.getEncoding)(n);
                      e.builtInEncoding = i;
                      break;
                    case 'FontBBox':
                      const s = this.readNumberArray();
                      e.ascent = Math.max(s[3], s[1]);
                      e.descent = Math.min(s[1], s[3]);
                      e.ascentScaled = !0;
                  }
                }
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Pattern = void 0;
          t.getTilingPatternIR = function getTilingPatternIR(e, t, a) {
            const n = t.getArray('Matrix'),
              i = r.Util.normalizeRect(t.getArray('BBox')),
              s = t.get('XStep'),
              o = t.get('YStep'),
              c = t.get('PaintType'),
              l = t.get('TilingType');
            if (i[2] - i[0] == 0 || i[3] - i[1] == 0)
              throw new r.FormatError(`Invalid getTilingPatternIR /BBox array: [${i}].`);
            return ['TilingPattern', a, e, n, i, s, o, c, l];
          };
          var r = a(2),
            n = a(5),
            i = a(12),
            s = a(3);
          const o = 2,
            c = 3,
            l = 4,
            h = 5,
            u = 6,
            d = 7;
          t.Pattern = class Pattern {
            constructor() {
              (0, r.unreachable)('Cannot initialize Pattern.');
            }
            static parseShading(e, t, a, i, f, g) {
              const p = e instanceof n.BaseStream ? e.dict : e,
                m = p.get('ShadingType');
              try {
                switch (m) {
                  case o:
                  case c:
                    return new RadialAxialShading(p, t, a, f, g);
                  case l:
                  case h:
                  case u:
                  case d:
                    return new MeshShading(e, t, a, f, g);
                  default:
                    throw new r.FormatError('Unsupported ShadingType: ' + m);
                }
              } catch (e) {
                if (e instanceof s.MissingDataException) throw e;
                i.send('UnsupportedFeature', { featureId: r.UNSUPPORTED_FEATURES.shadingPattern });
                (0, r.warn)(e);
                return new DummyShading();
              }
            }
          };
          class BaseShading {
            static get SMALL_NUMBER() {
              return (0, r.shadow)(this, 'SMALL_NUMBER', 1e-6);
            }
            constructor() {
              this.constructor === BaseShading && (0, r.unreachable)('Cannot initialize BaseShading.');
            }
            getIR() {
              (0, r.unreachable)('Abstract method `getIR` called.');
            }
          }
          class RadialAxialShading extends BaseShading {
            constructor(e, t, a, n, s) {
              super();
              this.coordsArr = e.getArray('Coords');
              this.shadingType = e.get('ShadingType');
              const o = i.ColorSpace.parse({
                  cs: e.getRaw('CS') || e.getRaw('ColorSpace'),
                  xref: t,
                  resources: a,
                  pdfFunctionFactory: n,
                  localColorSpaceCache: s,
                }),
                l = e.getArray('BBox');
              Array.isArray(l) && 4 === l.length ? (this.bbox = r.Util.normalizeRect(l)) : (this.bbox = null);
              let h = 0,
                u = 1;
              if (e.has('Domain')) {
                const t = e.getArray('Domain');
                h = t[0];
                u = t[1];
              }
              let d = !1,
                f = !1;
              if (e.has('Extend')) {
                const t = e.getArray('Extend');
                d = t[0];
                f = t[1];
              }
              if (!(this.shadingType !== c || (d && f))) {
                const [e, t, a, n, i, s] = this.coordsArr,
                  o = Math.hypot(e - n, t - i);
                a <= s + o && s <= a + o && (0, r.warn)('Unsupported radial gradient.');
              }
              this.extendStart = d;
              this.extendEnd = f;
              const g = e.getRaw('Function'),
                p = n.createFromArray(g),
                m = (u - h) / 10,
                b = (this.colorStops = []);
              if (h >= u || m <= 0) {
                (0, r.info)('Bad shading domain.');
                return;
              }
              const y = new Float32Array(o.numComps),
                w = new Float32Array(1);
              let S;
              for (let e = 0; e <= 10; e++) {
                w[0] = h + e * m;
                p(w, 0, y, 0);
                S = o.getRgb(y, 0);
                const t = r.Util.makeHexColor(S[0], S[1], S[2]);
                b.push([e / 10, t]);
              }
              let x = 'transparent';
              if (e.has('Background')) {
                S = o.getRgb(e.get('Background'), 0);
                x = r.Util.makeHexColor(S[0], S[1], S[2]);
              }
              if (!d) {
                b.unshift([0, x]);
                b[1][0] += BaseShading.SMALL_NUMBER;
              }
              if (!f) {
                b.at(-1)[0] -= BaseShading.SMALL_NUMBER;
                b.push([1, x]);
              }
              this.colorStops = b;
            }
            getIR() {
              const e = this.coordsArr,
                t = this.shadingType;
              let a, n, i, s, l;
              if (t === o) {
                n = [e[0], e[1]];
                i = [e[2], e[3]];
                s = null;
                l = null;
                a = 'axial';
              } else if (t === c) {
                n = [e[0], e[1]];
                i = [e[3], e[4]];
                s = e[2];
                l = e[5];
                a = 'radial';
              } else (0, r.unreachable)(`getPattern type unknown: ${t}`);
              return ['RadialAxial', a, this.bbox, this.colorStops, n, i, s, l];
            }
          }
          class MeshStreamReader {
            constructor(e, t) {
              this.stream = e;
              this.context = t;
              this.buffer = 0;
              this.bufferLength = 0;
              const a = t.numComps;
              this.tmpCompsBuf = new Float32Array(a);
              const r = t.colorSpace.numComps;
              this.tmpCsCompsBuf = t.colorFn ? new Float32Array(r) : this.tmpCompsBuf;
            }
            get hasData() {
              if (this.stream.end) return this.stream.pos < this.stream.end;
              if (this.bufferLength > 0) return !0;
              const e = this.stream.getByte();
              if (e < 0) return !1;
              this.buffer = e;
              this.bufferLength = 8;
              return !0;
            }
            readBits(e) {
              let t = this.buffer,
                a = this.bufferLength;
              if (32 === e) {
                if (0 === a)
                  return (
                    ((this.stream.getByte() << 24) |
                      (this.stream.getByte() << 16) |
                      (this.stream.getByte() << 8) |
                      this.stream.getByte()) >>>
                    0
                  );
                t = (t << 24) | (this.stream.getByte() << 16) | (this.stream.getByte() << 8) | this.stream.getByte();
                const e = this.stream.getByte();
                this.buffer = e & ((1 << a) - 1);
                return ((t << (8 - a)) | ((255 & e) >> a)) >>> 0;
              }
              if (8 === e && 0 === a) return this.stream.getByte();
              for (; a < e; ) {
                t = (t << 8) | this.stream.getByte();
                a += 8;
              }
              a -= e;
              this.bufferLength = a;
              this.buffer = t & ((1 << a) - 1);
              return t >> a;
            }
            align() {
              this.buffer = 0;
              this.bufferLength = 0;
            }
            readFlag() {
              return this.readBits(this.context.bitsPerFlag);
            }
            readCoordinate() {
              const e = this.context.bitsPerCoordinate,
                t = this.readBits(e),
                a = this.readBits(e),
                r = this.context.decode,
                n = e < 32 ? 1 / ((1 << e) - 1) : 2.3283064365386963e-10;
              return [t * n * (r[1] - r[0]) + r[0], a * n * (r[3] - r[2]) + r[2]];
            }
            readComponents() {
              const e = this.context.numComps,
                t = this.context.bitsPerComponent,
                a = t < 32 ? 1 / ((1 << t) - 1) : 2.3283064365386963e-10,
                r = this.context.decode,
                n = this.tmpCompsBuf;
              for (let i = 0, s = 4; i < e; i++, s += 2) {
                const e = this.readBits(t);
                n[i] = e * a * (r[s + 1] - r[s]) + r[s];
              }
              const i = this.tmpCsCompsBuf;
              this.context.colorFn && this.context.colorFn(n, 0, i, 0);
              return this.context.colorSpace.getRgb(i, 0);
            }
          }
          const f = (function getBClosure() {
            const e = [];
            return function (t) {
              e[t] ||
                (e[t] = (function buildB(e) {
                  const t = [];
                  for (let a = 0; a <= e; a++) {
                    const r = a / e,
                      n = 1 - r;
                    t.push(new Float32Array([n * n * n, 3 * r * n * n, 3 * r * r * n, r * r * r]));
                  }
                  return t;
                })(t));
              return e[t];
            };
          })();
          class MeshShading extends BaseShading {
            static get MIN_SPLIT_PATCH_CHUNKS_AMOUNT() {
              return (0, r.shadow)(this, 'MIN_SPLIT_PATCH_CHUNKS_AMOUNT', 3);
            }
            static get MAX_SPLIT_PATCH_CHUNKS_AMOUNT() {
              return (0, r.shadow)(this, 'MAX_SPLIT_PATCH_CHUNKS_AMOUNT', 20);
            }
            static get TRIANGLE_DENSITY() {
              return (0, r.shadow)(this, 'TRIANGLE_DENSITY', 20);
            }
            constructor(e, t, a, s, o) {
              super();
              if (!(e instanceof n.BaseStream)) throw new r.FormatError('Mesh data is not a stream');
              const c = e.dict;
              this.shadingType = c.get('ShadingType');
              const f = c.getArray('BBox');
              Array.isArray(f) && 4 === f.length ? (this.bbox = r.Util.normalizeRect(f)) : (this.bbox = null);
              const g = i.ColorSpace.parse({
                cs: c.getRaw('CS') || c.getRaw('ColorSpace'),
                xref: t,
                resources: a,
                pdfFunctionFactory: s,
                localColorSpaceCache: o,
              });
              this.background = c.has('Background') ? g.getRgb(c.get('Background'), 0) : null;
              const p = c.getRaw('Function'),
                m = p ? s.createFromArray(p) : null;
              this.coords = [];
              this.colors = [];
              this.figures = [];
              const b = {
                  bitsPerCoordinate: c.get('BitsPerCoordinate'),
                  bitsPerComponent: c.get('BitsPerComponent'),
                  bitsPerFlag: c.get('BitsPerFlag'),
                  decode: c.getArray('Decode'),
                  colorFn: m,
                  colorSpace: g,
                  numComps: m ? 1 : g.numComps,
                },
                y = new MeshStreamReader(e, b);
              let w = !1;
              switch (this.shadingType) {
                case l:
                  this._decodeType4Shading(y);
                  break;
                case h:
                  const e = 0 | c.get('VerticesPerRow');
                  if (e < 2) throw new r.FormatError('Invalid VerticesPerRow');
                  this._decodeType5Shading(y, e);
                  break;
                case u:
                  this._decodeType6Shading(y);
                  w = !0;
                  break;
                case d:
                  this._decodeType7Shading(y);
                  w = !0;
                  break;
                default:
                  (0, r.unreachable)('Unsupported mesh type.');
              }
              if (w) {
                this._updateBounds();
                for (let e = 0, t = this.figures.length; e < t; e++) this._buildFigureFromPatch(e);
              }
              this._updateBounds();
              this._packData();
            }
            _decodeType4Shading(e) {
              const t = this.coords,
                a = this.colors,
                n = [],
                i = [];
              let s = 0;
              for (; e.hasData; ) {
                const o = e.readFlag(),
                  c = e.readCoordinate(),
                  l = e.readComponents();
                if (0 === s) {
                  if (!(0 <= o && o <= 2)) throw new r.FormatError('Unknown type4 flag');
                  switch (o) {
                    case 0:
                      s = 3;
                      break;
                    case 1:
                      i.push(i.at(-2), i.at(-1));
                      s = 1;
                      break;
                    case 2:
                      i.push(i.at(-3), i.at(-1));
                      s = 1;
                  }
                  n.push(o);
                }
                i.push(t.length);
                t.push(c);
                a.push(l);
                s--;
                e.align();
              }
              this.figures.push({ type: 'triangles', coords: new Int32Array(i), colors: new Int32Array(i) });
            }
            _decodeType5Shading(e, t) {
              const a = this.coords,
                r = this.colors,
                n = [];
              for (; e.hasData; ) {
                const t = e.readCoordinate(),
                  i = e.readComponents();
                n.push(a.length);
                a.push(t);
                r.push(i);
              }
              this.figures.push({
                type: 'lattice',
                coords: new Int32Array(n),
                colors: new Int32Array(n),
                verticesPerRow: t,
              });
            }
            _decodeType6Shading(e) {
              const t = this.coords,
                a = this.colors,
                n = new Int32Array(16),
                i = new Int32Array(4);
              for (; e.hasData; ) {
                const s = e.readFlag();
                if (!(0 <= s && s <= 3)) throw new r.FormatError('Unknown type6 flag');
                const o = t.length;
                for (let a = 0, r = 0 !== s ? 8 : 12; a < r; a++) t.push(e.readCoordinate());
                const c = a.length;
                for (let t = 0, r = 0 !== s ? 2 : 4; t < r; t++) a.push(e.readComponents());
                let l, h, u, d;
                switch (s) {
                  case 0:
                    n[12] = o + 3;
                    n[13] = o + 4;
                    n[14] = o + 5;
                    n[15] = o + 6;
                    n[8] = o + 2;
                    n[11] = o + 7;
                    n[4] = o + 1;
                    n[7] = o + 8;
                    n[0] = o;
                    n[1] = o + 11;
                    n[2] = o + 10;
                    n[3] = o + 9;
                    i[2] = c + 1;
                    i[3] = c + 2;
                    i[0] = c;
                    i[1] = c + 3;
                    break;
                  case 1:
                    l = n[12];
                    h = n[13];
                    u = n[14];
                    d = n[15];
                    n[12] = d;
                    n[13] = o + 0;
                    n[14] = o + 1;
                    n[15] = o + 2;
                    n[8] = u;
                    n[11] = o + 3;
                    n[4] = h;
                    n[7] = o + 4;
                    n[0] = l;
                    n[1] = o + 7;
                    n[2] = o + 6;
                    n[3] = o + 5;
                    l = i[2];
                    h = i[3];
                    i[2] = h;
                    i[3] = c;
                    i[0] = l;
                    i[1] = c + 1;
                    break;
                  case 2:
                    l = n[15];
                    h = n[11];
                    n[12] = n[3];
                    n[13] = o + 0;
                    n[14] = o + 1;
                    n[15] = o + 2;
                    n[8] = n[7];
                    n[11] = o + 3;
                    n[4] = h;
                    n[7] = o + 4;
                    n[0] = l;
                    n[1] = o + 7;
                    n[2] = o + 6;
                    n[3] = o + 5;
                    l = i[3];
                    i[2] = i[1];
                    i[3] = c;
                    i[0] = l;
                    i[1] = c + 1;
                    break;
                  case 3:
                    n[12] = n[0];
                    n[13] = o + 0;
                    n[14] = o + 1;
                    n[15] = o + 2;
                    n[8] = n[1];
                    n[11] = o + 3;
                    n[4] = n[2];
                    n[7] = o + 4;
                    n[0] = n[3];
                    n[1] = o + 7;
                    n[2] = o + 6;
                    n[3] = o + 5;
                    i[2] = i[0];
                    i[3] = c;
                    i[0] = i[1];
                    i[1] = c + 1;
                }
                n[5] = t.length;
                t.push([
                  (-4 * t[n[0]][0] -
                    t[n[15]][0] +
                    6 * (t[n[4]][0] + t[n[1]][0]) -
                    2 * (t[n[12]][0] + t[n[3]][0]) +
                    3 * (t[n[13]][0] + t[n[7]][0])) /
                    9,
                  (-4 * t[n[0]][1] -
                    t[n[15]][1] +
                    6 * (t[n[4]][1] + t[n[1]][1]) -
                    2 * (t[n[12]][1] + t[n[3]][1]) +
                    3 * (t[n[13]][1] + t[n[7]][1])) /
                    9,
                ]);
                n[6] = t.length;
                t.push([
                  (-4 * t[n[3]][0] -
                    t[n[12]][0] +
                    6 * (t[n[2]][0] + t[n[7]][0]) -
                    2 * (t[n[0]][0] + t[n[15]][0]) +
                    3 * (t[n[4]][0] + t[n[14]][0])) /
                    9,
                  (-4 * t[n[3]][1] -
                    t[n[12]][1] +
                    6 * (t[n[2]][1] + t[n[7]][1]) -
                    2 * (t[n[0]][1] + t[n[15]][1]) +
                    3 * (t[n[4]][1] + t[n[14]][1])) /
                    9,
                ]);
                n[9] = t.length;
                t.push([
                  (-4 * t[n[12]][0] -
                    t[n[3]][0] +
                    6 * (t[n[8]][0] + t[n[13]][0]) -
                    2 * (t[n[0]][0] + t[n[15]][0]) +
                    3 * (t[n[11]][0] + t[n[1]][0])) /
                    9,
                  (-4 * t[n[12]][1] -
                    t[n[3]][1] +
                    6 * (t[n[8]][1] + t[n[13]][1]) -
                    2 * (t[n[0]][1] + t[n[15]][1]) +
                    3 * (t[n[11]][1] + t[n[1]][1])) /
                    9,
                ]);
                n[10] = t.length;
                t.push([
                  (-4 * t[n[15]][0] -
                    t[n[0]][0] +
                    6 * (t[n[11]][0] + t[n[14]][0]) -
                    2 * (t[n[12]][0] + t[n[3]][0]) +
                    3 * (t[n[2]][0] + t[n[8]][0])) /
                    9,
                  (-4 * t[n[15]][1] -
                    t[n[0]][1] +
                    6 * (t[n[11]][1] + t[n[14]][1]) -
                    2 * (t[n[12]][1] + t[n[3]][1]) +
                    3 * (t[n[2]][1] + t[n[8]][1])) /
                    9,
                ]);
                this.figures.push({ type: 'patch', coords: new Int32Array(n), colors: new Int32Array(i) });
              }
            }
            _decodeType7Shading(e) {
              const t = this.coords,
                a = this.colors,
                n = new Int32Array(16),
                i = new Int32Array(4);
              for (; e.hasData; ) {
                const s = e.readFlag();
                if (!(0 <= s && s <= 3)) throw new r.FormatError('Unknown type7 flag');
                const o = t.length;
                for (let a = 0, r = 0 !== s ? 12 : 16; a < r; a++) t.push(e.readCoordinate());
                const c = a.length;
                for (let t = 0, r = 0 !== s ? 2 : 4; t < r; t++) a.push(e.readComponents());
                let l, h, u, d;
                switch (s) {
                  case 0:
                    n[12] = o + 3;
                    n[13] = o + 4;
                    n[14] = o + 5;
                    n[15] = o + 6;
                    n[8] = o + 2;
                    n[9] = o + 13;
                    n[10] = o + 14;
                    n[11] = o + 7;
                    n[4] = o + 1;
                    n[5] = o + 12;
                    n[6] = o + 15;
                    n[7] = o + 8;
                    n[0] = o;
                    n[1] = o + 11;
                    n[2] = o + 10;
                    n[3] = o + 9;
                    i[2] = c + 1;
                    i[3] = c + 2;
                    i[0] = c;
                    i[1] = c + 3;
                    break;
                  case 1:
                    l = n[12];
                    h = n[13];
                    u = n[14];
                    d = n[15];
                    n[12] = d;
                    n[13] = o + 0;
                    n[14] = o + 1;
                    n[15] = o + 2;
                    n[8] = u;
                    n[9] = o + 9;
                    n[10] = o + 10;
                    n[11] = o + 3;
                    n[4] = h;
                    n[5] = o + 8;
                    n[6] = o + 11;
                    n[7] = o + 4;
                    n[0] = l;
                    n[1] = o + 7;
                    n[2] = o + 6;
                    n[3] = o + 5;
                    l = i[2];
                    h = i[3];
                    i[2] = h;
                    i[3] = c;
                    i[0] = l;
                    i[1] = c + 1;
                    break;
                  case 2:
                    l = n[15];
                    h = n[11];
                    n[12] = n[3];
                    n[13] = o + 0;
                    n[14] = o + 1;
                    n[15] = o + 2;
                    n[8] = n[7];
                    n[9] = o + 9;
                    n[10] = o + 10;
                    n[11] = o + 3;
                    n[4] = h;
                    n[5] = o + 8;
                    n[6] = o + 11;
                    n[7] = o + 4;
                    n[0] = l;
                    n[1] = o + 7;
                    n[2] = o + 6;
                    n[3] = o + 5;
                    l = i[3];
                    i[2] = i[1];
                    i[3] = c;
                    i[0] = l;
                    i[1] = c + 1;
                    break;
                  case 3:
                    n[12] = n[0];
                    n[13] = o + 0;
                    n[14] = o + 1;
                    n[15] = o + 2;
                    n[8] = n[1];
                    n[9] = o + 9;
                    n[10] = o + 10;
                    n[11] = o + 3;
                    n[4] = n[2];
                    n[5] = o + 8;
                    n[6] = o + 11;
                    n[7] = o + 4;
                    n[0] = n[3];
                    n[1] = o + 7;
                    n[2] = o + 6;
                    n[3] = o + 5;
                    i[2] = i[0];
                    i[3] = c;
                    i[0] = i[1];
                    i[1] = c + 1;
                }
                this.figures.push({ type: 'patch', coords: new Int32Array(n), colors: new Int32Array(i) });
              }
            }
            _buildFigureFromPatch(e) {
              const t = this.figures[e];
              (0, r.assert)('patch' === t.type, 'Unexpected patch mesh figure');
              const a = this.coords,
                n = this.colors,
                i = t.coords,
                s = t.colors,
                o = Math.min(a[i[0]][0], a[i[3]][0], a[i[12]][0], a[i[15]][0]),
                c = Math.min(a[i[0]][1], a[i[3]][1], a[i[12]][1], a[i[15]][1]),
                l = Math.max(a[i[0]][0], a[i[3]][0], a[i[12]][0], a[i[15]][0]),
                h = Math.max(a[i[0]][1], a[i[3]][1], a[i[12]][1], a[i[15]][1]);
              let u = Math.ceil(((l - o) * MeshShading.TRIANGLE_DENSITY) / (this.bounds[2] - this.bounds[0]));
              u = Math.max(
                MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,
                Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, u)
              );
              let d = Math.ceil(((h - c) * MeshShading.TRIANGLE_DENSITY) / (this.bounds[3] - this.bounds[1]));
              d = Math.max(
                MeshShading.MIN_SPLIT_PATCH_CHUNKS_AMOUNT,
                Math.min(MeshShading.MAX_SPLIT_PATCH_CHUNKS_AMOUNT, d)
              );
              const g = u + 1,
                p = new Int32Array((d + 1) * g),
                m = new Int32Array((d + 1) * g);
              let b = 0;
              const y = new Uint8Array(3),
                w = new Uint8Array(3),
                S = n[s[0]],
                x = n[s[1]],
                C = n[s[2]],
                k = n[s[3]],
                v = f(d),
                F = f(u);
              for (let e = 0; e <= d; e++) {
                y[0] = ((S[0] * (d - e) + C[0] * e) / d) | 0;
                y[1] = ((S[1] * (d - e) + C[1] * e) / d) | 0;
                y[2] = ((S[2] * (d - e) + C[2] * e) / d) | 0;
                w[0] = ((x[0] * (d - e) + k[0] * e) / d) | 0;
                w[1] = ((x[1] * (d - e) + k[1] * e) / d) | 0;
                w[2] = ((x[2] * (d - e) + k[2] * e) / d) | 0;
                for (let t = 0; t <= u; t++, b++) {
                  if (!((0 !== e && e !== d) || (0 !== t && t !== u))) continue;
                  let r = 0,
                    s = 0,
                    o = 0;
                  for (let n = 0; n <= 3; n++)
                    for (let c = 0; c <= 3; c++, o++) {
                      const l = v[e][n] * F[t][c];
                      r += a[i[o]][0] * l;
                      s += a[i[o]][1] * l;
                    }
                  p[b] = a.length;
                  a.push([r, s]);
                  m[b] = n.length;
                  const c = new Uint8Array(3);
                  c[0] = ((y[0] * (u - t) + w[0] * t) / u) | 0;
                  c[1] = ((y[1] * (u - t) + w[1] * t) / u) | 0;
                  c[2] = ((y[2] * (u - t) + w[2] * t) / u) | 0;
                  n.push(c);
                }
              }
              p[0] = i[0];
              m[0] = s[0];
              p[u] = i[3];
              m[u] = s[1];
              p[g * d] = i[12];
              m[g * d] = s[2];
              p[g * d + u] = i[15];
              m[g * d + u] = s[3];
              this.figures[e] = { type: 'lattice', coords: p, colors: m, verticesPerRow: g };
            }
            _updateBounds() {
              let e = this.coords[0][0],
                t = this.coords[0][1],
                a = e,
                r = t;
              for (let n = 1, i = this.coords.length; n < i; n++) {
                const i = this.coords[n][0],
                  s = this.coords[n][1];
                e = e > i ? i : e;
                t = t > s ? s : t;
                a = a < i ? i : a;
                r = r < s ? s : r;
              }
              this.bounds = [e, t, a, r];
            }
            _packData() {
              let e, t, a, r;
              const n = this.coords,
                i = new Float32Array(2 * n.length);
              for (e = 0, a = 0, t = n.length; e < t; e++) {
                const t = n[e];
                i[a++] = t[0];
                i[a++] = t[1];
              }
              this.coords = i;
              const s = this.colors,
                o = new Uint8Array(3 * s.length);
              for (e = 0, a = 0, t = s.length; e < t; e++) {
                const t = s[e];
                o[a++] = t[0];
                o[a++] = t[1];
                o[a++] = t[2];
              }
              this.colors = o;
              const c = this.figures;
              for (e = 0, t = c.length; e < t; e++) {
                const t = c[e],
                  n = t.coords,
                  i = t.colors;
                for (a = 0, r = n.length; a < r; a++) {
                  n[a] *= 2;
                  i[a] *= 3;
                }
              }
            }
            getIR() {
              return [
                'Mesh',
                this.shadingType,
                this.coords,
                this.colors,
                this.figures,
                this.bounds,
                this.bbox,
                this.background,
              ];
            }
          }
          class DummyShading extends BaseShading {
            getIR() {
              return ['Dummy'];
            }
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.getXfaFontDict = function getXfaFontDict(e) {
            const t = (function getXfaFontWidths(e) {
                const t = getXfaFontName(e);
                if (!t) return null;
                const { baseWidths: a, baseMapping: r, factors: n } = t;
                let i;
                i = n ? a.map((e, t) => e * n[t]) : a;
                let s,
                  o = -2;
                const c = [];
                for (const [e, t] of r.map((e, t) => [e, t]).sort(([e], [t]) => e - t))
                  if (-1 !== e)
                    if (e === o + 1) {
                      s.push(i[t]);
                      o += 1;
                    } else {
                      o = e;
                      s = [i[t]];
                      c.push(e, s);
                    }
                return c;
              })(e),
              a = new n.Dict(null);
            a.set('BaseFont', n.Name.get(e));
            a.set('Type', n.Name.get('Font'));
            a.set('Subtype', n.Name.get('CIDFontType2'));
            a.set('Encoding', n.Name.get('Identity-H'));
            a.set('CIDToGIDMap', n.Name.get('Identity'));
            a.set('W', t);
            a.set('FirstChar', t[0]);
            a.set('LastChar', t.at(-2) + t.at(-1).length - 1);
            const r = new n.Dict(null);
            a.set('FontDescriptor', r);
            const i = new n.Dict(null);
            i.set('Ordering', 'Identity');
            i.set('Registry', 'Adobe');
            i.set('Supplement', 0);
            a.set('CIDSystemInfo', i);
            return a;
          };
          t.getXfaFontName = getXfaFontName;
          var r = a(50),
            n = a(4),
            i = a(51),
            s = a(52),
            o = a(53),
            c = a(54),
            l = a(3),
            h = a(36);
          const u = (0, l.getLookupTableFactory)(function (e) {
            e['MyriadPro-Regular'] = e['PdfJS-Fallback-Regular'] = {
              name: 'LiberationSans-Regular',
              factors: o.MyriadProRegularFactors,
              baseWidths: s.LiberationSansRegularWidths,
              baseMapping: s.LiberationSansRegularMapping,
              metrics: o.MyriadProRegularMetrics,
            };
            e['MyriadPro-Bold'] = e['PdfJS-Fallback-Bold'] = {
              name: 'LiberationSans-Bold',
              factors: o.MyriadProBoldFactors,
              baseWidths: s.LiberationSansBoldWidths,
              baseMapping: s.LiberationSansBoldMapping,
              metrics: o.MyriadProBoldMetrics,
            };
            e['MyriadPro-It'] =
              e['MyriadPro-Italic'] =
              e['PdfJS-Fallback-Italic'] =
                {
                  name: 'LiberationSans-Italic',
                  factors: o.MyriadProItalicFactors,
                  baseWidths: s.LiberationSansItalicWidths,
                  baseMapping: s.LiberationSansItalicMapping,
                  metrics: o.MyriadProItalicMetrics,
                };
            e['MyriadPro-BoldIt'] =
              e['MyriadPro-BoldItalic'] =
              e['PdfJS-Fallback-BoldItalic'] =
                {
                  name: 'LiberationSans-BoldItalic',
                  factors: o.MyriadProBoldItalicFactors,
                  baseWidths: s.LiberationSansBoldItalicWidths,
                  baseMapping: s.LiberationSansBoldItalicMapping,
                  metrics: o.MyriadProBoldItalicMetrics,
                };
            e.ArialMT =
              e.Arial =
              e['Arial-Regular'] =
                {
                  name: 'LiberationSans-Regular',
                  baseWidths: s.LiberationSansRegularWidths,
                  baseMapping: s.LiberationSansRegularMapping,
                };
            e['Arial-BoldMT'] = e['Arial-Bold'] = {
              name: 'LiberationSans-Bold',
              baseWidths: s.LiberationSansBoldWidths,
              baseMapping: s.LiberationSansBoldMapping,
            };
            e['Arial-ItalicMT'] = e['Arial-Italic'] = {
              name: 'LiberationSans-Italic',
              baseWidths: s.LiberationSansItalicWidths,
              baseMapping: s.LiberationSansItalicMapping,
            };
            e['Arial-BoldItalicMT'] = e['Arial-BoldItalic'] = {
              name: 'LiberationSans-BoldItalic',
              baseWidths: s.LiberationSansBoldItalicWidths,
              baseMapping: s.LiberationSansBoldItalicMapping,
            };
            e['Calibri-Regular'] = {
              name: 'LiberationSans-Regular',
              factors: r.CalibriRegularFactors,
              baseWidths: s.LiberationSansRegularWidths,
              baseMapping: s.LiberationSansRegularMapping,
              metrics: r.CalibriRegularMetrics,
            };
            e['Calibri-Bold'] = {
              name: 'LiberationSans-Bold',
              factors: r.CalibriBoldFactors,
              baseWidths: s.LiberationSansBoldWidths,
              baseMapping: s.LiberationSansBoldMapping,
              metrics: r.CalibriBoldMetrics,
            };
            e['Calibri-Italic'] = {
              name: 'LiberationSans-Italic',
              factors: r.CalibriItalicFactors,
              baseWidths: s.LiberationSansItalicWidths,
              baseMapping: s.LiberationSansItalicMapping,
              metrics: r.CalibriItalicMetrics,
            };
            e['Calibri-BoldItalic'] = {
              name: 'LiberationSans-BoldItalic',
              factors: r.CalibriBoldItalicFactors,
              baseWidths: s.LiberationSansBoldItalicWidths,
              baseMapping: s.LiberationSansBoldItalicMapping,
              metrics: r.CalibriBoldItalicMetrics,
            };
            e['Segoeui-Regular'] = {
              name: 'LiberationSans-Regular',
              factors: c.SegoeuiRegularFactors,
              baseWidths: s.LiberationSansRegularWidths,
              baseMapping: s.LiberationSansRegularMapping,
              metrics: c.SegoeuiRegularMetrics,
            };
            e['Segoeui-Bold'] = {
              name: 'LiberationSans-Bold',
              factors: c.SegoeuiBoldFactors,
              baseWidths: s.LiberationSansBoldWidths,
              baseMapping: s.LiberationSansBoldMapping,
              metrics: c.SegoeuiBoldMetrics,
            };
            e['Segoeui-Italic'] = {
              name: 'LiberationSans-Italic',
              factors: c.SegoeuiItalicFactors,
              baseWidths: s.LiberationSansItalicWidths,
              baseMapping: s.LiberationSansItalicMapping,
              metrics: c.SegoeuiItalicMetrics,
            };
            e['Segoeui-BoldItalic'] = {
              name: 'LiberationSans-BoldItalic',
              factors: c.SegoeuiBoldItalicFactors,
              baseWidths: s.LiberationSansBoldItalicWidths,
              baseMapping: s.LiberationSansBoldItalicMapping,
              metrics: c.SegoeuiBoldItalicMetrics,
            };
            e['Helvetica-Regular'] = e.Helvetica = {
              name: 'LiberationSans-Regular',
              factors: i.HelveticaRegularFactors,
              baseWidths: s.LiberationSansRegularWidths,
              baseMapping: s.LiberationSansRegularMapping,
              metrics: i.HelveticaRegularMetrics,
            };
            e['Helvetica-Bold'] = {
              name: 'LiberationSans-Bold',
              factors: i.HelveticaBoldFactors,
              baseWidths: s.LiberationSansBoldWidths,
              baseMapping: s.LiberationSansBoldMapping,
              metrics: i.HelveticaBoldMetrics,
            };
            e['Helvetica-Italic'] = {
              name: 'LiberationSans-Italic',
              factors: i.HelveticaItalicFactors,
              baseWidths: s.LiberationSansItalicWidths,
              baseMapping: s.LiberationSansItalicMapping,
              metrics: i.HelveticaItalicMetrics,
            };
            e['Helvetica-BoldItalic'] = {
              name: 'LiberationSans-BoldItalic',
              factors: i.HelveticaBoldItalicFactors,
              baseWidths: s.LiberationSansBoldItalicWidths,
              baseMapping: s.LiberationSansBoldItalicMapping,
              metrics: i.HelveticaBoldItalicMetrics,
            };
          });
          function getXfaFontName(e) {
            const t = (0, h.normalizeFontName)(e);
            return u()[t];
          }
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.CalibriRegularMetrics =
            t.CalibriRegularFactors =
            t.CalibriItalicMetrics =
            t.CalibriItalicFactors =
            t.CalibriBoldMetrics =
            t.CalibriBoldItalicMetrics =
            t.CalibriBoldItalicFactors =
            t.CalibriBoldFactors =
              void 0;
          t.CalibriBoldFactors = [
            1.3877, 1, 1, 1, 0.97801, 0.92482, 0.89552, 0.91133, 0.81988, 0.97566, 0.98152, 0.93548, 0.93548, 1.2798,
            0.85284, 0.92794, 1, 0.96134, 1.54657, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
            0.91133, 0.91133, 0.91133, 0.82845, 0.82845, 0.85284, 0.85284, 0.85284, 0.75859, 0.92138, 0.83908, 0.7762,
            0.73293, 0.87289, 0.73133, 0.7514, 0.81921, 0.87356, 0.95958, 0.59526, 0.75727, 0.69225, 1.04924, 0.9121,
            0.86943, 0.79795, 0.88198, 0.77958, 0.70864, 0.81055, 0.90399, 0.88653, 0.96017, 0.82577, 0.77892, 0.78257,
            0.97507, 1.54657, 0.97507, 0.85284, 0.89552, 0.90176, 0.88762, 0.8785, 0.75241, 0.8785, 0.90518, 0.95015,
            0.77618, 0.8785, 0.88401, 0.91916, 0.86304, 0.88401, 0.91488, 0.8785, 0.8801, 0.8785, 0.8785, 0.91343,
            0.7173, 1.04106, 0.8785, 0.85075, 0.95794, 0.82616, 0.85162, 0.79492, 0.88331, 1.69808, 0.88331, 0.85284,
            0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.7801, 0.89552, 1.24487, 1.13254, 1.12401, 0.96839, 0.85284,
            0.68787, 0.70645, 0.85592, 0.90747, 1.01466, 1.0088, 0.90323, 1, 1.07463, 1, 0.91056, 0.75806, 1.19118,
            0.96839, 0.78864, 0.82845, 0.84133, 0.75859, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.77539,
            0.73293, 0.73133, 0.73133, 0.73133, 0.73133, 0.95958, 0.95958, 0.95958, 0.95958, 0.88506, 0.9121, 0.86943,
            0.86943, 0.86943, 0.86943, 0.86943, 0.85284, 0.87508, 0.90399, 0.90399, 0.90399, 0.90399, 0.77892, 0.79795,
            0.90807, 0.88762, 0.88762, 0.88762, 0.88762, 0.88762, 0.88762, 0.8715, 0.75241, 0.90518, 0.90518, 0.90518,
            0.90518, 0.88401, 0.88401, 0.88401, 0.88401, 0.8785, 0.8785, 0.8801, 0.8801, 0.8801, 0.8801, 0.8801,
            0.90747, 0.89049, 0.8785, 0.8785, 0.8785, 0.8785, 0.85162, 0.8785, 0.85162, 0.83908, 0.88762, 0.83908,
            0.88762, 0.83908, 0.88762, 0.73293, 0.75241, 0.73293, 0.75241, 0.73293, 0.75241, 0.73293, 0.75241, 0.87289,
            0.83016, 0.88506, 0.93125, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133, 0.90518, 0.73133,
            0.90518, 0.81921, 0.77618, 0.81921, 0.77618, 0.81921, 0.77618, 1, 1, 0.87356, 0.8785, 0.91075, 0.89608,
            0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.76229, 0.90167,
            0.59526, 0.91916, 1, 1, 0.86304, 0.69225, 0.88401, 1, 1, 0.70424, 0.79468, 0.91926, 0.88175, 0.70823,
            0.94903, 0.9121, 0.8785, 1, 1, 0.9121, 0.8785, 0.87802, 0.88656, 0.8785, 0.86943, 0.8801, 0.86943, 0.8801,
            0.86943, 0.8801, 0.87402, 0.89291, 0.77958, 0.91343, 1, 1, 0.77958, 0.91343, 0.70864, 0.7173, 0.70864,
            0.7173, 0.70864, 0.7173, 0.70864, 0.7173, 1, 1, 0.81055, 0.75841, 0.81055, 1.06452, 0.90399, 0.8785,
            0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.90399, 0.8785, 0.96017, 0.95794,
            0.77892, 0.85162, 0.77892, 0.78257, 0.79492, 0.78257, 0.79492, 0.78257, 0.79492, 0.9297, 0.56892, 0.83908,
            0.88762, 0.77539, 0.8715, 0.87508, 0.89049, 1, 1, 0.81055, 1.04106, 1.20528, 1.20528, 1, 1.15543, 0.70674,
            0.98387, 0.94721, 1.33431, 1.45894, 0.95161, 1.06303, 0.83908, 0.80352, 0.57184, 0.6965, 0.56289, 0.82001,
            0.56029, 0.81235, 1.02988, 0.83908, 0.7762, 0.68156, 0.80367, 0.73133, 0.78257, 0.87356, 0.86943, 0.95958,
            0.75727, 0.89019, 1.04924, 0.9121, 0.7648, 0.86943, 0.87356, 0.79795, 0.78275, 0.81055, 0.77892, 0.9762,
            0.82577, 0.99819, 0.84896, 0.95958, 0.77892, 0.96108, 1.01407, 0.89049, 1.02988, 0.94211, 0.96108, 0.8936,
            0.84021, 0.87842, 0.96399, 0.79109, 0.89049, 1.00813, 1.02988, 0.86077, 0.87445, 0.92099, 0.84723, 0.86513,
            0.8801, 0.75638, 0.85714, 0.78216, 0.79586, 0.87965, 0.94211, 0.97747, 0.78287, 0.97926, 0.84971, 1.02988,
            0.94211, 0.8801, 0.94211, 0.84971, 0.73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90264, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90518, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 0.90548, 1, 1, 1, 1, 1, 1, 0.96017, 0.95794, 0.96017, 0.95794, 0.96017, 0.95794, 0.77892, 0.85162,
            1, 1, 0.89552, 0.90527, 1, 0.90363, 0.92794, 0.92794, 0.92794, 0.92794, 0.87012, 0.87012, 0.87012, 0.89552,
            0.89552, 1.42259, 0.71143, 1.06152, 1, 1, 1.03372, 1.03372, 0.97171, 1.4956, 2.2807, 0.93835, 0.83406,
            0.91133, 0.84107, 0.91133, 1, 1, 1, 0.72021, 1, 1.23108, 0.83489, 0.88525, 0.88525, 0.81499, 0.90527,
            1.81055, 0.90527, 1.81055, 1.31006, 1.53711, 0.94434, 1.08696, 1, 0.95018, 0.77192, 0.85284, 0.90747,
            1.17534, 0.69825, 0.9716, 1.37077, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941,
            0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1,
            1, 1, 1.08004, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90727, 0.90727, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.CalibriBoldMetrics = { lineHeight: 1.2207, lineGap: 0.2207 };
          t.CalibriBoldItalicFactors = [
            1.3877, 1, 1, 1, 0.97801, 0.92482, 0.89552, 0.91133, 0.81988, 0.97566, 0.98152, 0.93548, 0.93548, 1.2798,
            0.85284, 0.92794, 1, 0.96134, 1.56239, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
            0.91133, 0.91133, 0.91133, 0.82845, 0.82845, 0.85284, 0.85284, 0.85284, 0.75859, 0.92138, 0.83908, 0.7762,
            0.71805, 0.87289, 0.73133, 0.7514, 0.81921, 0.87356, 0.95958, 0.59526, 0.75727, 0.69225, 1.04924, 0.90872,
            0.85938, 0.79795, 0.87068, 0.77958, 0.69766, 0.81055, 0.90399, 0.88653, 0.96068, 0.82577, 0.77892, 0.78257,
            0.97507, 1.529, 0.97507, 0.85284, 0.89552, 0.90176, 0.94908, 0.86411, 0.74012, 0.86411, 0.88323, 0.95015,
            0.86411, 0.86331, 0.88401, 0.91916, 0.86304, 0.88401, 0.9039, 0.86331, 0.86331, 0.86411, 0.86411, 0.90464,
            0.70852, 1.04106, 0.86331, 0.84372, 0.95794, 0.82616, 0.84548, 0.79492, 0.88331, 1.69808, 0.88331, 0.85284,
            0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.7801, 0.89552, 1.24487, 1.13254, 1.19129, 0.96839, 0.85284,
            0.68787, 0.70645, 0.85592, 0.90747, 1.01466, 1.0088, 0.90323, 1, 1.07463, 1, 0.91056, 0.75806, 1.19118,
            0.96839, 0.78864, 0.82845, 0.84133, 0.75859, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.83908, 0.77539,
            0.71805, 0.73133, 0.73133, 0.73133, 0.73133, 0.95958, 0.95958, 0.95958, 0.95958, 0.88506, 0.90872, 0.85938,
            0.85938, 0.85938, 0.85938, 0.85938, 0.85284, 0.87068, 0.90399, 0.90399, 0.90399, 0.90399, 0.77892, 0.79795,
            0.90807, 0.94908, 0.94908, 0.94908, 0.94908, 0.94908, 0.94908, 0.85887, 0.74012, 0.88323, 0.88323, 0.88323,
            0.88323, 0.88401, 0.88401, 0.88401, 0.88401, 0.8785, 0.86331, 0.86331, 0.86331, 0.86331, 0.86331, 0.86331,
            0.90747, 0.89049, 0.86331, 0.86331, 0.86331, 0.86331, 0.84548, 0.86411, 0.84548, 0.83908, 0.94908, 0.83908,
            0.94908, 0.83908, 0.94908, 0.71805, 0.74012, 0.71805, 0.74012, 0.71805, 0.74012, 0.71805, 0.74012, 0.87289,
            0.79538, 0.88506, 0.92726, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133, 0.88323, 0.73133,
            0.88323, 0.81921, 0.86411, 0.81921, 0.86411, 0.81921, 0.86411, 1, 1, 0.87356, 0.86331, 0.91075, 0.8777,
            0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.95958, 0.88401, 0.76467, 0.90167,
            0.59526, 0.91916, 1, 1, 0.86304, 0.69225, 0.88401, 1, 1, 0.70424, 0.77312, 0.91926, 0.88175, 0.70823,
            0.94903, 0.90872, 0.86331, 1, 1, 0.90872, 0.86331, 0.86906, 0.88116, 0.86331, 0.85938, 0.86331, 0.85938,
            0.86331, 0.85938, 0.86331, 0.87402, 0.86549, 0.77958, 0.90464, 1, 1, 0.77958, 0.90464, 0.69766, 0.70852,
            0.69766, 0.70852, 0.69766, 0.70852, 0.69766, 0.70852, 1, 1, 0.81055, 0.75841, 0.81055, 1.06452, 0.90399,
            0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.90399, 0.86331, 0.96068,
            0.95794, 0.77892, 0.84548, 0.77892, 0.78257, 0.79492, 0.78257, 0.79492, 0.78257, 0.79492, 0.9297, 0.56892,
            0.83908, 0.94908, 0.77539, 0.85887, 0.87068, 0.89049, 1, 1, 0.81055, 1.04106, 1.20528, 1.20528, 1, 1.15543,
            0.70088, 0.98387, 0.94721, 1.33431, 1.45894, 0.95161, 1.48387, 0.83908, 0.80352, 0.57118, 0.6965, 0.56347,
            0.79179, 0.55853, 0.80346, 1.02988, 0.83908, 0.7762, 0.67174, 0.86036, 0.73133, 0.78257, 0.87356, 0.86441,
            0.95958, 0.75727, 0.89019, 1.04924, 0.90872, 0.74889, 0.85938, 0.87891, 0.79795, 0.7957, 0.81055, 0.77892,
            0.97447, 0.82577, 0.97466, 0.87179, 0.95958, 0.77892, 0.94252, 0.95612, 0.8753, 1.02988, 0.92733, 0.94252,
            0.87411, 0.84021, 0.8728, 0.95612, 0.74081, 0.8753, 1.02189, 1.02988, 0.84814, 0.87445, 0.91822, 0.84723,
            0.85668, 0.86331, 0.81344, 0.87581, 0.76422, 0.82046, 0.96057, 0.92733, 0.99375, 0.78022, 0.95452, 0.86015,
            1.02988, 0.92733, 0.86331, 0.92733, 0.86015, 0.73133, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90631, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.88323, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 0.85174, 1, 1, 1, 1, 1, 1, 0.96068, 0.95794, 0.96068, 0.95794, 0.96068, 0.95794, 0.77892,
            0.84548, 1, 1, 0.89552, 0.90527, 1, 0.90363, 0.92794, 0.92794, 0.92794, 0.89807, 0.87012, 0.87012, 0.87012,
            0.89552, 0.89552, 1.42259, 0.71094, 1.06152, 1, 1, 1.03372, 1.03372, 0.97171, 1.4956, 2.2807, 0.92972,
            0.83406, 0.91133, 0.83326, 0.91133, 1, 1, 1, 0.72021, 1, 1.23108, 0.83489, 0.88525, 0.88525, 0.81499,
            0.90616, 1.81055, 0.90527, 1.81055, 1.3107, 1.53711, 0.94434, 1.08696, 1, 0.95018, 0.77192, 0.85284,
            0.90747, 1.17534, 0.69825, 0.9716, 1.37077, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284,
            0.8941, 0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862,
            1, 1, 1, 1, 1, 1.08004, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.90727, 0.90727, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.CalibriBoldItalicMetrics = { lineHeight: 1.2207, lineGap: 0.2207 };
          t.CalibriItalicFactors = [
            1.3877, 1, 1, 1, 1.17223, 1.1293, 0.89552, 0.91133, 0.80395, 1.02269, 1.15601, 0.91056, 0.91056, 1.2798,
            0.85284, 0.89807, 1, 0.90861, 1.39543, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
            0.91133, 0.91133, 0.91133, 0.96309, 0.96309, 0.85284, 0.85284, 0.85284, 0.83319, 0.88071, 0.8675, 0.81552,
            0.72346, 0.85193, 0.73206, 0.7522, 0.81105, 0.86275, 0.90685, 0.6377, 0.77892, 0.75593, 1.02638, 0.89249,
            0.84118, 0.77452, 0.85374, 0.75186, 0.67789, 0.79776, 0.88844, 0.85066, 0.94309, 0.77818, 0.7306, 0.76659,
            1.10369, 1.38313, 1.10369, 1.06139, 0.89552, 0.8739, 0.9245, 0.9245, 0.83203, 0.9245, 0.85865, 1.09842,
            0.9245, 0.9245, 1.03297, 1.07692, 0.90918, 1.03297, 0.94959, 0.9245, 0.92274, 0.9245, 0.9245, 1.02933,
            0.77832, 1.20562, 0.9245, 0.8916, 0.98986, 0.86621, 0.89453, 0.79004, 0.94152, 1.77256, 0.94152, 0.85284,
            0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.91729, 0.89552, 1.17889, 1.13254, 1.16359, 0.92098, 0.85284,
            0.68787, 0.71353, 0.84737, 0.90747, 1.0088, 1.0044, 0.87683, 1, 1.09091, 1, 0.92229, 0.739, 1.15642,
            0.92098, 0.76288, 0.80504, 0.80972, 0.75859, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.76318,
            0.72346, 0.73206, 0.73206, 0.73206, 0.73206, 0.90685, 0.90685, 0.90685, 0.90685, 0.86477, 0.89249, 0.84118,
            0.84118, 0.84118, 0.84118, 0.84118, 0.85284, 0.84557, 0.88844, 0.88844, 0.88844, 0.88844, 0.7306, 0.77452,
            0.86331, 0.9245, 0.9245, 0.9245, 0.9245, 0.9245, 0.9245, 0.84843, 0.83203, 0.85865, 0.85865, 0.85865,
            0.85865, 0.82601, 0.82601, 0.82601, 0.82601, 0.94469, 0.9245, 0.92274, 0.92274, 0.92274, 0.92274, 0.92274,
            0.90747, 0.86651, 0.9245, 0.9245, 0.9245, 0.9245, 0.89453, 0.9245, 0.89453, 0.8675, 0.9245, 0.8675, 0.9245,
            0.8675, 0.9245, 0.72346, 0.83203, 0.72346, 0.83203, 0.72346, 0.83203, 0.72346, 0.83203, 0.85193, 0.8875,
            0.86477, 0.99034, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865, 0.73206, 0.85865,
            0.81105, 0.9245, 0.81105, 0.9245, 0.81105, 0.9245, 1, 1, 0.86275, 0.9245, 0.90872, 0.93591, 0.90685,
            0.82601, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 1.03297, 0.90685, 0.82601, 0.77896, 1.05611, 0.6377,
            1.07692, 1, 1, 0.90918, 0.75593, 1.03297, 1, 1, 0.76032, 0.9375, 0.98156, 0.93407, 0.77261, 1.11429,
            0.89249, 0.9245, 1, 1, 0.89249, 0.9245, 0.92534, 0.86698, 0.9245, 0.84118, 0.92274, 0.84118, 0.92274,
            0.84118, 0.92274, 0.8667, 0.86291, 0.75186, 1.02933, 1, 1, 0.75186, 1.02933, 0.67789, 0.77832, 0.67789,
            0.77832, 0.67789, 0.77832, 0.67789, 0.77832, 1, 1, 0.79776, 0.97655, 0.79776, 1.23023, 0.88844, 0.9245,
            0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.88844, 0.9245, 0.94309, 0.98986,
            0.7306, 0.89453, 0.7306, 0.76659, 0.79004, 0.76659, 0.79004, 0.76659, 0.79004, 1.09231, 0.54873, 0.8675,
            0.9245, 0.76318, 0.84843, 0.84557, 0.86651, 1, 1, 0.79776, 1.20562, 1.18622, 1.18622, 1, 1.1437, 0.67009,
            0.96334, 0.93695, 1.35191, 1.40909, 0.95161, 1.48387, 0.8675, 0.90861, 0.6192, 0.7363, 0.64824, 0.82411,
            0.56321, 0.85696, 1.23516, 0.8675, 0.81552, 0.7286, 0.84134, 0.73206, 0.76659, 0.86275, 0.84369, 0.90685,
            0.77892, 0.85871, 1.02638, 0.89249, 0.75828, 0.84118, 0.85984, 0.77452, 0.76466, 0.79776, 0.7306, 0.90782,
            0.77818, 0.903, 0.87291, 0.90685, 0.7306, 0.99058, 1.03667, 0.94635, 1.23516, 0.9849, 0.99058, 0.92393,
            0.8916, 0.942, 1.03667, 0.75026, 0.94635, 1.0297, 1.23516, 0.90918, 0.94048, 0.98217, 0.89746, 0.84153,
            0.92274, 0.82507, 0.88832, 0.84438, 0.88178, 1.03525, 0.9849, 1.00225, 0.78086, 0.97248, 0.89404, 1.23516,
            0.9849, 0.92274, 0.9849, 0.89404, 0.73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89693, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.85865, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 0.90933, 1, 1, 1, 1, 1, 1, 0.94309, 0.98986, 0.94309, 0.98986, 0.94309, 0.98986, 0.7306, 0.89453, 1,
            1, 0.89552, 0.90527, 1, 0.90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566, 0.89552,
            0.89552, 1.42259, 0.68994, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, 0.97858, 0.82616,
            0.91133, 0.83437, 0.91133, 1, 1, 1, 0.70508, 1, 1.23108, 0.79801, 0.84426, 0.84426, 0.774, 0.90572, 1.81055,
            0.90749, 1.81055, 1.28809, 1.55469, 0.94434, 1.07806, 1, 0.97094, 0.7589, 0.85284, 0.90747, 1.19658,
            0.69825, 0.97622, 1.33512, 0.90747, 0.90747, 0.85284, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941, 0.8941,
            0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1, 1, 1,
            1.0336, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.CalibriItalicMetrics = { lineHeight: 1.2207, lineGap: 0.2207 };
          t.CalibriRegularFactors = [
            1.3877, 1, 1, 1, 1.17223, 1.1293, 0.89552, 0.91133, 0.80395, 1.02269, 1.15601, 0.91056, 0.91056, 1.2798,
            0.85284, 0.89807, 1, 0.90861, 1.39016, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133, 0.91133,
            0.91133, 0.91133, 0.91133, 0.96309, 0.96309, 0.85284, 0.85284, 0.85284, 0.83319, 0.88071, 0.8675, 0.81552,
            0.73834, 0.85193, 0.73206, 0.7522, 0.81105, 0.86275, 0.90685, 0.6377, 0.77892, 0.75593, 1.02638, 0.89385,
            0.85122, 0.77452, 0.86503, 0.75186, 0.68887, 0.79776, 0.88844, 0.85066, 0.94258, 0.77818, 0.7306, 0.76659,
            1.10369, 1.39016, 1.10369, 1.06139, 0.89552, 0.8739, 0.86128, 0.94469, 0.8457, 0.94469, 0.89464, 1.09842,
            0.84636, 0.94469, 1.03297, 1.07692, 0.90918, 1.03297, 0.95897, 0.94469, 0.9482, 0.94469, 0.94469, 1.04692,
            0.78223, 1.20562, 0.94469, 0.90332, 0.98986, 0.86621, 0.90527, 0.79004, 0.94152, 1.77256, 0.94152, 0.85284,
            0.97801, 0.89552, 0.91133, 0.89552, 0.91133, 1.91729, 0.89552, 1.17889, 1.13254, 1.08707, 0.92098, 0.85284,
            0.68787, 0.71353, 0.84737, 0.90747, 1.0088, 1.0044, 0.87683, 1, 1.09091, 1, 0.92229, 0.739, 1.15642,
            0.92098, 0.76288, 0.80504, 0.80972, 0.75859, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.8675, 0.76318,
            0.73834, 0.73206, 0.73206, 0.73206, 0.73206, 0.90685, 0.90685, 0.90685, 0.90685, 0.86477, 0.89385, 0.85122,
            0.85122, 0.85122, 0.85122, 0.85122, 0.85284, 0.85311, 0.88844, 0.88844, 0.88844, 0.88844, 0.7306, 0.77452,
            0.86331, 0.86128, 0.86128, 0.86128, 0.86128, 0.86128, 0.86128, 0.8693, 0.8457, 0.89464, 0.89464, 0.89464,
            0.89464, 0.82601, 0.82601, 0.82601, 0.82601, 0.94469, 0.94469, 0.9482, 0.9482, 0.9482, 0.9482, 0.9482,
            0.90747, 0.86651, 0.94469, 0.94469, 0.94469, 0.94469, 0.90527, 0.94469, 0.90527, 0.8675, 0.86128, 0.8675,
            0.86128, 0.8675, 0.86128, 0.73834, 0.8457, 0.73834, 0.8457, 0.73834, 0.8457, 0.73834, 0.8457, 0.85193,
            0.92454, 0.86477, 0.9921, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206, 0.89464, 0.73206,
            0.89464, 0.81105, 0.84636, 0.81105, 0.84636, 0.81105, 0.84636, 1, 1, 0.86275, 0.94469, 0.90872, 0.95786,
            0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 0.82601, 0.90685, 1.03297, 0.90685, 0.82601, 0.77741, 1.05611,
            0.6377, 1.07692, 1, 1, 0.90918, 0.75593, 1.03297, 1, 1, 0.76032, 0.90452, 0.98156, 1.11842, 0.77261,
            1.11429, 0.89385, 0.94469, 1, 1, 0.89385, 0.94469, 0.95877, 0.86901, 0.94469, 0.85122, 0.9482, 0.85122,
            0.9482, 0.85122, 0.9482, 0.8667, 0.90016, 0.75186, 1.04692, 1, 1, 0.75186, 1.04692, 0.68887, 0.78223,
            0.68887, 0.78223, 0.68887, 0.78223, 0.68887, 0.78223, 1, 1, 0.79776, 0.92188, 0.79776, 1.23023, 0.88844,
            0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.88844, 0.94469, 0.94258,
            0.98986, 0.7306, 0.90527, 0.7306, 0.76659, 0.79004, 0.76659, 0.79004, 0.76659, 0.79004, 1.09231, 0.54873,
            0.8675, 0.86128, 0.76318, 0.8693, 0.85311, 0.86651, 1, 1, 0.79776, 1.20562, 1.18622, 1.18622, 1, 1.1437,
            0.67742, 0.96334, 0.93695, 1.35191, 1.40909, 0.95161, 1.48387, 0.86686, 0.90861, 0.62267, 0.74359, 0.65649,
            0.85498, 0.56963, 0.88254, 1.23516, 0.8675, 0.81552, 0.75443, 0.84503, 0.73206, 0.76659, 0.86275, 0.85122,
            0.90685, 0.77892, 0.85746, 1.02638, 0.89385, 0.75657, 0.85122, 0.86275, 0.77452, 0.74171, 0.79776, 0.7306,
            0.95165, 0.77818, 0.89772, 0.88831, 0.90685, 0.7306, 0.98142, 1.02191, 0.96576, 1.23516, 0.99018, 0.98142,
            0.9236, 0.89258, 0.94035, 1.02191, 0.78848, 0.96576, 0.9561, 1.23516, 0.90918, 0.92578, 0.95424, 0.89746,
            0.83969, 0.9482, 0.80113, 0.89442, 0.85208, 0.86155, 0.98022, 0.99018, 1.00452, 0.81209, 0.99247, 0.89181,
            1.23516, 0.99018, 0.9482, 0.99018, 0.89181, 0.73206, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.88844, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89464, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 0.96766, 1, 1, 1, 1, 1, 1, 0.94258, 0.98986, 0.94258, 0.98986, 0.94258, 0.98986, 0.7306,
            0.90527, 1, 1, 0.89552, 0.90527, 1, 0.90186, 1.12308, 1.12308, 1.12308, 1.12308, 1.2566, 1.2566, 1.2566,
            0.89552, 0.89552, 1.42259, 0.69043, 1.03809, 1, 1, 1.0176, 1.0176, 1.11523, 1.4956, 2.01462, 0.99331,
            0.82616, 0.91133, 0.84286, 0.91133, 1, 1, 1, 0.70508, 1, 1.23108, 0.79801, 0.84426, 0.84426, 0.774, 0.90527,
            1.81055, 0.90527, 1.81055, 1.28809, 1.55469, 0.94434, 1.07806, 1, 0.97094, 0.7589, 0.85284, 0.90747,
            1.19658, 0.69825, 0.97622, 1.33512, 0.90747, 0.90747, 0.85356, 0.90747, 0.90747, 1.44947, 0.85284, 0.8941,
            0.8941, 0.70572, 0.8, 0.70572, 0.70572, 0.70572, 0.70572, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.99862, 0.99862, 1, 1, 1,
            1, 1, 1.0336, 0.91027, 1, 1, 1, 0.99862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.05859, 1.05859, 1, 1, 1,
            1.07185, 0.99413, 0.96334, 1.08065, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.CalibriRegularMetrics = { lineHeight: 1.2207, lineGap: 0.2207 };
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.HelveticaRegularMetrics =
            t.HelveticaRegularFactors =
            t.HelveticaItalicMetrics =
            t.HelveticaItalicFactors =
            t.HelveticaBoldMetrics =
            t.HelveticaBoldItalicMetrics =
            t.HelveticaBoldItalicFactors =
            t.HelveticaBoldFactors =
              void 0;
          t.HelveticaBoldFactors = [
            0.76116, 1, 1, 1.0006, 0.99998, 0.99974, 0.99973, 0.99973, 0.99982, 0.99977, 1.00087, 0.99998, 0.99998,
            0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, 0.9999, 0.99977,
            0.99977, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 0.99973, 0.99977, 1.00026, 0.99999,
            0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
            1.00026, 0.99998, 1.0006, 0.99998, 1.00003, 0.99973, 0.99998, 0.99973, 1.00026, 0.99973, 1.00026, 0.99973,
            0.99998, 1.00026, 1.00026, 1.0006, 1.0006, 0.99973, 1.0006, 0.99982, 1.00026, 1.00026, 1.00026, 1.00026,
            0.99959, 0.99973, 0.99998, 1.00026, 0.99973, 1.00022, 0.99973, 0.99973, 1, 0.99959, 1.00077, 0.99959,
            1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.00077, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973,
            1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.99973, 1.0006, 0.99998, 1, 0.99936,
            0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 1,
            0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022,
            1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001,
            1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026,
            1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 0.99973, 1.00026, 0.99973, 0.99977, 0.99973, 0.99977,
            0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977,
            1.03374, 0.99977, 1.00026, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001,
            0.99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 0.99977, 1.00026, 0.99977,
            1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.00042, 0.99973,
            0.99973, 1.0006, 0.99977, 0.99973, 0.99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.03828, 1.00026,
            0.99999, 1.00026, 1.0006, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.9993, 0.9998, 1.00026,
            1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, 0.99977, 0.99959, 0.99977, 0.99959,
            0.99977, 0.99959, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00026, 0.99998,
            1.00026, 0.8121, 1.00026, 0.99998, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026,
            0.99977, 1.00026, 0.99977, 1.00026, 1.00016, 1.00022, 1.00001, 0.99973, 1.00001, 1.00026, 1, 1.00026, 1,
            1.00026, 1, 1.0006, 0.99973, 0.99977, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 0.99973, 1.00026,
            0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 1.00034,
            0.99977, 1, 0.99997, 1.00026, 1.00078, 1.00036, 0.99973, 1.00013, 1.0006, 0.99977, 0.99977, 0.99988,
            0.85148, 1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 0.99977, 1.00001, 0.99999, 0.99977, 1.00069, 1.00022,
            0.99977, 1.00001, 0.99984, 1.00026, 1.00001, 1.00024, 1.00001, 0.9999, 1, 1.0006, 1.00001, 1.00041, 0.99962,
            1.00026, 1.0006, 0.99995, 1.00041, 0.99942, 0.99973, 0.99927, 1.00082, 0.99902, 1.00026, 1.00087, 1.0006,
            1.00069, 0.99973, 0.99867, 0.99973, 0.9993, 1.00026, 1.00049, 1.00056, 1, 0.99988, 0.99935, 0.99995,
            0.99954, 1.00055, 0.99945, 1.00032, 1.0006, 0.99995, 1.00026, 0.99995, 1.00032, 1.00001, 1.00008, 0.99971,
            1.00019, 0.9994, 1.00001, 1.0006, 1.00044, 0.99973, 1.00023, 1.00047, 1, 0.99942, 0.99561, 0.99989, 1.00035,
            0.99977, 1.00035, 0.99977, 1.00019, 0.99944, 1.00001, 1.00021, 0.99926, 1.00035, 1.00035, 0.99942, 1.00048,
            0.99999, 0.99977, 1.00022, 1.00035, 1.00001, 0.99977, 1.00026, 0.99989, 1.00057, 1.00001, 0.99936, 1.00052,
            1.00012, 0.99996, 1.00043, 1, 1.00035, 0.9994, 0.99976, 1.00035, 0.99973, 1.00052, 1.00041, 1.00119,
            1.00037, 0.99973, 1.00002, 0.99986, 1.00041, 1.00041, 0.99902, 0.9996, 1.00034, 0.99999, 1.00026, 0.99999,
            1.00026, 0.99973, 1.00052, 0.99973, 1, 0.99973, 1.00041, 1.00075, 0.9994, 1.0003, 0.99999, 1, 1.00041,
            0.99955, 1, 0.99915, 0.99973, 0.99973, 1.00026, 1.00119, 0.99955, 0.99973, 1.0006, 0.99911, 1.0006, 1.00026,
            0.99972, 1.00026, 0.99902, 1.00041, 0.99973, 0.99999, 1, 1, 1.00038, 1.0005, 1.00016, 1.00022, 1.00016,
            1.00022, 1.00016, 1.00022, 1.00001, 0.99973, 1, 1, 0.99973, 1, 1, 0.99955, 1.0006, 1.0006, 1.0006, 1.0006,
            1, 1, 1, 0.99973, 0.99973, 0.99972, 1, 1, 1.00106, 0.99999, 0.99998, 0.99998, 0.99999, 0.99998, 1.66475, 1,
            0.99973, 0.99973, 1.00023, 0.99973, 0.99971, 1.00047, 1.00023, 1, 0.99991, 0.99984, 1.00002, 1.00002,
            1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, 0.99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015, 1, 0.99561,
            1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1,
            0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.99972, 0.99999, 0.99999, 0.99999, 0.99999,
            1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998,
            0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.HelveticaBoldMetrics = { lineHeight: 1.2, lineGap: 0.2 };
          t.HelveticaBoldItalicFactors = [
            0.76116, 1, 1, 1.0006, 0.99998, 0.99974, 0.99973, 0.99973, 0.99982, 0.99977, 1.00087, 0.99998, 0.99998,
            0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1, 1.00003, 1.00003, 1.00003, 1.00026, 0.9999, 0.99977,
            0.99977, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 0.99973, 0.99977, 1.00026, 0.99999,
            0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
            1.00026, 0.99998, 1.0006, 0.99998, 1.00003, 0.99973, 0.99998, 0.99973, 1.00026, 0.99973, 1.00026, 0.99973,
            0.99998, 1.00026, 1.00026, 1.0006, 1.0006, 0.99973, 1.0006, 0.99982, 1.00026, 1.00026, 1.00026, 1.00026,
            0.99959, 0.99973, 0.99998, 1.00026, 0.99973, 1.00022, 0.99973, 0.99973, 1, 0.99959, 1.00077, 0.99959,
            1.00003, 0.99998, 0.99973, 0.99973, 0.99973, 0.99973, 1.00077, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973,
            1.00003, 1.00025, 0.60299, 1.00024, 1.06409, 1, 1, 0.99998, 1, 0.99973, 1.0006, 0.99998, 1, 0.99936,
            0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 0.99977, 1,
            0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006, 1.0006, 1.0006, 0.99977, 0.99977, 1.00022,
            1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977, 0.99977, 0.99977, 0.99977, 1.00001, 1.00001,
            1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99982, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026,
            1.06409, 1.00026, 1.00026, 1.00026, 1.00026, 1.00026, 0.99973, 1.00026, 0.99973, 0.99977, 0.99973, 0.99977,
            0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977,
            1.0044, 0.99977, 1.00026, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001,
            0.99973, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 0.99977, 1.00026, 0.99977,
            1.00026, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99971, 0.99973,
            0.99973, 1.0006, 0.99977, 0.99973, 0.99973, 1.00026, 1.0006, 1.00026, 1.0006, 1.00026, 1.01011, 1.00026,
            0.99999, 1.00026, 1.0006, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.9993, 0.9998, 1.00026,
            1.00022, 1.00026, 1.00022, 1.00026, 1.00022, 1.00026, 1, 1.00016, 0.99977, 0.99959, 0.99977, 0.99959,
            0.99977, 0.99959, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00026, 0.99998,
            1.00026, 0.8121, 1.00026, 0.99998, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026, 0.99977, 1.00026,
            0.99977, 1.00026, 0.99977, 1.00026, 1.00016, 1.00022, 1.00001, 0.99973, 1.00001, 1.00026, 1, 1.00026, 1,
            1.00026, 1, 1.0006, 0.99973, 0.99977, 0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 0.99973, 1.00026,
            0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998,
            0.99977, 1, 1, 1.00026, 0.99969, 0.99972, 0.99981, 0.9998, 1.0006, 0.99977, 0.99977, 1.00022, 0.91155,
            1.00001, 1.00026, 0.99977, 1.00022, 1.0006, 0.99977, 1.00001, 0.99999, 0.99977, 0.99966, 1.00022, 1.00032,
            1.00001, 0.99944, 1.00026, 1.00001, 0.99968, 1.00001, 1.00047, 1, 1.0006, 1.00001, 0.99981, 1.00101,
            1.00026, 1.0006, 0.99948, 0.99981, 1.00064, 0.99973, 0.99942, 1.00101, 1.00061, 1.00026, 1.00069, 1.0006,
            1.00014, 0.99973, 1.01322, 0.99973, 1.00065, 1.00026, 1.00012, 0.99923, 1, 1.00064, 1.00076, 0.99948,
            1.00055, 1.00063, 1.00007, 0.99943, 1.0006, 0.99948, 1.00026, 0.99948, 0.99943, 1.00001, 1.00001, 1.00029,
            1.00038, 1.00035, 1.00001, 1.0006, 1.0006, 0.99973, 0.99978, 1.00001, 1.00057, 0.99989, 0.99967, 0.99964,
            0.99967, 0.99977, 0.99999, 0.99977, 1.00038, 0.99977, 1.00001, 0.99973, 1.00066, 0.99967, 0.99967, 1.00041,
            0.99998, 0.99999, 0.99977, 1.00022, 0.99967, 1.00001, 0.99977, 1.00026, 0.99964, 1.00031, 1.00001, 0.99999,
            0.99999, 1, 1.00023, 1, 1, 0.99999, 1.00035, 1.00001, 0.99999, 0.99973, 0.99977, 0.99999, 1.00058, 0.99973,
            0.99973, 0.99955, 0.9995, 1.00026, 1.00026, 1.00032, 0.99989, 1.00034, 0.99999, 1.00026, 1.00026, 1.00026,
            0.99973, 0.45998, 0.99973, 1.00026, 0.99973, 1.00001, 0.99999, 0.99982, 0.99994, 0.99996, 1, 1.00042,
            1.00044, 1.00029, 1.00023, 0.99973, 0.99973, 1.00026, 0.99949, 1.00002, 0.99973, 1.0006, 1.0006, 1.0006,
            0.99975, 1.00026, 1.00026, 1.00032, 0.98685, 0.99973, 1.00026, 1, 1, 0.99966, 1.00044, 1.00016, 1.00022,
            1.00016, 1.00022, 1.00016, 1.00022, 1.00001, 0.99973, 1, 1, 0.99973, 1, 1, 0.99955, 1.0006, 1.0006, 1.0006,
            1.0006, 1, 1, 1, 0.99973, 0.99973, 0.99972, 1, 1, 1.00106, 0.99999, 0.99998, 0.99998, 0.99999, 0.99998,
            1.66475, 1, 0.99973, 0.99973, 1, 0.99973, 0.99971, 0.99978, 1, 1, 0.99991, 0.99984, 1.00002, 1.00002,
            1.00002, 1.00002, 1.00098, 1, 1, 1, 1.00049, 1, 1, 0.99972, 1, 1.20985, 1.39713, 1.00003, 1.00031, 1.00015,
            1, 0.99561, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999, 1.00003, 0.99999, 0.99999,
            1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.40579, 1.40579, 1.36625,
            0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.99972, 0.99999, 0.99999, 0.99999,
            0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1,
            0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.HelveticaBoldItalicMetrics = { lineHeight: 1.35, lineGap: 0.2 };
          t.HelveticaItalicFactors = [
            0.76116, 1, 1, 1.0006, 1.0006, 1.00006, 0.99973, 0.99973, 0.99982, 1.00001, 1.00043, 0.99998, 0.99998,
            0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, 0.99973, 0.99987, 1.00001,
            1.00001, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 1, 1.00001, 0.99973, 0.99999,
            0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
            1.00026, 1.0006, 1.0006, 1.0006, 0.99949, 0.99973, 0.99998, 0.99973, 0.99973, 1, 0.99973, 0.99973, 1.0006,
            0.99973, 0.99973, 0.99924, 0.99924, 1, 0.99924, 0.99999, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1,
            1.0006, 0.99973, 1, 0.99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973,
            0.99973, 1.0009, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409,
            1, 1, 0.99998, 1, 0.9998, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001,
            1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006,
            1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977,
            0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99982, 1, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973,
            0.99973, 0.99973, 0.99973, 0.99973, 1.06409, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 1, 0.99973, 1,
            1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1,
            0.99977, 1.0288, 0.99977, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973,
            1.00001, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 0.99977, 0.99973,
            0.99977, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99924, 1.0006, 1.0006, 0.99946,
            1.00034, 1, 0.99924, 1.00001, 1, 1, 0.99973, 0.99924, 0.99973, 0.99924, 0.99973, 1.06311, 0.99973, 1.00024,
            0.99973, 0.99924, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 1.00041, 0.9998, 0.99973, 1.00022,
            0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1, 1.00016, 0.99977, 0.99998, 0.99977, 0.99998, 0.99977,
            0.99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, 0.89547, 1.00026, 1.0006,
            0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973,
            1.00016, 0.99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 0.99924, 0.99973, 1.00001,
            0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, 0.99998, 0.99998, 0.99998, 0.99998,
            0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 1.00001, 1, 1.00054, 0.99977, 1.00084,
            1.00007, 0.99973, 1.00013, 0.99924, 1.00001, 1.00001, 0.99945, 0.91221, 1.00001, 1.00026, 0.99977, 1.00022,
            1.0006, 1.00001, 1.00001, 0.99999, 0.99977, 0.99933, 1.00022, 1.00054, 1.00001, 1.00065, 1.00026, 1.00001,
            1.0001, 1.00001, 1.00052, 1, 1.0006, 1.00001, 0.99945, 0.99897, 0.99968, 0.99924, 1.00036, 0.99945, 0.99949,
            1, 1.0006, 0.99897, 0.99918, 0.99968, 0.99911, 0.99924, 1, 0.99962, 1.01487, 1, 1.0005, 0.99973, 1.00012,
            1.00043, 1, 0.99995, 0.99994, 1.00036, 0.99947, 1.00019, 1.00063, 1.00025, 0.99924, 1.00036, 0.99973,
            1.00036, 1.00025, 1.00001, 1.00001, 1.00027, 1.0001, 1.00068, 1.00001, 1.0006, 1.0006, 1, 1.00008, 0.99957,
            0.99972, 0.9994, 0.99954, 0.99975, 1.00051, 1.00001, 1.00019, 1.00001, 1.0001, 0.99986, 1.00001, 1.00001,
            1.00038, 0.99954, 0.99954, 0.9994, 1.00066, 0.99999, 0.99977, 1.00022, 1.00054, 1.00001, 0.99977, 1.00026,
            0.99975, 1.0001, 1.00001, 0.99993, 0.9995, 0.99955, 1.00016, 0.99978, 0.99974, 1.00019, 1.00022, 0.99955,
            1.00053, 0.99973, 1.00089, 1.00005, 0.99967, 1.00048, 0.99973, 1.00002, 1.00034, 0.99973, 0.99973, 0.99964,
            1.00006, 1.00066, 0.99947, 0.99973, 0.98894, 0.99973, 1, 0.44898, 1, 0.99946, 1, 1.00039, 1.00082, 0.99991,
            0.99991, 0.99985, 1.00022, 1.00023, 1.00061, 1.00006, 0.99966, 0.99973, 0.99973, 0.99973, 1.00019, 1.0008,
            1, 0.99924, 0.99924, 0.99924, 0.99983, 1.00044, 0.99973, 0.99964, 0.98332, 1, 0.99973, 1, 1, 0.99962,
            0.99895, 1.00016, 0.99977, 1.00016, 0.99977, 1.00016, 0.99977, 1.00001, 1, 1, 1, 0.99973, 1, 1, 0.99955,
            0.99924, 0.99924, 0.99924, 0.99924, 0.99998, 0.99998, 0.99998, 0.99973, 0.99973, 0.99972, 1, 1, 1.00267,
            0.99999, 0.99998, 0.99998, 1, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 1.00423, 0.99925,
            0.99999, 1, 0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1.00049, 1, 1.00245, 1, 1, 1, 1, 0.96329,
            1, 1.20985, 1.39713, 1.00003, 0.8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 1.00003, 1.00031,
            1.00031, 0.99999, 1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026,
            1.00026, 0.95317, 0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962,
            1.00042, 0.9995, 1, 1, 1, 1, 1, 1, 1, 1, 0.99998, 0.99998, 0.99998, 0.99998, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1,
          ];
          t.HelveticaItalicMetrics = { lineHeight: 1.35, lineGap: 0.2 };
          t.HelveticaRegularFactors = [
            0.76116, 1, 1, 1.0006, 1.0006, 1.00006, 0.99973, 0.99973, 0.99982, 1.00001, 1.00043, 0.99998, 0.99998,
            0.99959, 1.00003, 1.0006, 0.99998, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1, 1.00003, 1.00003, 1.00003, 0.99973, 0.99987, 1.00001,
            1.00001, 0.99977, 0.99977, 1.00001, 1.00026, 1.00022, 0.99977, 1.0006, 1, 1.00001, 0.99973, 0.99999,
            0.99977, 1.00022, 1.00001, 1.00022, 0.99977, 1.00001, 1.00026, 0.99977, 1.00001, 1.00016, 1.00001, 1.00001,
            1.00026, 1.0006, 1.0006, 1.0006, 0.99949, 0.99973, 0.99998, 0.99973, 0.99973, 1, 0.99973, 0.99973, 1.0006,
            0.99973, 0.99973, 0.99924, 0.99924, 1, 0.99924, 0.99999, 0.99973, 0.99973, 0.99973, 0.99973, 0.99998, 1,
            1.0006, 0.99973, 1, 0.99977, 1, 1, 1, 1.00005, 1.0009, 1.00005, 1.00003, 0.99998, 0.99973, 0.99973, 0.99973,
            0.99973, 1.0009, 0.99973, 0.99998, 1.00025, 0.99968, 0.99973, 1.00003, 1.00025, 0.60299, 1.00024, 1.06409,
            1, 1, 0.99998, 1, 0.9998, 1.0006, 0.99998, 1, 0.99936, 0.99973, 1.00002, 1.00002, 1.00002, 1.00026, 1.00001,
            1.00001, 1.00001, 1.00001, 1.00001, 1.00001, 1, 0.99977, 1.00001, 1.00001, 1.00001, 1.00001, 1.0006, 1.0006,
            1.0006, 1.0006, 0.99977, 0.99977, 1.00022, 1.00022, 1.00022, 1.00022, 1.00022, 1.00003, 1.00022, 0.99977,
            0.99977, 0.99977, 0.99977, 1.00001, 1.00001, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973, 0.99973,
            0.99982, 1, 0.99973, 0.99973, 0.99973, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 0.99973, 0.99973, 0.99973,
            0.99973, 0.99973, 0.99973, 0.99973, 1.06409, 1.00026, 0.99973, 0.99973, 0.99973, 0.99973, 1, 0.99973, 1,
            1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 0.99977, 1, 0.99977, 1, 0.99977, 1, 0.99977, 1,
            0.99977, 1.04596, 0.99977, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973, 1.00001, 0.99973,
            1.00001, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 0.99977, 0.99973,
            0.99977, 0.99973, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 0.99924, 1.0006, 1.0006, 1.00019,
            1.00034, 1, 0.99924, 1.00001, 1, 1, 0.99973, 0.99924, 0.99973, 0.99924, 0.99973, 1.02572, 0.99973, 1.00005,
            0.99973, 0.99924, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99999, 0.9998, 0.99973, 1.00022,
            0.99973, 1.00022, 0.99973, 1.00022, 0.99973, 1, 1.00016, 0.99977, 0.99998, 0.99977, 0.99998, 0.99977,
            0.99998, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00001, 1, 1.00026, 1.0006, 1.00026, 0.84533, 1.00026, 1.0006,
            0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973, 0.99977, 0.99973,
            1.00016, 0.99977, 1.00001, 1, 1.00001, 1.00026, 1, 1.00026, 1, 1.00026, 1, 0.99924, 0.99973, 1.00001,
            0.99973, 1, 0.99982, 1.00022, 1.00026, 1.00001, 1, 1.00026, 1.0006, 0.99998, 0.99998, 0.99998, 0.99998,
            0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99998, 0.99928, 1, 0.99977, 1.00013, 1.00055,
            0.99947, 0.99945, 0.99941, 0.99924, 1.00001, 1.00001, 1.0004, 0.91621, 1.00001, 1.00026, 0.99977, 1.00022,
            1.0006, 1.00001, 1.00005, 0.99999, 0.99977, 1.00015, 1.00022, 0.99977, 1.00001, 0.99973, 1.00026, 1.00001,
            1.00019, 1.00001, 0.99946, 1, 1.0006, 1.00001, 0.99978, 1.00045, 0.99973, 0.99924, 1.00023, 0.99978,
            0.99966, 1, 1.00065, 1.00045, 1.00019, 0.99973, 0.99973, 0.99924, 1, 1, 0.96499, 1, 1.00055, 0.99973,
            1.00008, 1.00027, 1, 0.9997, 0.99995, 1.00023, 0.99933, 1.00019, 1.00015, 1.00031, 0.99924, 1.00023,
            0.99973, 1.00023, 1.00031, 1.00001, 0.99928, 1.00029, 1.00092, 1.00035, 1.00001, 1.0006, 1.0006, 1, 0.99988,
            0.99975, 1, 1.00082, 0.99561, 0.9996, 1.00035, 1.00001, 0.99962, 1.00001, 1.00092, 0.99964, 1.00001,
            0.99963, 0.99999, 1.00035, 1.00035, 1.00082, 0.99962, 0.99999, 0.99977, 1.00022, 1.00035, 1.00001, 0.99977,
            1.00026, 0.9996, 0.99967, 1.00001, 1.00034, 1.00074, 1.00054, 1.00053, 1.00063, 0.99971, 0.99962, 1.00035,
            0.99975, 0.99977, 0.99973, 1.00043, 0.99953, 1.0007, 0.99915, 0.99973, 1.00008, 0.99892, 1.00073, 1.00073,
            1.00114, 0.99915, 1.00073, 0.99955, 0.99973, 1.00092, 0.99973, 1, 0.99998, 1, 1.0003, 1, 1.00043, 1.00001,
            0.99969, 1.0003, 1, 1.00035, 1.00001, 0.9995, 1, 1.00092, 0.99973, 0.99973, 0.99973, 1.0007, 0.9995, 1,
            0.99924, 1.0006, 0.99924, 0.99972, 1.00062, 0.99973, 1.00114, 1.00073, 1, 0.99955, 1, 1, 1.00047, 0.99968,
            1.00016, 0.99977, 1.00016, 0.99977, 1.00016, 0.99977, 1.00001, 1, 1, 1, 0.99973, 1, 1, 0.99955, 0.99924,
            0.99924, 0.99924, 0.99924, 0.99998, 0.99998, 0.99998, 0.99973, 0.99973, 0.99972, 1, 1, 1.00267, 0.99999,
            0.99998, 0.99998, 1, 0.99998, 1.66475, 1, 0.99973, 0.99973, 1.00023, 0.99973, 0.99971, 0.99925, 1.00023, 1,
            0.99991, 0.99984, 1.00002, 1.00002, 1.00002, 1.00002, 1, 1, 1, 1, 1, 1, 1, 0.96329, 1, 1.20985, 1.39713,
            1.00003, 0.8254, 1.00015, 1, 1.00035, 1.00027, 1.00031, 1.00031, 0.99915, 1.00031, 1.00031, 0.99999,
            1.00003, 0.99999, 0.99999, 1.41144, 1.6, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144, 1.41144,
            1.40579, 1.40579, 1.36625, 0.99999, 1, 0.99861, 0.99861, 1, 1.00026, 1.00026, 1.00026, 1.00026, 0.95317,
            0.99999, 0.99999, 0.99999, 0.99999, 1.40483, 1, 0.99977, 1.00054, 1, 1, 0.99953, 0.99962, 1.00042, 0.9995,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.HelveticaRegularMetrics = { lineHeight: 1.2, lineGap: 0.2 };
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.LiberationSansRegularWidths =
            t.LiberationSansRegularMapping =
            t.LiberationSansItalicWidths =
            t.LiberationSansItalicMapping =
            t.LiberationSansBoldWidths =
            t.LiberationSansBoldMapping =
            t.LiberationSansBoldItalicWidths =
            t.LiberationSansBoldItalicMapping =
              void 0;
          t.LiberationSansBoldWidths = [
            365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
            556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778,
            722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278,
            333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611,
            389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333,
            737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834,
            611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
            778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556,
            556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556,
            611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 719, 722, 611, 667,
            556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611,
            278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 785, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278,
            611, 385, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611,
            1e3, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611,
            333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611,
            500, 611, 500, 278, 556, 722, 556, 1e3, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333,
            333, 333, 333, 333, 465, 722, 333, 853, 906, 474, 825, 927, 838, 278, 722, 722, 601, 719, 667, 611, 722,
            778, 278, 722, 667, 833, 722, 644, 778, 722, 667, 600, 611, 667, 821, 667, 809, 802, 278, 667, 615, 451,
            611, 278, 582, 615, 610, 556, 606, 475, 460, 611, 541, 278, 558, 556, 612, 556, 445, 611, 766, 619, 520,
            684, 446, 582, 715, 576, 753, 845, 278, 582, 611, 582, 845, 667, 669, 885, 567, 711, 667, 278, 276, 556,
            1094, 1062, 875, 610, 722, 622, 719, 722, 719, 722, 567, 712, 667, 904, 626, 719, 719, 610, 702, 833, 722,
            778, 719, 667, 722, 611, 622, 854, 667, 730, 703, 1005, 1019, 870, 979, 719, 711, 1031, 719, 556, 618, 615,
            417, 635, 556, 709, 497, 615, 615, 500, 635, 740, 604, 611, 604, 611, 556, 490, 556, 875, 556, 615, 581,
            833, 844, 729, 854, 615, 552, 854, 583, 556, 556, 611, 417, 552, 556, 278, 281, 278, 969, 906, 611, 500,
            615, 556, 604, 778, 611, 487, 447, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1e3, 1e3, 552,
            278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1e3, 1e3, 240, 479, 333, 333, 604, 333, 167, 396, 556,
            556, 1094, 556, 885, 489, 1115, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 1e3, 500, 1e3, 500, 500, 494,
            612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
            750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
            333, 333, 333, 333, 333, 333, 333, 333,
          ];
          t.LiberationSansBoldMapping = [
            -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
            56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
            83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
            108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
            163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
            185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
            206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
            227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
            248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
            269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
            290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
            311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
            332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
            353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
            374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
            710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
            914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
            936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
            957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
            1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
            1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
            1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
            1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
            1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
            1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
            8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
            8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
            8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
            8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
            9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
            9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
            9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
            9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
          ];
          t.LiberationSansBoldItalicWidths = [
            365, 0, 333, 278, 333, 474, 556, 556, 889, 722, 238, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
            556, 556, 556, 556, 556, 556, 556, 333, 333, 584, 584, 584, 611, 975, 722, 722, 722, 722, 667, 611, 778,
            722, 278, 556, 722, 611, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 333, 278,
            333, 584, 556, 333, 556, 611, 556, 611, 556, 333, 611, 611, 278, 278, 556, 278, 889, 611, 611, 611, 611,
            389, 556, 333, 611, 556, 778, 556, 556, 500, 389, 280, 389, 584, 333, 556, 556, 556, 556, 280, 556, 333,
            737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 556, 278, 333, 333, 365, 556, 834, 834, 834,
            611, 722, 722, 722, 722, 722, 722, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
            778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 556, 556,
            556, 556, 556, 278, 278, 278, 278, 611, 611, 611, 611, 611, 611, 611, 549, 611, 611, 611, 611, 611, 556,
            611, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 740, 722, 611, 667,
            556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 611, 778, 611, 778, 611, 778, 611, 722, 611, 722, 611,
            278, 278, 278, 278, 278, 278, 278, 278, 278, 278, 782, 556, 556, 278, 722, 556, 556, 611, 278, 611, 278,
            611, 396, 611, 479, 611, 278, 722, 611, 722, 611, 722, 611, 708, 723, 611, 778, 611, 778, 611, 778, 611,
            1e3, 944, 722, 389, 722, 389, 722, 389, 667, 556, 667, 556, 667, 556, 667, 556, 611, 333, 611, 479, 611,
            333, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 722, 611, 944, 778, 667, 556, 667, 611, 500, 611,
            500, 611, 500, 278, 556, 722, 556, 1e3, 889, 778, 611, 667, 556, 611, 333, 333, 333, 333, 333, 333, 333,
            333, 333, 333, 333, 333, 722, 333, 854, 906, 473, 844, 930, 847, 278, 722, 722, 610, 671, 667, 611, 722,
            778, 278, 722, 667, 833, 722, 657, 778, 718, 667, 590, 611, 667, 822, 667, 829, 781, 278, 667, 620, 479,
            611, 278, 591, 620, 621, 556, 610, 479, 492, 611, 558, 278, 566, 556, 603, 556, 450, 611, 712, 605, 532,
            664, 409, 591, 704, 578, 773, 834, 278, 591, 611, 591, 834, 667, 667, 886, 614, 719, 667, 278, 278, 556,
            1094, 1042, 854, 622, 719, 677, 719, 722, 708, 722, 614, 722, 667, 927, 643, 719, 719, 615, 687, 833, 722,
            778, 719, 667, 722, 611, 677, 781, 667, 729, 708, 979, 989, 854, 1e3, 708, 719, 1042, 729, 556, 619, 604,
            534, 618, 556, 736, 510, 611, 611, 507, 622, 740, 604, 611, 611, 611, 556, 889, 556, 885, 556, 646, 583,
            889, 935, 707, 854, 594, 552, 865, 589, 556, 556, 611, 469, 563, 556, 278, 278, 278, 969, 906, 611, 507,
            619, 556, 611, 778, 611, 575, 467, 944, 778, 944, 778, 944, 778, 667, 556, 333, 333, 556, 1e3, 1e3, 552,
            278, 278, 278, 278, 500, 500, 500, 556, 556, 350, 1e3, 1e3, 240, 479, 333, 333, 604, 333, 167, 396, 556,
            556, 1104, 556, 885, 516, 1146, 1e3, 768, 600, 834, 834, 834, 834, 999, 500, 1e3, 500, 1e3, 500, 500, 494,
            612, 823, 713, 584, 549, 713, 979, 722, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
            750, 750, 531, 656, 594, 510, 500, 750, 750, 611, 611, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
            333, 333, 333, 333, 333, 333, 333, 333,
          ];
          t.LiberationSansBoldItalicMapping = [
            -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
            56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
            83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
            108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
            163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
            185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
            206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
            227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
            248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
            269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
            290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
            311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
            332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
            353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
            374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
            710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
            914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
            936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
            957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
            1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
            1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
            1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
            1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
            1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
            1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
            8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
            8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
            8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
            8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
            9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
            9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
            9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
            9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
          ];
          t.LiberationSansItalicWidths = [
            365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
            556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778,
            722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278,
            278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556,
            333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333,
            737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834,
            611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
            778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556,
            556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500,
            556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 625, 722, 556, 667,
            556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556,
            278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 733, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222,
            556, 281, 556, 400, 556, 222, 722, 556, 722, 556, 722, 556, 615, 723, 556, 778, 556, 778, 556, 778, 556,
            1e3, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 354, 611,
            278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611,
            500, 611, 500, 222, 556, 667, 556, 1e3, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333,
            333, 333, 333, 333, 333, 667, 278, 789, 846, 389, 794, 865, 775, 222, 667, 667, 570, 671, 667, 611, 722,
            778, 278, 667, 667, 833, 722, 648, 778, 725, 667, 600, 611, 667, 837, 667, 831, 761, 278, 667, 570, 439,
            555, 222, 550, 570, 571, 500, 556, 439, 463, 555, 542, 222, 500, 492, 548, 500, 447, 556, 670, 573, 486,
            603, 374, 550, 652, 546, 728, 779, 222, 550, 556, 550, 779, 667, 667, 843, 544, 708, 667, 278, 278, 500,
            1066, 982, 844, 589, 715, 639, 724, 667, 651, 667, 544, 704, 667, 917, 614, 715, 715, 589, 686, 833, 722,
            778, 725, 667, 722, 611, 639, 795, 667, 727, 673, 920, 923, 805, 886, 651, 694, 1022, 682, 556, 562, 522,
            493, 553, 556, 688, 465, 556, 556, 472, 564, 686, 550, 556, 556, 556, 500, 833, 500, 835, 500, 572, 518,
            830, 851, 621, 736, 526, 492, 752, 534, 556, 556, 556, 378, 496, 500, 222, 222, 222, 910, 828, 556, 472,
            565, 500, 556, 778, 556, 492, 339, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1e3, 1e3, 552,
            222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1e3, 1e3, 188, 354, 333, 333, 500, 333, 167, 365, 556,
            556, 1094, 556, 885, 323, 1083, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 998, 500, 1e3, 500, 500, 494,
            612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 584, 549, 549, 604, 584, 604, 604, 708, 625, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
            750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
            294, 294, 324, 324, 316, 328, 398, 285,
          ];
          t.LiberationSansItalicMapping = [
            -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
            56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
            83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
            108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
            163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
            185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
            206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
            227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
            248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
            269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
            290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
            311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
            332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
            353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
            374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
            710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
            914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
            936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
            957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
            1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
            1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
            1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
            1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
            1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
            1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
            8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
            8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
            8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
            8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
            9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
            9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
            9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
            9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
          ];
          t.LiberationSansRegularWidths = [
            365, 0, 333, 278, 278, 355, 556, 556, 889, 667, 191, 333, 333, 389, 584, 278, 333, 278, 278, 556, 556, 556,
            556, 556, 556, 556, 556, 556, 556, 278, 278, 584, 584, 584, 556, 1015, 667, 667, 722, 722, 667, 611, 778,
            722, 278, 500, 667, 556, 833, 722, 778, 667, 778, 722, 667, 611, 722, 667, 944, 667, 667, 611, 278, 278,
            278, 469, 556, 333, 556, 556, 500, 556, 556, 278, 556, 556, 222, 222, 500, 222, 833, 556, 556, 556, 556,
            333, 500, 278, 556, 500, 722, 500, 500, 500, 334, 260, 334, 584, 333, 556, 556, 556, 556, 260, 556, 333,
            737, 370, 556, 584, 737, 552, 400, 549, 333, 333, 333, 576, 537, 278, 333, 333, 365, 556, 834, 834, 834,
            611, 667, 667, 667, 667, 667, 667, 1e3, 722, 667, 667, 667, 667, 278, 278, 278, 278, 722, 722, 778, 778,
            778, 778, 778, 584, 778, 722, 722, 722, 722, 667, 667, 611, 556, 556, 556, 556, 556, 556, 889, 500, 556,
            556, 556, 556, 278, 278, 278, 278, 556, 556, 556, 556, 556, 556, 556, 549, 611, 556, 556, 556, 556, 500,
            556, 500, 667, 556, 667, 556, 667, 556, 722, 500, 722, 500, 722, 500, 722, 500, 722, 615, 722, 556, 667,
            556, 667, 556, 667, 556, 667, 556, 667, 556, 778, 556, 778, 556, 778, 556, 778, 556, 722, 556, 722, 556,
            278, 278, 278, 278, 278, 278, 278, 222, 278, 278, 735, 444, 500, 222, 667, 500, 500, 556, 222, 556, 222,
            556, 292, 556, 334, 556, 222, 722, 556, 722, 556, 722, 556, 604, 723, 556, 778, 556, 778, 556, 778, 556,
            1e3, 944, 722, 333, 722, 333, 722, 333, 667, 500, 667, 500, 667, 500, 667, 500, 611, 278, 611, 375, 611,
            278, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 722, 556, 944, 722, 667, 500, 667, 611, 500, 611,
            500, 611, 500, 222, 556, 667, 556, 1e3, 889, 778, 611, 667, 500, 611, 278, 333, 333, 333, 333, 333, 333,
            333, 333, 333, 333, 333, 667, 278, 784, 838, 384, 774, 855, 752, 222, 667, 667, 551, 668, 667, 611, 722,
            778, 278, 667, 668, 833, 722, 650, 778, 722, 667, 618, 611, 667, 798, 667, 835, 748, 278, 667, 578, 446,
            556, 222, 547, 578, 575, 500, 557, 446, 441, 556, 556, 222, 500, 500, 576, 500, 448, 556, 690, 569, 482,
            617, 395, 547, 648, 525, 713, 781, 222, 547, 556, 547, 781, 667, 667, 865, 542, 719, 667, 278, 278, 500,
            1057, 1010, 854, 583, 722, 635, 719, 667, 656, 667, 542, 677, 667, 923, 604, 719, 719, 583, 656, 833, 722,
            778, 719, 667, 722, 611, 635, 760, 667, 740, 667, 917, 938, 792, 885, 656, 719, 1010, 722, 556, 573, 531,
            365, 583, 556, 669, 458, 559, 559, 438, 583, 688, 552, 556, 542, 556, 500, 458, 500, 823, 500, 573, 521,
            802, 823, 625, 719, 521, 510, 750, 542, 556, 556, 556, 365, 510, 500, 222, 278, 222, 906, 812, 556, 438,
            559, 500, 552, 778, 556, 489, 411, 944, 722, 944, 722, 944, 722, 667, 500, 333, 333, 556, 1e3, 1e3, 552,
            222, 222, 222, 222, 333, 333, 333, 556, 556, 350, 1e3, 1e3, 188, 354, 333, 333, 500, 333, 167, 365, 556,
            556, 1094, 556, 885, 323, 1073, 1e3, 768, 600, 834, 834, 834, 834, 1e3, 500, 1e3, 500, 1e3, 500, 500, 494,
            612, 823, 713, 584, 549, 713, 979, 719, 274, 549, 549, 583, 549, 549, 604, 584, 604, 604, 708, 625, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
            708, 708, 729, 604, 604, 354, 354, 1e3, 990, 990, 990, 990, 494, 604, 604, 604, 604, 354, 1021, 1052, 917,
            750, 750, 531, 656, 594, 510, 500, 750, 750, 500, 500, 333, 333, 333, 333, 333, 333, 333, 333, 222, 222,
            294, 294, 324, 324, 316, 328, 398, 285,
          ];
          t.LiberationSansRegularMapping = [
            -1, -1, -1, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
            56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
            83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
            108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 161, 162,
            163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
            185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
            206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
            227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
            248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
            269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
            290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
            311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
            332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
            353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
            374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 402, 506, 507, 508, 509, 510, 511, 536, 537, 538, 539,
            710, 711, 713, 728, 729, 730, 731, 732, 733, 900, 901, 902, 903, 904, 905, 906, 908, 910, 911, 912, 913,
            914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 931, 932, 933, 934, 935,
            936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956,
            957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 1024, 1025, 1026,
            1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044,
            1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
            1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080,
            1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098,
            1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116,
            1117, 1118, 1119, 1138, 1139, 1168, 1169, 7808, 7809, 7810, 7811, 7812, 7813, 7922, 7923, 8208, 8209, 8211,
            8212, 8213, 8215, 8216, 8217, 8218, 8219, 8220, 8221, 8222, 8224, 8225, 8226, 8230, 8240, 8242, 8243, 8249,
            8250, 8252, 8254, 8260, 8319, 8355, 8356, 8359, 8364, 8453, 8467, 8470, 8482, 8486, 8494, 8539, 8540, 8541,
            8542, 8592, 8593, 8594, 8595, 8596, 8597, 8616, 8706, 8710, 8719, 8721, 8722, 8730, 8734, 8735, 8745, 8747,
            8776, 8800, 8801, 8804, 8805, 8962, 8976, 8992, 8993, 9472, 9474, 9484, 9488, 9492, 9496, 9500, 9508, 9516,
            9524, 9532, 9552, 9553, 9554, 9555, 9556, 9557, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9567,
            9568, 9569, 9570, 9571, 9572, 9573, 9574, 9575, 9576, 9577, 9578, 9579, 9580, 9600, 9604, 9608, 9612, 9616,
            9617, 9618, 9619, 9632, 9633, 9642, 9643, 9644, 9650, 9658, 9660, 9668, 9674, 9675, 9679, 9688, 9689, 9702,
            9786, 9787, 9788, 9792, 9794, 9824, 9827, 9829, 9830, 9834, 9835, 9836, 61441, 61442, 61445, -1, -1, -1, -1,
            -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
          ];
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.MyriadProRegularMetrics =
            t.MyriadProRegularFactors =
            t.MyriadProItalicMetrics =
            t.MyriadProItalicFactors =
            t.MyriadProBoldMetrics =
            t.MyriadProBoldItalicMetrics =
            t.MyriadProBoldItalicFactors =
            t.MyriadProBoldFactors =
              void 0;
          t.MyriadProBoldFactors = [
            1.36898, 1, 1, 0.72706, 0.80479, 0.83734, 0.98894, 0.99793, 0.9897, 0.93884, 0.86209, 0.94292, 0.94292,
            1.16661, 1.02058, 0.93582, 0.96694, 0.93582, 1.19137, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793, 0.99793,
            0.99793, 0.99793, 0.99793, 0.99793, 0.78076, 0.78076, 1.02058, 1.02058, 1.02058, 0.72851, 0.78966, 0.90838,
            0.83637, 0.82391, 0.96376, 0.80061, 0.86275, 0.8768, 0.95407, 1.0258, 0.73901, 0.85022, 0.83655, 1.0156,
            0.95546, 0.92179, 0.87107, 0.92179, 0.82114, 0.8096, 0.89713, 0.94438, 0.95353, 0.94083, 0.91905, 0.90406,
            0.9446, 0.94292, 1.18777, 0.94292, 1.02058, 0.89903, 0.90088, 0.94938, 0.97898, 0.81093, 0.97571, 0.94938,
            1.024, 0.9577, 0.95933, 0.98621, 1.0474, 0.97455, 0.98981, 0.9672, 0.95933, 0.9446, 0.97898, 0.97407,
            0.97646, 0.78036, 1.10208, 0.95442, 0.95298, 0.97579, 0.9332, 0.94039, 0.938, 0.80687, 1.01149, 0.80687,
            1.02058, 0.80479, 0.99793, 0.99793, 0.99793, 0.99793, 1.01149, 1.00872, 0.90088, 0.91882, 1.0213, 0.8361,
            1.02058, 0.62295, 0.54324, 0.89022, 1.08595, 1, 1, 0.90088, 1, 0.97455, 0.93582, 0.90088, 1, 1.05686,
            0.8361, 0.99642, 0.99642, 0.99642, 0.72851, 0.90838, 0.90838, 0.90838, 0.90838, 0.90838, 0.90838, 0.868,
            0.82391, 0.80061, 0.80061, 0.80061, 0.80061, 1.0258, 1.0258, 1.0258, 1.0258, 0.97484, 0.95546, 0.92179,
            0.92179, 0.92179, 0.92179, 0.92179, 1.02058, 0.92179, 0.94438, 0.94438, 0.94438, 0.94438, 0.90406, 0.86958,
            0.98225, 0.94938, 0.94938, 0.94938, 0.94938, 0.94938, 0.94938, 0.9031, 0.81093, 0.94938, 0.94938, 0.94938,
            0.94938, 0.98621, 0.98621, 0.98621, 0.98621, 0.93969, 0.95933, 0.9446, 0.9446, 0.9446, 0.9446, 0.9446,
            1.08595, 0.9446, 0.95442, 0.95442, 0.95442, 0.95442, 0.94039, 0.97898, 0.94039, 0.90838, 0.94938, 0.90838,
            0.94938, 0.90838, 0.94938, 0.82391, 0.81093, 0.82391, 0.81093, 0.82391, 0.81093, 0.82391, 0.81093, 0.96376,
            0.84313, 0.97484, 0.97571, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061, 0.94938, 0.80061,
            0.94938, 0.8768, 0.9577, 0.8768, 0.9577, 0.8768, 0.9577, 1, 1, 0.95407, 0.95933, 0.97069, 0.95933, 1.0258,
            0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 1.0258, 0.98621, 0.887, 1.01591, 0.73901,
            1.0474, 1, 1, 0.97455, 0.83655, 0.98981, 1, 1, 0.83655, 0.73977, 0.83655, 0.73903, 0.84638, 1.033, 0.95546,
            0.95933, 1, 1, 0.95546, 0.95933, 0.8271, 0.95417, 0.95933, 0.92179, 0.9446, 0.92179, 0.9446, 0.92179,
            0.9446, 0.936, 0.91964, 0.82114, 0.97646, 1, 1, 0.82114, 0.97646, 0.8096, 0.78036, 0.8096, 0.78036, 1, 1,
            0.8096, 0.78036, 1, 1, 0.89713, 0.77452, 0.89713, 1.10208, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438,
            0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94438, 0.95442, 0.94083, 0.97579, 0.90406, 0.94039, 0.90406,
            0.9446, 0.938, 0.9446, 0.938, 0.9446, 0.938, 1, 0.99793, 0.90838, 0.94938, 0.868, 0.9031, 0.92179, 0.9446,
            1, 1, 0.89713, 1.10208, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088,
            0.90989, 0.9358, 0.91945, 0.83181, 0.75261, 0.87992, 0.82976, 0.96034, 0.83689, 0.97268, 1.0078, 0.90838,
            0.83637, 0.8019, 0.90157, 0.80061, 0.9446, 0.95407, 0.92436, 1.0258, 0.85022, 0.97153, 1.0156, 0.95546,
            0.89192, 0.92179, 0.92361, 0.87107, 0.96318, 0.89713, 0.93704, 0.95638, 0.91905, 0.91709, 0.92796, 1.0258,
            0.93704, 0.94836, 1.0373, 0.95933, 1.0078, 0.95871, 0.94836, 0.96174, 0.92601, 0.9498, 0.98607, 0.95776,
            0.95933, 1.05453, 1.0078, 0.98275, 0.9314, 0.95617, 0.91701, 1.05993, 0.9446, 0.78367, 0.9553, 1, 0.86832,
            1.0128, 0.95871, 0.99394, 0.87548, 0.96361, 0.86774, 1.0078, 0.95871, 0.9446, 0.95871, 0.86774, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.94083, 0.97579, 0.94083, 0.97579,
            0.94083, 0.97579, 0.90406, 0.94039, 0.96694, 1, 0.89903, 1, 1, 1, 0.93582, 0.93582, 0.93582, 1, 0.908,
            0.908, 0.918, 0.94219, 0.94219, 0.96544, 1, 1.285, 1, 1, 0.81079, 0.81079, 1, 1, 0.74854, 1, 1, 1, 1,
            0.99793, 1, 1, 1, 0.65, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.17173, 1, 0.80535, 0.76169, 1.02058,
            1.0732, 1.05486, 1, 1, 1.30692, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.16161, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.MyriadProBoldMetrics = { lineHeight: 1.2, lineGap: 0.2 };
          t.MyriadProBoldItalicFactors = [
            1.36898, 1, 1, 0.66227, 0.80779, 0.81625, 0.97276, 0.97276, 0.97733, 0.92222, 0.83266, 0.94292, 0.94292,
            1.16148, 1.02058, 0.93582, 0.96694, 0.93582, 1.17337, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276, 0.97276,
            0.97276, 0.97276, 0.97276, 0.97276, 0.78076, 0.78076, 1.02058, 1.02058, 1.02058, 0.71541, 0.76813, 0.85576,
            0.80591, 0.80729, 0.94299, 0.77512, 0.83655, 0.86523, 0.92222, 0.98621, 0.71743, 0.81698, 0.79726, 0.98558,
            0.92222, 0.90637, 0.83809, 0.90637, 0.80729, 0.76463, 0.86275, 0.90699, 0.91605, 0.9154, 0.85308, 0.85458,
            0.90531, 0.94292, 1.21296, 0.94292, 1.02058, 0.89903, 1.18616, 0.99613, 0.91677, 0.78216, 0.91677, 0.90083,
            0.98796, 0.9135, 0.92168, 0.95381, 0.98981, 0.95298, 0.95381, 0.93459, 0.92168, 0.91513, 0.92004, 0.91677,
            0.95077, 0.748, 1.04502, 0.91677, 0.92061, 0.94236, 0.89544, 0.89364, 0.9, 0.80687, 0.8578, 0.80687,
            1.02058, 0.80779, 0.97276, 0.97276, 0.97276, 0.97276, 0.8578, 0.99973, 1.18616, 0.91339, 1.08074, 0.82891,
            1.02058, 0.55509, 0.71526, 0.89022, 1.08595, 1, 1, 1.18616, 1, 0.96736, 0.93582, 1.18616, 1, 1.04864,
            0.82711, 0.99043, 0.99043, 0.99043, 0.71541, 0.85576, 0.85576, 0.85576, 0.85576, 0.85576, 0.85576, 0.845,
            0.80729, 0.77512, 0.77512, 0.77512, 0.77512, 0.98621, 0.98621, 0.98621, 0.98621, 0.95961, 0.92222, 0.90637,
            0.90637, 0.90637, 0.90637, 0.90637, 1.02058, 0.90251, 0.90699, 0.90699, 0.90699, 0.90699, 0.85458, 0.83659,
            0.94951, 0.99613, 0.99613, 0.99613, 0.99613, 0.99613, 0.99613, 0.85811, 0.78216, 0.90083, 0.90083, 0.90083,
            0.90083, 0.95381, 0.95381, 0.95381, 0.95381, 0.9135, 0.92168, 0.91513, 0.91513, 0.91513, 0.91513, 0.91513,
            1.08595, 0.91677, 0.91677, 0.91677, 0.91677, 0.91677, 0.89364, 0.92332, 0.89364, 0.85576, 0.99613, 0.85576,
            0.99613, 0.85576, 0.99613, 0.80729, 0.78216, 0.80729, 0.78216, 0.80729, 0.78216, 0.80729, 0.78216, 0.94299,
            0.76783, 0.95961, 0.91677, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512, 0.90083, 0.77512,
            0.90083, 0.86523, 0.9135, 0.86523, 0.9135, 0.86523, 0.9135, 1, 1, 0.92222, 0.92168, 0.92222, 0.92168,
            0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.98621, 0.95381, 0.86036, 0.97096,
            0.71743, 0.98981, 1, 1, 0.95298, 0.79726, 0.95381, 1, 1, 0.79726, 0.6894, 0.79726, 0.74321, 0.81691, 1.0006,
            0.92222, 0.92168, 1, 1, 0.92222, 0.92168, 0.79464, 0.92098, 0.92168, 0.90637, 0.91513, 0.90637, 0.91513,
            0.90637, 0.91513, 0.909, 0.87514, 0.80729, 0.95077, 1, 1, 0.80729, 0.95077, 0.76463, 0.748, 0.76463, 0.748,
            1, 1, 0.76463, 0.748, 1, 1, 0.86275, 0.72651, 0.86275, 1.04502, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699,
            0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.90699, 0.91677, 0.9154, 0.94236, 0.85458, 0.89364, 0.85458,
            0.90531, 0.9, 0.90531, 0.9, 0.90531, 0.9, 1, 0.97276, 0.85576, 0.99613, 0.845, 0.85811, 0.90251, 0.91677, 1,
            1, 0.86275, 1.04502, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616, 1.18616,
            1.00899, 1.30628, 0.85576, 0.80178, 0.66862, 0.7927, 0.69323, 0.88127, 0.72459, 0.89711, 0.95381, 0.85576,
            0.80591, 0.7805, 0.94729, 0.77512, 0.90531, 0.92222, 0.90637, 0.98621, 0.81698, 0.92655, 0.98558, 0.92222,
            0.85359, 0.90637, 0.90976, 0.83809, 0.94523, 0.86275, 0.83509, 0.93157, 0.85308, 0.83392, 0.92346, 0.98621,
            0.83509, 0.92886, 0.91324, 0.92168, 0.95381, 0.90646, 0.92886, 0.90557, 0.86847, 0.90276, 0.91324, 0.86842,
            0.92168, 0.99531, 0.95381, 0.9224, 0.85408, 0.92699, 0.86847, 1.0051, 0.91513, 0.80487, 0.93481, 1, 0.88159,
            1.05214, 0.90646, 0.97355, 0.81539, 0.89398, 0.85923, 0.95381, 0.90646, 0.91513, 0.90646, 0.85923, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9154, 0.94236, 0.9154, 0.94236,
            0.9154, 0.94236, 0.85458, 0.89364, 0.96694, 1, 0.89903, 1, 1, 1, 0.91782, 0.91782, 0.91782, 1, 0.896, 0.896,
            0.896, 0.9332, 0.9332, 0.95973, 1, 1.26, 1, 1, 0.80479, 0.80178, 1, 1, 0.85633, 1, 1, 1, 1, 0.97276, 1, 1,
            1, 0.698, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.14542, 1, 0.79199, 0.78694, 1.02058, 1.03493,
            1.05486, 1, 1, 1.23026, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.20006, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.MyriadProBoldItalicMetrics = { lineHeight: 1.2, lineGap: 0.2 };
          t.MyriadProItalicFactors = [
            1.36898, 1, 1, 0.65507, 0.84943, 0.85639, 0.88465, 0.88465, 0.86936, 0.88307, 0.86948, 0.85283, 0.85283,
            1.06383, 1.02058, 0.75945, 0.9219, 0.75945, 1.17337, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465, 0.88465,
            0.88465, 0.88465, 0.88465, 0.88465, 0.75945, 0.75945, 1.02058, 1.02058, 1.02058, 0.69046, 0.70926, 0.85158,
            0.77812, 0.76852, 0.89591, 0.70466, 0.76125, 0.80094, 0.86822, 0.83864, 0.728, 0.77212, 0.79475, 0.93637,
            0.87514, 0.8588, 0.76013, 0.8588, 0.72421, 0.69866, 0.77598, 0.85991, 0.80811, 0.87832, 0.78112, 0.77512,
            0.8562, 1.0222, 1.18417, 1.0222, 1.27014, 0.89903, 1.15012, 0.93859, 0.94399, 0.846, 0.94399, 0.81453,
            1.0186, 0.94219, 0.96017, 1.03075, 1.02175, 0.912, 1.03075, 0.96998, 0.96017, 0.93859, 0.94399, 0.94399,
            0.95493, 0.746, 1.12658, 0.94578, 0.91, 0.979, 0.882, 0.882, 0.83, 0.85034, 0.83537, 0.85034, 1.02058,
            0.70869, 0.88465, 0.88465, 0.88465, 0.88465, 0.83537, 0.90083, 1.15012, 0.9161, 0.94565, 0.73541, 1.02058,
            0.53609, 0.69353, 0.79519, 1.08595, 1, 1, 1.15012, 1, 0.91974, 0.75945, 1.15012, 1, 0.9446, 0.73361, 0.9005,
            0.9005, 0.9005, 0.62864, 0.85158, 0.85158, 0.85158, 0.85158, 0.85158, 0.85158, 0.773, 0.76852, 0.70466,
            0.70466, 0.70466, 0.70466, 0.83864, 0.83864, 0.83864, 0.83864, 0.90561, 0.87514, 0.8588, 0.8588, 0.8588,
            0.8588, 0.8588, 1.02058, 0.85751, 0.85991, 0.85991, 0.85991, 0.85991, 0.77512, 0.76013, 0.88075, 0.93859,
            0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 0.8075, 0.846, 0.81453, 0.81453, 0.81453, 0.81453, 0.82424,
            0.82424, 0.82424, 0.82424, 0.9278, 0.96017, 0.93859, 0.93859, 0.93859, 0.93859, 0.93859, 1.08595, 0.8562,
            0.94578, 0.94578, 0.94578, 0.94578, 0.882, 0.94578, 0.882, 0.85158, 0.93859, 0.85158, 0.93859, 0.85158,
            0.93859, 0.76852, 0.846, 0.76852, 0.846, 0.76852, 0.846, 0.76852, 0.846, 0.89591, 0.8544, 0.90561, 0.94399,
            0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.70466, 0.81453, 0.80094, 0.94219,
            0.80094, 0.94219, 0.80094, 0.94219, 1, 1, 0.86822, 0.96017, 0.86822, 0.96017, 0.83864, 0.82424, 0.83864,
            0.82424, 0.83864, 0.82424, 0.83864, 1.03075, 0.83864, 0.82424, 0.81402, 1.02738, 0.728, 1.02175, 1, 1,
            0.912, 0.79475, 1.03075, 1, 1, 0.79475, 0.83911, 0.79475, 0.66266, 0.80553, 1.06676, 0.87514, 0.96017, 1, 1,
            0.87514, 0.96017, 0.86865, 0.87396, 0.96017, 0.8588, 0.93859, 0.8588, 0.93859, 0.8588, 0.93859, 0.867,
            0.84759, 0.72421, 0.95493, 1, 1, 0.72421, 0.95493, 0.69866, 0.746, 0.69866, 0.746, 1, 1, 0.69866, 0.746, 1,
            1, 0.77598, 0.88417, 0.77598, 1.12658, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.85991,
            0.94578, 0.85991, 0.94578, 0.85991, 0.94578, 0.87832, 0.979, 0.77512, 0.882, 0.77512, 0.8562, 0.83, 0.8562,
            0.83, 0.8562, 0.83, 1, 0.88465, 0.85158, 0.93859, 0.773, 0.8075, 0.85751, 0.8562, 1, 1, 0.77598, 1.12658,
            1.15012, 1.15012, 1.15012, 1.15012, 1.15012, 1.15313, 1.15012, 1.15012, 1.15012, 1.08106, 1.03901, 0.85158,
            0.77025, 0.62264, 0.7646, 0.65351, 0.86026, 0.69461, 0.89947, 1.03075, 0.85158, 0.77812, 0.76449, 0.88836,
            0.70466, 0.8562, 0.86822, 0.8588, 0.83864, 0.77212, 0.85308, 0.93637, 0.87514, 0.82352, 0.8588, 0.85701,
            0.76013, 0.89058, 0.77598, 0.8156, 0.82565, 0.78112, 0.77899, 0.89386, 0.83864, 0.8156, 0.9486, 0.92388,
            0.96186, 1.03075, 0.91123, 0.9486, 0.93298, 0.878, 0.93942, 0.92388, 0.84596, 0.96186, 0.95119, 1.03075,
            0.922, 0.88787, 0.95829, 0.88, 0.93559, 0.93859, 0.78815, 0.93758, 1, 0.89217, 1.03737, 0.91123, 0.93969,
            0.77487, 0.85769, 0.86799, 1.03075, 0.91123, 0.93859, 0.91123, 0.86799, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.87832, 0.979, 0.87832, 0.979, 0.87832, 0.979, 0.77512,
            0.882, 0.9219, 1, 0.89903, 1, 1, 1, 0.87321, 0.87321, 0.87321, 1, 1.027, 1.027, 1.027, 0.86847, 0.86847,
            0.79121, 1, 1.124, 1, 1, 0.73572, 0.73572, 1, 1, 0.85034, 1, 1, 1, 1, 0.88465, 1, 1, 1, 0.669, 1, 1.36145,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04828, 1, 0.74948, 0.75187, 1.02058, 0.98391, 1.02119, 1, 1, 1.06233,
            1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1.05233, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1,
          ];
          t.MyriadProItalicMetrics = { lineHeight: 1.2, lineGap: 0.2 };
          t.MyriadProRegularFactors = [
            1.36898, 1, 1, 0.76305, 0.82784, 0.94935, 0.89364, 0.92241, 0.89073, 0.90706, 0.98472, 0.85283, 0.85283,
            1.0664, 1.02058, 0.74505, 0.9219, 0.74505, 1.23456, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241, 0.92241,
            0.92241, 0.92241, 0.92241, 0.92241, 0.74505, 0.74505, 1.02058, 1.02058, 1.02058, 0.73002, 0.72601, 0.91755,
            0.8126, 0.80314, 0.92222, 0.73764, 0.79726, 0.83051, 0.90284, 0.86023, 0.74, 0.8126, 0.84869, 0.96518,
            0.91115, 0.8858, 0.79761, 0.8858, 0.74498, 0.73914, 0.81363, 0.89591, 0.83659, 0.89633, 0.85608, 0.8111,
            0.90531, 1.0222, 1.22736, 1.0222, 1.27014, 0.89903, 0.90088, 0.86667, 1.0231, 0.896, 1.01411, 0.90083,
            1.05099, 1.00512, 0.99793, 1.05326, 1.09377, 0.938, 1.06226, 1.00119, 0.99793, 0.98714, 1.0231, 1.01231,
            0.98196, 0.792, 1.19137, 0.99074, 0.962, 1.01915, 0.926, 0.942, 0.856, 0.85034, 0.92006, 0.85034, 1.02058,
            0.69067, 0.92241, 0.92241, 0.92241, 0.92241, 0.92006, 0.9332, 0.90088, 0.91882, 0.93484, 0.75339, 1.02058,
            0.56866, 0.54324, 0.79519, 1.08595, 1, 1, 0.90088, 1, 0.95325, 0.74505, 0.90088, 1, 0.97198, 0.75339,
            0.91009, 0.91009, 0.91009, 0.66466, 0.91755, 0.91755, 0.91755, 0.91755, 0.91755, 0.91755, 0.788, 0.80314,
            0.73764, 0.73764, 0.73764, 0.73764, 0.86023, 0.86023, 0.86023, 0.86023, 0.92915, 0.91115, 0.8858, 0.8858,
            0.8858, 0.8858, 0.8858, 1.02058, 0.8858, 0.89591, 0.89591, 0.89591, 0.89591, 0.8111, 0.79611, 0.89713,
            0.86667, 0.86667, 0.86667, 0.86667, 0.86667, 0.86667, 0.86936, 0.896, 0.90083, 0.90083, 0.90083, 0.90083,
            0.84224, 0.84224, 0.84224, 0.84224, 0.97276, 0.99793, 0.98714, 0.98714, 0.98714, 0.98714, 0.98714, 1.08595,
            0.89876, 0.99074, 0.99074, 0.99074, 0.99074, 0.942, 1.0231, 0.942, 0.91755, 0.86667, 0.91755, 0.86667,
            0.91755, 0.86667, 0.80314, 0.896, 0.80314, 0.896, 0.80314, 0.896, 0.80314, 0.896, 0.92222, 0.93372, 0.92915,
            1.01411, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.73764, 0.90083, 0.83051,
            1.00512, 0.83051, 1.00512, 0.83051, 1.00512, 1, 1, 0.90284, 0.99793, 0.90976, 0.99793, 0.86023, 0.84224,
            0.86023, 0.84224, 0.86023, 0.84224, 0.86023, 1.05326, 0.86023, 0.84224, 0.82873, 1.07469, 0.74, 1.09377, 1,
            1, 0.938, 0.84869, 1.06226, 1, 1, 0.84869, 0.83704, 0.84869, 0.81441, 0.85588, 1.08927, 0.91115, 0.99793, 1,
            1, 0.91115, 0.99793, 0.91887, 0.90991, 0.99793, 0.8858, 0.98714, 0.8858, 0.98714, 0.8858, 0.98714, 0.894,
            0.91434, 0.74498, 0.98196, 1, 1, 0.74498, 0.98196, 0.73914, 0.792, 0.73914, 0.792, 1, 1, 0.73914, 0.792, 1,
            1, 0.81363, 0.904, 0.81363, 1.19137, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074, 0.89591, 0.99074,
            0.89591, 0.99074, 0.89591, 0.99074, 0.89633, 1.01915, 0.8111, 0.942, 0.8111, 0.90531, 0.856, 0.90531, 0.856,
            0.90531, 0.856, 1, 0.92241, 0.91755, 0.86667, 0.788, 0.86936, 0.8858, 0.89876, 1, 1, 0.81363, 1.19137,
            0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90088, 0.90388, 1.03901, 0.92138,
            0.78105, 0.7154, 0.86169, 0.80513, 0.94007, 0.82528, 0.98612, 1.06226, 0.91755, 0.8126, 0.81884, 0.92819,
            0.73764, 0.90531, 0.90284, 0.8858, 0.86023, 0.8126, 0.91172, 0.96518, 0.91115, 0.83089, 0.8858, 0.87791,
            0.79761, 0.89297, 0.81363, 0.88157, 0.89992, 0.85608, 0.81992, 0.94307, 0.86023, 0.88157, 0.95308, 0.98699,
            0.99793, 1.06226, 0.95817, 0.95308, 0.97358, 0.928, 0.98088, 0.98699, 0.92761, 0.99793, 0.96017, 1.06226,
            0.986, 0.944, 0.95978, 0.938, 0.96705, 0.98714, 0.80442, 0.98972, 1, 0.89762, 1.04552, 0.95817, 0.99007,
            0.87064, 0.91879, 0.88888, 1.06226, 0.95817, 0.98714, 0.95817, 0.88888, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.89633, 1.01915, 0.89633, 1.01915, 0.89633, 1.01915,
            0.8111, 0.942, 0.9219, 1, 0.89903, 1, 1, 1, 0.93173, 0.93173, 0.93173, 1, 1.06304, 1.06304, 1.06904,
            0.89903, 0.89903, 0.80549, 1, 1.156, 1, 1, 0.76575, 0.76575, 1, 1, 0.72458, 1, 1, 1, 1, 0.92241, 1, 1, 1,
            0.619, 1, 1.36145, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.07257, 1, 0.74705, 0.71119, 1.02058, 1.024, 1.02119,
            1, 1, 1.1536, 1.08595, 1.08595, 1, 1.08595, 1.08595, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1.05638, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.MyriadProRegularMetrics = { lineHeight: 1.2, lineGap: 0.2 };
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.SegoeuiRegularMetrics =
            t.SegoeuiRegularFactors =
            t.SegoeuiItalicMetrics =
            t.SegoeuiItalicFactors =
            t.SegoeuiBoldMetrics =
            t.SegoeuiBoldItalicMetrics =
            t.SegoeuiBoldItalicFactors =
            t.SegoeuiBoldFactors =
              void 0;
          t.SegoeuiBoldFactors = [
            1.76738, 1, 1, 0.99297, 0.9824, 1.04016, 1.06497, 1.03424, 0.97529, 1.17647, 1.23203, 1.1085, 1.1085,
            1.16939, 1.2107, 0.9754, 1.21408, 0.9754, 1.59578, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424, 1.03424,
            1.03424, 1.03424, 1.03424, 1.03424, 0.81378, 0.81378, 1.2107, 1.2107, 1.2107, 0.71703, 0.97847, 0.97363,
            0.88776, 0.8641, 1.02096, 0.79795, 0.85132, 0.914, 1.06085, 1.1406, 0.8007, 0.89858, 0.83693, 1.14889,
            1.09398, 0.97489, 0.92094, 0.97489, 0.90399, 0.84041, 0.95923, 1.00135, 1, 1.06467, 0.98243, 0.90996,
            0.99361, 1.1085, 1.56942, 1.1085, 1.2107, 0.74627, 0.94282, 0.96752, 1.01519, 0.86304, 1.01359, 0.97278,
            1.15103, 1.01359, 0.98561, 1.02285, 1.02285, 1.00527, 1.02285, 1.0302, 0.99041, 1.0008, 1.01519, 1.01359,
            1.02258, 0.79104, 1.16862, 0.99041, 0.97454, 1.02511, 0.99298, 0.96752, 0.95801, 0.94856, 1.16579, 0.94856,
            1.2107, 0.9824, 1.03424, 1.03424, 1, 1.03424, 1.16579, 0.8727, 1.3871, 1.18622, 1.10818, 1.04478, 1.2107,
            1.18622, 0.75155, 0.94994, 1.28826, 1.21408, 1.21408, 0.91056, 1, 0.91572, 0.9754, 0.64663, 1.18328,
            1.24866, 1.04478, 1.14169, 1.15749, 1.17389, 0.71703, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363,
            0.93506, 0.8641, 0.79795, 0.79795, 0.79795, 0.79795, 1.1406, 1.1406, 1.1406, 1.1406, 1.02096, 1.09398,
            0.97426, 0.97426, 0.97426, 0.97426, 0.97426, 1.2107, 0.97489, 1.00135, 1.00135, 1.00135, 1.00135, 0.90996,
            0.92094, 1.02798, 0.96752, 0.96752, 0.96752, 0.96752, 0.96752, 0.96752, 0.93136, 0.86304, 0.97278, 0.97278,
            0.97278, 0.97278, 1.02285, 1.02285, 1.02285, 1.02285, 0.97122, 0.99041, 1, 1, 1, 1, 1, 1.28826, 1.0008,
            0.99041, 0.99041, 0.99041, 0.99041, 0.96752, 1.01519, 0.96752, 0.97363, 0.96752, 0.97363, 0.96752, 0.97363,
            0.96752, 0.8641, 0.86304, 0.8641, 0.86304, 0.8641, 0.86304, 0.8641, 0.86304, 1.02096, 1.03057, 1.02096,
            1.03517, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.79795, 0.97278, 0.914,
            1.01359, 0.914, 1.01359, 0.914, 1.01359, 1, 1, 1.06085, 0.98561, 1.06085, 1.00879, 1.1406, 1.02285, 1.1406,
            1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 1.1406, 1.02285, 0.97138, 1.08692, 0.8007, 1.02285, 1, 1,
            1.00527, 0.83693, 1.02285, 1, 1, 0.83693, 0.9455, 0.83693, 0.90418, 0.83693, 1.13005, 1.09398, 0.99041, 1,
            1, 1.09398, 0.99041, 0.96692, 1.09251, 0.99041, 0.97489, 1.0008, 0.97489, 1.0008, 0.97489, 1.0008, 0.93994,
            0.97931, 0.90399, 1.02258, 1, 1, 0.90399, 1.02258, 0.84041, 0.79104, 0.84041, 0.79104, 0.84041, 0.79104,
            0.84041, 0.79104, 1, 1, 0.95923, 1.07034, 0.95923, 1.16862, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135,
            0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.00135, 0.99041, 1.06467, 1.02511, 0.90996, 0.96752, 0.90996,
            0.99361, 0.95801, 0.99361, 0.95801, 0.99361, 0.95801, 1.07733, 1.03424, 0.97363, 0.96752, 0.93506, 0.93136,
            0.97489, 1.0008, 1, 1, 0.95923, 1.16862, 1.15103, 1.15103, 1.01173, 1.03959, 0.75953, 0.81378, 0.79912,
            1.15103, 1.21994, 0.95161, 0.87815, 1.01149, 0.81525, 0.7676, 0.98167, 1.01134, 1.02546, 0.84097, 1.03089,
            1.18102, 0.97363, 0.88776, 0.85134, 0.97826, 0.79795, 0.99361, 1.06085, 0.97489, 1.1406, 0.89858, 1.0388,
            1.14889, 1.09398, 0.86039, 0.97489, 1.0595, 0.92094, 0.94793, 0.95923, 0.90996, 0.99346, 0.98243, 1.02112,
            0.95493, 1.1406, 0.90996, 1.03574, 1.02597, 1.0008, 1.18102, 1.06628, 1.03574, 1.0192, 1.01932, 1.00886,
            0.97531, 1.0106, 1.0008, 1.13189, 1.18102, 1.02277, 0.98683, 1.0016, 0.99561, 1.07237, 1.0008, 0.90434,
            0.99921, 0.93803, 0.8965, 1.23085, 1.06628, 1.04983, 0.96268, 1.0499, 0.98439, 1.18102, 1.06628, 1.0008,
            1.06628, 0.98439, 0.79795, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09466, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.97278, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.02065,
            1, 1, 1, 1, 1, 1, 1.06467, 1.02511, 1.06467, 1.02511, 1.06467, 1.02511, 0.90996, 0.96752, 1, 1.21408,
            0.89903, 1, 1, 0.75155, 1.04394, 1.04394, 1.04394, 1.04394, 0.98633, 0.98633, 0.98633, 0.73047, 0.73047,
            1.20642, 0.91211, 1.25635, 1.222, 1.02956, 1.03372, 1.03372, 0.96039, 1.24633, 1, 1.12454, 0.93503, 1.03424,
            1.19687, 1.03424, 1, 1, 1, 0.771, 1, 1, 1.15749, 1.15749, 1.15749, 1.10948, 0.86279, 0.94434, 0.86279,
            0.94434, 0.86182, 1, 1, 1.16897, 1, 0.96085, 0.90137, 1.2107, 1.18416, 1.13973, 0.69825, 0.9716, 2.10339,
            1.29004, 1.29004, 1.21172, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1,
            0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18874, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1,
            1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.09193, 1.09193, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1,
          ];
          t.SegoeuiBoldMetrics = { lineHeight: 1.33008, lineGap: 0 };
          t.SegoeuiBoldItalicFactors = [
            1.76738, 1, 1, 0.98946, 1.03959, 1.04016, 1.02809, 1.036, 0.97639, 1.10953, 1.23203, 1.11144, 1.11144,
            1.16939, 1.21237, 0.9754, 1.21261, 0.9754, 1.59754, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036, 1.036,
            1.036, 1.036, 0.81378, 0.81378, 1.21237, 1.21237, 1.21237, 0.73541, 0.97847, 0.97363, 0.89723, 0.87897,
            1.0426, 0.79429, 0.85292, 0.91149, 1.05815, 1.1406, 0.79631, 0.90128, 0.83853, 1.04396, 1.10615, 0.97552,
            0.94436, 0.97552, 0.88641, 0.80527, 0.96083, 1.00135, 1, 1.06777, 0.9817, 0.91142, 0.99361, 1.11144,
            1.57293, 1.11144, 1.21237, 0.74627, 1.31818, 1.06585, 0.97042, 0.83055, 0.97042, 0.93503, 1.1261, 0.97042,
            0.97922, 1.14236, 0.94552, 1.01054, 1.14236, 1.02471, 0.97922, 0.94165, 0.97042, 0.97042, 1.0276, 0.78929,
            1.1261, 0.97922, 0.95874, 1.02197, 0.98507, 0.96752, 0.97168, 0.95107, 1.16579, 0.95107, 1.21237, 1.03959,
            1.036, 1.036, 1, 1.036, 1.16579, 0.87357, 1.31818, 1.18754, 1.26781, 1.05356, 1.21237, 1.18622, 0.79487,
            0.94994, 1.29004, 1.24047, 1.24047, 1.31818, 1, 0.91484, 0.9754, 1.31818, 1.1349, 1.24866, 1.05356, 1.13934,
            1.15574, 1.17389, 0.73541, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.97363, 0.94385, 0.87897, 0.79429,
            0.79429, 0.79429, 0.79429, 1.1406, 1.1406, 1.1406, 1.1406, 1.0426, 1.10615, 0.97552, 0.97552, 0.97552,
            0.97552, 0.97552, 1.21237, 0.97552, 1.00135, 1.00135, 1.00135, 1.00135, 0.91142, 0.94436, 0.98721, 1.06585,
            1.06585, 1.06585, 1.06585, 1.06585, 1.06585, 0.96705, 0.83055, 0.93503, 0.93503, 0.93503, 0.93503, 1.14236,
            1.14236, 1.14236, 1.14236, 0.93125, 0.97922, 0.94165, 0.94165, 0.94165, 0.94165, 0.94165, 1.29004, 0.94165,
            0.97922, 0.97922, 0.97922, 0.97922, 0.96752, 0.97042, 0.96752, 0.97363, 1.06585, 0.97363, 1.06585, 0.97363,
            1.06585, 0.87897, 0.83055, 0.87897, 0.83055, 0.87897, 0.83055, 0.87897, 0.83055, 1.0426, 1.0033, 1.0426,
            0.97042, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.79429, 0.93503, 0.91149,
            0.97042, 0.91149, 0.97042, 0.91149, 0.97042, 1, 1, 1.05815, 0.97922, 1.05815, 0.97922, 1.1406, 1.14236,
            1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 1.1406, 1.14236, 0.97441, 1.04302, 0.79631, 1.01582, 1,
            1, 1.01054, 0.83853, 1.14236, 1, 1, 0.83853, 1.09125, 0.83853, 0.90418, 0.83853, 1.19508, 1.10615, 0.97922,
            1, 1, 1.10615, 0.97922, 1.01034, 1.10466, 0.97922, 0.97552, 0.94165, 0.97552, 0.94165, 0.97552, 0.94165,
            0.91602, 0.91981, 0.88641, 1.0276, 1, 1, 0.88641, 1.0276, 0.80527, 0.78929, 0.80527, 0.78929, 0.80527,
            0.78929, 0.80527, 0.78929, 1, 1, 0.96083, 1.05403, 0.95923, 1.16862, 1.00135, 0.97922, 1.00135, 0.97922,
            1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.00135, 0.97922, 1.06777, 1.02197, 0.91142, 0.96752,
            0.91142, 0.99361, 0.97168, 0.99361, 0.97168, 0.99361, 0.97168, 1.23199, 1.036, 0.97363, 1.06585, 0.94385,
            0.96705, 0.97552, 0.94165, 1, 1, 0.96083, 1.1261, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818, 1.31818,
            1.31818, 1.31818, 1.31818, 0.95161, 1.27126, 1.00811, 0.83284, 0.77702, 0.99137, 0.95253, 1.0347, 0.86142,
            1.07205, 1.14236, 0.97363, 0.89723, 0.86869, 1.09818, 0.79429, 0.99361, 1.05815, 0.97552, 1.1406, 0.90128,
            1.06662, 1.04396, 1.10615, 0.84918, 0.97552, 1.04694, 0.94436, 0.98015, 0.96083, 0.91142, 1.00356, 0.9817,
            1.01945, 0.98999, 1.1406, 0.91142, 1.04961, 0.9898, 1.00639, 1.14236, 1.07514, 1.04961, 0.99607, 1.02897,
            1.008, 0.9898, 0.95134, 1.00639, 1.11121, 1.14236, 1.00518, 0.97981, 1.02186, 1, 1.08578, 0.94165, 0.99314,
            0.98387, 0.93028, 0.93377, 1.35125, 1.07514, 1.10687, 0.93491, 1.04232, 1.00351, 1.14236, 1.07514, 0.94165,
            1.07514, 1.00351, 0.79429, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.09097, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.93503, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.96609,
            1, 1, 1, 1, 1, 1, 1.06777, 1.02197, 1.06777, 1.02197, 1.06777, 1.02197, 0.91142, 0.96752, 1, 1.21261,
            0.89903, 1, 1, 0.75155, 1.04745, 1.04745, 1.04745, 1.04394, 0.98633, 0.98633, 0.98633, 0.72959, 0.72959,
            1.20502, 0.91406, 1.26514, 1.222, 1.02956, 1.03372, 1.03372, 0.96039, 1.24633, 1, 1.09125, 0.93327, 1.03336,
            1.16541, 1.036, 1, 1, 1, 0.771, 1, 1, 1.15574, 1.15574, 1.15574, 1.15574, 0.86364, 0.94434, 0.86279,
            0.94434, 0.86224, 1, 1, 1.16798, 1, 0.96085, 0.90068, 1.21237, 1.18416, 1.13904, 0.69825, 0.9716, 2.10339,
            1.29004, 1.29004, 1.21339, 1.29004, 1.29004, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.42603, 1,
            0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18775, 1.42603, 1, 1.42603, 1.42603, 0.99862, 1,
            1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.13269, 1.13269, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1,
          ];
          t.SegoeuiBoldItalicMetrics = { lineHeight: 1.33008, lineGap: 0 };
          t.SegoeuiItalicFactors = [
            1.76738, 1, 1, 0.98946, 1.14763, 1.05365, 1.06234, 0.96927, 0.92586, 1.15373, 1.18414, 0.91349, 0.91349,
            1.07403, 1.17308, 0.78383, 1.20088, 0.78383, 1.42531, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927,
            0.96927, 0.96927, 0.96927, 0.96927, 0.78383, 0.78383, 1.17308, 1.17308, 1.17308, 0.77349, 0.94565, 0.94729,
            0.85944, 0.88506, 0.9858, 0.74817, 0.80016, 0.88449, 0.98039, 0.95782, 0.69238, 0.89898, 0.83231, 0.98183,
            1.03989, 0.96924, 0.86237, 0.96924, 0.80595, 0.74524, 0.86091, 0.95402, 0.94143, 0.98448, 0.8858, 0.83089,
            0.93285, 1.0949, 1.39016, 1.0949, 1.45994, 0.74627, 1.04839, 0.97454, 0.97454, 0.87207, 0.97454, 0.87533,
            1.06151, 0.97454, 1.00176, 1.16484, 1.08132, 0.98047, 1.16484, 1.02989, 1.01054, 0.96225, 0.97454, 0.97454,
            1.06598, 0.79004, 1.16344, 1.00351, 0.94629, 0.9973, 0.91016, 0.96777, 0.9043, 0.91082, 0.92481, 0.91082,
            1.17308, 0.95748, 0.96927, 0.96927, 1, 0.96927, 0.92481, 0.80597, 1.04839, 1.23393, 1.1781, 0.9245, 1.17308,
            1.20808, 0.63218, 0.94261, 1.24822, 1.09971, 1.09971, 1.04839, 1, 0.85273, 0.78032, 1.04839, 1.09971,
            1.22326, 0.9245, 1.09836, 1.13525, 1.15222, 0.70424, 0.94729, 0.94729, 0.94729, 0.94729, 0.94729, 0.94729,
            0.85498, 0.88506, 0.74817, 0.74817, 0.74817, 0.74817, 0.95782, 0.95782, 0.95782, 0.95782, 0.9858, 1.03989,
            0.96924, 0.96924, 0.96924, 0.96924, 0.96924, 1.17308, 0.96924, 0.95402, 0.95402, 0.95402, 0.95402, 0.83089,
            0.86237, 0.88409, 0.97454, 0.97454, 0.97454, 0.97454, 0.97454, 0.97454, 0.92916, 0.87207, 0.87533, 0.87533,
            0.87533, 0.87533, 0.93146, 0.93146, 0.93146, 0.93146, 0.93854, 1.01054, 0.96225, 0.96225, 0.96225, 0.96225,
            0.96225, 1.24822, 0.8761, 1.00351, 1.00351, 1.00351, 1.00351, 0.96777, 0.97454, 0.96777, 0.94729, 0.97454,
            0.94729, 0.97454, 0.94729, 0.97454, 0.88506, 0.87207, 0.88506, 0.87207, 0.88506, 0.87207, 0.88506, 0.87207,
            0.9858, 0.95391, 0.9858, 0.97454, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533, 0.74817, 0.87533,
            0.74817, 0.87533, 0.88449, 0.97454, 0.88449, 0.97454, 0.88449, 0.97454, 1, 1, 0.98039, 1.00176, 0.98039,
            1.00176, 0.95782, 0.93146, 0.95782, 0.93146, 0.95782, 0.93146, 0.95782, 1.16484, 0.95782, 0.93146, 0.84421,
            1.12761, 0.69238, 1.08132, 1, 1, 0.98047, 0.83231, 1.16484, 1, 1, 0.84723, 1.04861, 0.84723, 0.78755,
            0.83231, 1.23736, 1.03989, 1.01054, 1, 1, 1.03989, 1.01054, 0.9857, 1.03849, 1.01054, 0.96924, 0.96225,
            0.96924, 0.96225, 0.96924, 0.96225, 0.92383, 0.90171, 0.80595, 1.06598, 1, 1, 0.80595, 1.06598, 0.74524,
            0.79004, 0.74524, 0.79004, 0.74524, 0.79004, 0.74524, 0.79004, 1, 1, 0.86091, 1.02759, 0.85771, 1.16344,
            0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351, 0.95402, 1.00351,
            0.98448, 0.9973, 0.83089, 0.96777, 0.83089, 0.93285, 0.9043, 0.93285, 0.9043, 0.93285, 0.9043, 1.31868,
            0.96927, 0.94729, 0.97454, 0.85498, 0.92916, 0.96924, 0.8761, 1, 1, 0.86091, 1.16344, 1.04839, 1.04839,
            1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 1.04839, 0.81965, 0.81965, 0.94729, 0.78032, 0.71022,
            0.90883, 0.84171, 0.99877, 0.77596, 1.05734, 1.2, 0.94729, 0.85944, 0.82791, 0.9607, 0.74817, 0.93285,
            0.98039, 0.96924, 0.95782, 0.89898, 0.98316, 0.98183, 1.03989, 0.78614, 0.96924, 0.97642, 0.86237, 0.86075,
            0.86091, 0.83089, 0.90082, 0.8858, 0.97296, 1.01284, 0.95782, 0.83089, 1.0976, 1.04, 1.03342, 1.2, 1.0675,
            1.0976, 0.98205, 1.03809, 1.05097, 1.04, 0.95364, 1.03342, 1.05401, 1.2, 1.02148, 1.0119, 1.04724, 1.0127,
            1.02732, 0.96225, 0.8965, 0.97783, 0.93574, 0.94818, 1.30679, 1.0675, 1.11826, 0.99821, 1.0557, 1.0326, 1.2,
            1.0675, 0.96225, 1.0675, 1.0326, 0.74817, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03754, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.87533, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 0.98705, 1, 1, 1, 1, 1, 1, 0.98448, 0.9973, 0.98448, 0.9973, 0.98448, 0.9973, 0.83089, 0.96777, 1,
            1.20088, 0.89903, 1, 1, 0.75155, 0.94945, 0.94945, 0.94945, 0.94945, 1.12317, 1.12317, 1.12317, 0.67603,
            0.67603, 1.15621, 0.73584, 1.21191, 1.22135, 1.06483, 0.94868, 0.94868, 0.95996, 1.24633, 1, 1.07497,
            0.87709, 0.96927, 1.01473, 0.96927, 1, 1, 1, 0.77295, 1, 1, 1.09836, 1.09836, 1.09836, 1.01522, 0.86321,
            0.94434, 0.8649, 0.94434, 0.86182, 1, 1, 1.083, 1, 0.91578, 0.86438, 1.17308, 1.18416, 1.14589, 0.69825,
            0.97622, 1.96791, 1.24822, 1.24822, 1.17308, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.17984, 1.42603, 1, 1.42603,
            1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10742, 1.10742, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.SegoeuiItalicMetrics = { lineHeight: 1.33008, lineGap: 0 };
          t.SegoeuiRegularFactors = [
            1.76738, 1, 1, 0.98594, 1.02285, 1.10454, 1.06234, 0.96927, 0.92037, 1.19985, 1.2046, 0.90616, 0.90616,
            1.07152, 1.1714, 0.78032, 1.20088, 0.78032, 1.40246, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927, 0.96927,
            0.96927, 0.96927, 0.96927, 0.96927, 0.78032, 0.78032, 1.1714, 1.1714, 1.1714, 0.80597, 0.94084, 0.96706,
            0.85944, 0.85734, 0.97093, 0.75842, 0.79936, 0.88198, 0.9831, 0.95782, 0.71387, 0.86969, 0.84636, 1.07796,
            1.03584, 0.96924, 0.83968, 0.96924, 0.82826, 0.79649, 0.85771, 0.95132, 0.93119, 0.98965, 0.88433, 0.8287,
            0.93365, 1.08612, 1.3638, 1.08612, 1.45786, 0.74627, 0.80499, 0.91484, 1.05707, 0.92383, 1.05882, 0.9403,
            1.12654, 1.05882, 1.01756, 1.09011, 1.09011, 0.99414, 1.09011, 1.034, 1.01756, 1.05356, 1.05707, 1.05882,
            1.04399, 0.84863, 1.21968, 1.01756, 0.95801, 1.00068, 0.91797, 0.96777, 0.9043, 0.90351, 0.92105, 0.90351,
            1.1714, 0.85337, 0.96927, 0.96927, 0.99912, 0.96927, 0.92105, 0.80597, 1.2434, 1.20808, 1.05937, 0.90957,
            1.1714, 1.20808, 0.75155, 0.94261, 1.24644, 1.09971, 1.09971, 0.84751, 1, 0.85273, 0.78032, 0.61584,
            1.05425, 1.17914, 0.90957, 1.08665, 1.11593, 1.14169, 0.73381, 0.96706, 0.96706, 0.96706, 0.96706, 0.96706,
            0.96706, 0.86035, 0.85734, 0.75842, 0.75842, 0.75842, 0.75842, 0.95782, 0.95782, 0.95782, 0.95782, 0.97093,
            1.03584, 0.96924, 0.96924, 0.96924, 0.96924, 0.96924, 1.1714, 0.96924, 0.95132, 0.95132, 0.95132, 0.95132,
            0.8287, 0.83968, 0.89049, 0.91484, 0.91484, 0.91484, 0.91484, 0.91484, 0.91484, 0.93575, 0.92383, 0.9403,
            0.9403, 0.9403, 0.9403, 0.8717, 0.8717, 0.8717, 0.8717, 1.00527, 1.01756, 1.05356, 1.05356, 1.05356,
            1.05356, 1.05356, 1.24644, 0.95923, 1.01756, 1.01756, 1.01756, 1.01756, 0.96777, 1.05707, 0.96777, 0.96706,
            0.91484, 0.96706, 0.91484, 0.96706, 0.91484, 0.85734, 0.92383, 0.85734, 0.92383, 0.85734, 0.92383, 0.85734,
            0.92383, 0.97093, 1.0969, 0.97093, 1.05882, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842, 0.9403, 0.75842,
            0.9403, 0.75842, 0.9403, 0.88198, 1.05882, 0.88198, 1.05882, 0.88198, 1.05882, 1, 1, 0.9831, 1.01756,
            0.9831, 1.01756, 0.95782, 0.8717, 0.95782, 0.8717, 0.95782, 0.8717, 0.95782, 1.09011, 0.95782, 0.8717,
            0.84784, 1.11551, 0.71387, 1.09011, 1, 1, 0.99414, 0.84636, 1.09011, 1, 1, 0.84636, 1.0536, 0.84636,
            0.94298, 0.84636, 1.23297, 1.03584, 1.01756, 1, 1, 1.03584, 1.01756, 1.00323, 1.03444, 1.01756, 0.96924,
            1.05356, 0.96924, 1.05356, 0.96924, 1.05356, 0.93066, 0.98293, 0.82826, 1.04399, 1, 1, 0.82826, 1.04399,
            0.79649, 0.84863, 0.79649, 0.84863, 0.79649, 0.84863, 0.79649, 0.84863, 1, 1, 0.85771, 1.17318, 0.85771,
            1.21968, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132, 1.01756, 0.95132,
            1.01756, 0.98965, 1.00068, 0.8287, 0.96777, 0.8287, 0.93365, 0.9043, 0.93365, 0.9043, 0.93365, 0.9043,
            1.08571, 0.96927, 0.96706, 0.91484, 0.86035, 0.93575, 0.96924, 0.95923, 1, 1, 0.85771, 1.21968, 1.11437,
            1.11437, 0.93109, 0.91202, 0.60411, 0.84164, 0.55572, 1.01173, 0.97361, 0.81818, 0.81818, 0.96635, 0.78032,
            0.72727, 0.92366, 0.98601, 1.03405, 0.77968, 1.09799, 1.2, 0.96706, 0.85944, 0.85638, 0.96491, 0.75842,
            0.93365, 0.9831, 0.96924, 0.95782, 0.86969, 0.94152, 1.07796, 1.03584, 0.78437, 0.96924, 0.98715, 0.83968,
            0.83491, 0.85771, 0.8287, 0.94492, 0.88433, 0.9287, 1.0098, 0.95782, 0.8287, 1.0625, 0.98248, 1.03424, 1.2,
            1.01071, 1.0625, 0.95246, 1.03809, 1.04912, 0.98248, 1.00221, 1.03424, 1.05443, 1.2, 1.04785, 0.99609,
            1.00169, 1.05176, 0.99346, 1.05356, 0.9087, 1.03004, 0.95542, 0.93117, 1.23362, 1.01071, 1.07831, 1.02512,
            1.05205, 1.03502, 1.2, 1.01071, 1.05356, 1.01071, 1.03502, 0.75842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1.03719, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9403,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.04021, 1, 1, 1, 1, 1, 1, 0.98965, 1.00068, 0.98965, 1.00068, 0.98965,
            1.00068, 0.8287, 0.96777, 1, 1.20088, 0.89903, 1, 1, 0.75155, 1.03077, 1.03077, 1.03077, 1.03077, 1.13196,
            1.13196, 1.13196, 0.67428, 0.67428, 1.16039, 0.73291, 1.20996, 1.22135, 1.06483, 0.94868, 0.94868, 0.95996,
            1.24633, 1, 1.07497, 0.87796, 0.96927, 1.01518, 0.96927, 1, 1, 1, 0.77295, 1, 1, 1.10539, 1.10539, 1.11358,
            1.06967, 0.86279, 0.94434, 0.86279, 0.94434, 0.86182, 1, 1, 1.083, 1, 0.91578, 0.86507, 1.1714, 1.18416,
            1.14589, 0.69825, 0.97622, 1.9697, 1.24822, 1.24822, 1.17238, 1.24822, 1.24822, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1.42603, 1, 0.99862, 0.99862, 1, 0.87025, 0.87025, 0.87025, 0.87025, 1.18083, 1.42603,
            1, 1.42603, 1.42603, 0.99862, 1, 1, 1, 1, 1, 1.2886, 1.04315, 1.15296, 1.34163, 1, 1, 1, 1.10938, 1.10938,
            1, 1, 1, 1.05425, 1.09971, 1.09971, 1.09971, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
          ];
          t.SegoeuiRegularMetrics = { lineHeight: 1.33008, lineGap: 0 };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PostScriptEvaluator = t.PostScriptCompiler = t.PDFFunctionFactory = void 0;
          t.isPDFFunction = function isPDFFunction(e) {
            let t;
            if ('object' != typeof e) return !1;
            if (e instanceof r.Dict) t = e;
            else {
              if (!(e instanceof s.BaseStream)) return !1;
              t = e.dict;
            }
            return t.has('FunctionType');
          };
          var r = a(4),
            n = a(2),
            i = a(56),
            s = a(5),
            o = a(57);
          t.PDFFunctionFactory = class PDFFunctionFactory {
            constructor({ xref: e, isEvalSupported: t = !0 }) {
              this.xref = e;
              this.isEvalSupported = !1 !== t;
            }
            create(e) {
              const t = this.getCached(e);
              if (t) return t;
              const a = PDFFunction.parse({
                xref: this.xref,
                isEvalSupported: this.isEvalSupported,
                fn: e instanceof r.Ref ? this.xref.fetch(e) : e,
              });
              this._cache(e, a);
              return a;
            }
            createFromArray(e) {
              const t = this.getCached(e);
              if (t) return t;
              const a = PDFFunction.parseArray({
                xref: this.xref,
                isEvalSupported: this.isEvalSupported,
                fnObj: e instanceof r.Ref ? this.xref.fetch(e) : e,
              });
              this._cache(e, a);
              return a;
            }
            getCached(e) {
              let t;
              e instanceof r.Ref
                ? (t = e)
                : e instanceof r.Dict
                ? (t = e.objId)
                : e instanceof s.BaseStream && (t = e.dict && e.dict.objId);
              if (t) {
                const e = this._localFunctionCache.getByRef(t);
                if (e) return e;
              }
              return null;
            }
            _cache(e, t) {
              if (!t) throw new Error('PDFFunctionFactory._cache - expected "parsedFunction" argument.');
              let a;
              e instanceof r.Ref
                ? (a = e)
                : e instanceof r.Dict
                ? (a = e.objId)
                : e instanceof s.BaseStream && (a = e.dict && e.dict.objId);
              a && this._localFunctionCache.set(null, a, t);
            }
            get _localFunctionCache() {
              return (0, n.shadow)(this, '_localFunctionCache', new o.LocalFunctionCache());
            }
          };
          function toNumberArray(e) {
            if (!Array.isArray(e)) return null;
            const t = e.length;
            for (let a = 0; a < t; a++)
              if ('number' != typeof e[a]) {
                const a = new Array(t);
                for (let r = 0; r < t; r++) a[r] = +e[r];
                return a;
              }
            return e;
          }
          class PDFFunction {
            static getSampleArray(e, t, a, r) {
              let n,
                i,
                s = 1;
              for (n = 0, i = e.length; n < i; n++) s *= e[n];
              s *= t;
              const o = new Array(s);
              let c = 0,
                l = 0;
              const h = 1 / (2 ** a - 1),
                u = r.getBytes((s * a + 7) / 8);
              let d = 0;
              for (n = 0; n < s; n++) {
                for (; c < a; ) {
                  l <<= 8;
                  l |= u[d++];
                  c += 8;
                }
                c -= a;
                o[n] = (l >> c) * h;
                l &= (1 << c) - 1;
              }
              return o;
            }
            static parse({ xref: e, isEvalSupported: t, fn: a }) {
              const r = a.dict || a;
              switch (r.get('FunctionType')) {
                case 0:
                  return this.constructSampled({ xref: e, isEvalSupported: t, fn: a, dict: r });
                case 1:
                  break;
                case 2:
                  return this.constructInterpolated({ xref: e, isEvalSupported: t, dict: r });
                case 3:
                  return this.constructStiched({ xref: e, isEvalSupported: t, dict: r });
                case 4:
                  return this.constructPostScript({ xref: e, isEvalSupported: t, fn: a, dict: r });
              }
              throw new n.FormatError('Unknown type of function');
            }
            static parseArray({ xref: e, isEvalSupported: t, fnObj: a }) {
              if (!Array.isArray(a)) return this.parse({ xref: e, isEvalSupported: t, fn: a });
              const r = [];
              for (const n of a) r.push(this.parse({ xref: e, isEvalSupported: t, fn: e.fetchIfRef(n) }));
              return function (e, t, a, n) {
                for (let i = 0, s = r.length; i < s; i++) r[i](e, t, a, n + i);
              };
            }
            static constructSampled({ xref: e, isEvalSupported: t, fn: a, dict: r }) {
              function toMultiArray(e) {
                const t = e.length,
                  a = [];
                let r = 0;
                for (let n = 0; n < t; n += 2) a[r++] = [e[n], e[n + 1]];
                return a;
              }
              function interpolate(e, t, a, r, n) {
                return r + ((n - r) / (a - t)) * (e - t);
              }
              let i = toNumberArray(r.getArray('Domain')),
                s = toNumberArray(r.getArray('Range'));
              if (!i || !s) throw new n.FormatError('No domain or range');
              const o = i.length / 2,
                c = s.length / 2;
              i = toMultiArray(i);
              s = toMultiArray(s);
              const l = toNumberArray(r.getArray('Size')),
                h = r.get('BitsPerSample'),
                u = r.get('Order') || 1;
              1 !== u && (0, n.info)('No support for cubic spline interpolation: ' + u);
              let d = toNumberArray(r.getArray('Encode'));
              if (d) d = toMultiArray(d);
              else {
                d = [];
                for (let e = 0; e < o; ++e) d.push([0, l[e] - 1]);
              }
              let f = toNumberArray(r.getArray('Decode'));
              f = f ? toMultiArray(f) : s;
              const g = this.getSampleArray(l, c, h, a);
              return function constructSampledFn(e, t, a, r) {
                const n = 1 << o,
                  h = new Float64Array(n),
                  u = new Uint32Array(n);
                let p, m;
                for (m = 0; m < n; m++) h[m] = 1;
                let b = c,
                  y = 1;
                for (p = 0; p < o; ++p) {
                  const a = i[p][0],
                    r = i[p][1];
                  let s = interpolate(Math.min(Math.max(e[t + p], a), r), a, r, d[p][0], d[p][1]);
                  const o = l[p];
                  s = Math.min(Math.max(s, 0), o - 1);
                  const c = s < o - 1 ? Math.floor(s) : s - 1,
                    f = c + 1 - s,
                    g = s - c,
                    w = c * b,
                    S = w + b;
                  for (m = 0; m < n; m++)
                    if (m & y) {
                      h[m] *= g;
                      u[m] += S;
                    } else {
                      h[m] *= f;
                      u[m] += w;
                    }
                  b *= o;
                  y <<= 1;
                }
                for (m = 0; m < c; ++m) {
                  let e = 0;
                  for (p = 0; p < n; p++) e += g[u[p] + m] * h[p];
                  e = interpolate(e, 0, 1, f[m][0], f[m][1]);
                  a[r + m] = Math.min(Math.max(e, s[m][0]), s[m][1]);
                }
              };
            }
            static constructInterpolated({ xref: e, isEvalSupported: t, dict: a }) {
              const r = toNumberArray(a.getArray('C0')) || [0],
                n = toNumberArray(a.getArray('C1')) || [1],
                i = a.get('N'),
                s = [];
              for (let e = 0, t = r.length; e < t; ++e) s.push(n[e] - r[e]);
              const o = s.length;
              return function constructInterpolatedFn(e, t, a, n) {
                const c = 1 === i ? e[t] : e[t] ** i;
                for (let e = 0; e < o; ++e) a[n + e] = r[e] + c * s[e];
              };
            }
            static constructStiched({ xref: e, isEvalSupported: t, dict: a }) {
              const r = toNumberArray(a.getArray('Domain'));
              if (!r) throw new n.FormatError('No domain');
              if (1 !== r.length / 2) throw new n.FormatError('Bad domain for stiched function');
              const i = [];
              for (const r of a.get('Functions'))
                i.push(this.parse({ xref: e, isEvalSupported: t, fn: e.fetchIfRef(r) }));
              const s = toNumberArray(a.getArray('Bounds')),
                o = toNumberArray(a.getArray('Encode')),
                c = new Float32Array(1);
              return function constructStichedFn(e, t, a, n) {
                const l = (function constructStichedFromIRClip(e, t, a) {
                    e > a ? (e = a) : e < t && (e = t);
                    return e;
                  })(e[t], r[0], r[1]),
                  h = s.length;
                let u;
                for (u = 0; u < h && !(l < s[u]); ++u);
                let d = r[0];
                u > 0 && (d = s[u - 1]);
                let f = r[1];
                u < s.length && (f = s[u]);
                const g = o[2 * u],
                  p = o[2 * u + 1];
                c[0] = d === f ? g : g + ((l - d) * (p - g)) / (f - d);
                i[u](c, 0, a, n);
              };
            }
            static constructPostScript({ xref: e, isEvalSupported: t, fn: a, dict: r }) {
              const s = toNumberArray(r.getArray('Domain')),
                o = toNumberArray(r.getArray('Range'));
              if (!s) throw new n.FormatError('No domain.');
              if (!o) throw new n.FormatError('No range.');
              const c = new i.PostScriptLexer(a),
                l = new i.PostScriptParser(c).parse();
              if (t && n.FeatureTest.isEvalSupported) {
                const e = new PostScriptCompiler().compile(l, s, o);
                if (e) return new Function('src', 'srcOffset', 'dest', 'destOffset', e);
              }
              (0, n.info)('Unable to compile PS function');
              const h = o.length >> 1,
                u = s.length >> 1,
                d = new PostScriptEvaluator(l),
                f = Object.create(null);
              let g = 8192;
              const p = new Float32Array(u);
              return function constructPostScriptFn(e, t, a, r) {
                let n,
                  i,
                  s = '';
                const c = p;
                for (n = 0; n < u; n++) {
                  i = e[t + n];
                  c[n] = i;
                  s += i + '_';
                }
                const l = f[s];
                if (void 0 !== l) {
                  a.set(l, r);
                  return;
                }
                const m = new Float32Array(h),
                  b = d.execute(c),
                  y = b.length - h;
                for (n = 0; n < h; n++) {
                  i = b[y + n];
                  let e = o[2 * n];
                  if (i < e) i = e;
                  else {
                    e = o[2 * n + 1];
                    i > e && (i = e);
                  }
                  m[n] = i;
                }
                if (g > 0) {
                  g--;
                  f[s] = m;
                }
                a.set(m, r);
              };
            }
          }
          class PostScriptStack {
            static get MAX_STACK_SIZE() {
              return (0, n.shadow)(this, 'MAX_STACK_SIZE', 100);
            }
            constructor(e) {
              this.stack = e ? Array.from(e) : [];
            }
            push(e) {
              if (this.stack.length >= PostScriptStack.MAX_STACK_SIZE)
                throw new Error('PostScript function stack overflow.');
              this.stack.push(e);
            }
            pop() {
              if (this.stack.length <= 0) throw new Error('PostScript function stack underflow.');
              return this.stack.pop();
            }
            copy(e) {
              if (this.stack.length + e >= PostScriptStack.MAX_STACK_SIZE)
                throw new Error('PostScript function stack overflow.');
              const t = this.stack;
              for (let a = t.length - e, r = e - 1; r >= 0; r--, a++) t.push(t[a]);
            }
            index(e) {
              this.push(this.stack[this.stack.length - e - 1]);
            }
            roll(e, t) {
              const a = this.stack,
                r = a.length - e,
                n = a.length - 1,
                i = r + (t - Math.floor(t / e) * e);
              for (let e = r, t = n; e < t; e++, t--) {
                const r = a[e];
                a[e] = a[t];
                a[t] = r;
              }
              for (let e = r, t = i - 1; e < t; e++, t--) {
                const r = a[e];
                a[e] = a[t];
                a[t] = r;
              }
              for (let e = i, t = n; e < t; e++, t--) {
                const r = a[e];
                a[e] = a[t];
                a[t] = r;
              }
            }
          }
          class PostScriptEvaluator {
            constructor(e) {
              this.operators = e;
            }
            execute(e) {
              const t = new PostScriptStack(e);
              let a = 0;
              const r = this.operators,
                i = r.length;
              let s, o, c;
              for (; a < i; ) {
                s = r[a++];
                if ('number' != typeof s)
                  switch (s) {
                    case 'jz':
                      c = t.pop();
                      o = t.pop();
                      o || (a = c);
                      break;
                    case 'j':
                      o = t.pop();
                      a = o;
                      break;
                    case 'abs':
                      o = t.pop();
                      t.push(Math.abs(o));
                      break;
                    case 'add':
                      c = t.pop();
                      o = t.pop();
                      t.push(o + c);
                      break;
                    case 'and':
                      c = t.pop();
                      o = t.pop();
                      'boolean' == typeof o && 'boolean' == typeof c ? t.push(o && c) : t.push(o & c);
                      break;
                    case 'atan':
                      o = t.pop();
                      t.push(Math.atan(o));
                      break;
                    case 'bitshift':
                      c = t.pop();
                      o = t.pop();
                      o > 0 ? t.push(o << c) : t.push(o >> c);
                      break;
                    case 'ceiling':
                      o = t.pop();
                      t.push(Math.ceil(o));
                      break;
                    case 'copy':
                      o = t.pop();
                      t.copy(o);
                      break;
                    case 'cos':
                      o = t.pop();
                      t.push(Math.cos(o));
                      break;
                    case 'cvi':
                      o = 0 | t.pop();
                      t.push(o);
                      break;
                    case 'cvr':
                      break;
                    case 'div':
                      c = t.pop();
                      o = t.pop();
                      t.push(o / c);
                      break;
                    case 'dup':
                      t.copy(1);
                      break;
                    case 'eq':
                      c = t.pop();
                      o = t.pop();
                      t.push(o === c);
                      break;
                    case 'exch':
                      t.roll(2, 1);
                      break;
                    case 'exp':
                      c = t.pop();
                      o = t.pop();
                      t.push(o ** c);
                      break;
                    case 'false':
                      t.push(!1);
                      break;
                    case 'floor':
                      o = t.pop();
                      t.push(Math.floor(o));
                      break;
                    case 'ge':
                      c = t.pop();
                      o = t.pop();
                      t.push(o >= c);
                      break;
                    case 'gt':
                      c = t.pop();
                      o = t.pop();
                      t.push(o > c);
                      break;
                    case 'idiv':
                      c = t.pop();
                      o = t.pop();
                      t.push((o / c) | 0);
                      break;
                    case 'index':
                      o = t.pop();
                      t.index(o);
                      break;
                    case 'le':
                      c = t.pop();
                      o = t.pop();
                      t.push(o <= c);
                      break;
                    case 'ln':
                      o = t.pop();
                      t.push(Math.log(o));
                      break;
                    case 'log':
                      o = t.pop();
                      t.push(Math.log(o) / Math.LN10);
                      break;
                    case 'lt':
                      c = t.pop();
                      o = t.pop();
                      t.push(o < c);
                      break;
                    case 'mod':
                      c = t.pop();
                      o = t.pop();
                      t.push(o % c);
                      break;
                    case 'mul':
                      c = t.pop();
                      o = t.pop();
                      t.push(o * c);
                      break;
                    case 'ne':
                      c = t.pop();
                      o = t.pop();
                      t.push(o !== c);
                      break;
                    case 'neg':
                      o = t.pop();
                      t.push(-o);
                      break;
                    case 'not':
                      o = t.pop();
                      'boolean' == typeof o ? t.push(!o) : t.push(~o);
                      break;
                    case 'or':
                      c = t.pop();
                      o = t.pop();
                      'boolean' == typeof o && 'boolean' == typeof c ? t.push(o || c) : t.push(o | c);
                      break;
                    case 'pop':
                      t.pop();
                      break;
                    case 'roll':
                      c = t.pop();
                      o = t.pop();
                      t.roll(o, c);
                      break;
                    case 'round':
                      o = t.pop();
                      t.push(Math.round(o));
                      break;
                    case 'sin':
                      o = t.pop();
                      t.push(Math.sin(o));
                      break;
                    case 'sqrt':
                      o = t.pop();
                      t.push(Math.sqrt(o));
                      break;
                    case 'sub':
                      c = t.pop();
                      o = t.pop();
                      t.push(o - c);
                      break;
                    case 'true':
                      t.push(!0);
                      break;
                    case 'truncate':
                      o = t.pop();
                      o = o < 0 ? Math.ceil(o) : Math.floor(o);
                      t.push(o);
                      break;
                    case 'xor':
                      c = t.pop();
                      o = t.pop();
                      'boolean' == typeof o && 'boolean' == typeof c ? t.push(o !== c) : t.push(o ^ c);
                      break;
                    default:
                      throw new n.FormatError(`Unknown operator ${s}`);
                  }
                else t.push(s);
              }
              return t.stack;
            }
          }
          t.PostScriptEvaluator = PostScriptEvaluator;
          class AstNode {
            constructor(e) {
              this.type = e;
            }
            visit(e) {
              (0, n.unreachable)('abstract method');
            }
          }
          class AstArgument extends AstNode {
            constructor(e, t, a) {
              super('args');
              this.index = e;
              this.min = t;
              this.max = a;
            }
            visit(e) {
              e.visitArgument(this);
            }
          }
          class AstLiteral extends AstNode {
            constructor(e) {
              super('literal');
              this.number = e;
              this.min = e;
              this.max = e;
            }
            visit(e) {
              e.visitLiteral(this);
            }
          }
          class AstBinaryOperation extends AstNode {
            constructor(e, t, a, r, n) {
              super('binary');
              this.op = e;
              this.arg1 = t;
              this.arg2 = a;
              this.min = r;
              this.max = n;
            }
            visit(e) {
              e.visitBinaryOperation(this);
            }
          }
          class AstMin extends AstNode {
            constructor(e, t) {
              super('max');
              this.arg = e;
              this.min = e.min;
              this.max = t;
            }
            visit(e) {
              e.visitMin(this);
            }
          }
          class AstVariable extends AstNode {
            constructor(e, t, a) {
              super('var');
              this.index = e;
              this.min = t;
              this.max = a;
            }
            visit(e) {
              e.visitVariable(this);
            }
          }
          class AstVariableDefinition extends AstNode {
            constructor(e, t) {
              super('definition');
              this.variable = e;
              this.arg = t;
            }
            visit(e) {
              e.visitVariableDefinition(this);
            }
          }
          class ExpressionBuilderVisitor {
            constructor() {
              this.parts = [];
            }
            visitArgument(e) {
              this.parts.push('Math.max(', e.min, ', Math.min(', e.max, ', src[srcOffset + ', e.index, ']))');
            }
            visitVariable(e) {
              this.parts.push('v', e.index);
            }
            visitLiteral(e) {
              this.parts.push(e.number);
            }
            visitBinaryOperation(e) {
              this.parts.push('(');
              e.arg1.visit(this);
              this.parts.push(' ', e.op, ' ');
              e.arg2.visit(this);
              this.parts.push(')');
            }
            visitVariableDefinition(e) {
              this.parts.push('var ');
              e.variable.visit(this);
              this.parts.push(' = ');
              e.arg.visit(this);
              this.parts.push(';');
            }
            visitMin(e) {
              this.parts.push('Math.min(');
              e.arg.visit(this);
              this.parts.push(', ', e.max, ')');
            }
            toString() {
              return this.parts.join('');
            }
          }
          function buildAddOperation(e, t) {
            return 'literal' === t.type && 0 === t.number
              ? e
              : 'literal' === e.type && 0 === e.number
              ? t
              : 'literal' === t.type && 'literal' === e.type
              ? new AstLiteral(e.number + t.number)
              : new AstBinaryOperation('+', e, t, e.min + t.min, e.max + t.max);
          }
          function buildMulOperation(e, t) {
            if ('literal' === t.type) {
              if (0 === t.number) return new AstLiteral(0);
              if (1 === t.number) return e;
              if ('literal' === e.type) return new AstLiteral(e.number * t.number);
            }
            if ('literal' === e.type) {
              if (0 === e.number) return new AstLiteral(0);
              if (1 === e.number) return t;
            }
            const a = Math.min(e.min * t.min, e.min * t.max, e.max * t.min, e.max * t.max),
              r = Math.max(e.min * t.min, e.min * t.max, e.max * t.min, e.max * t.max);
            return new AstBinaryOperation('*', e, t, a, r);
          }
          function buildSubOperation(e, t) {
            if ('literal' === t.type) {
              if (0 === t.number) return e;
              if ('literal' === e.type) return new AstLiteral(e.number - t.number);
            }
            return 'binary' === t.type &&
              '-' === t.op &&
              'literal' === e.type &&
              1 === e.number &&
              'literal' === t.arg1.type &&
              1 === t.arg1.number
              ? t.arg2
              : new AstBinaryOperation('-', e, t, e.min - t.max, e.max - t.min);
          }
          function buildMinOperation(e, t) {
            return e.min >= t ? new AstLiteral(t) : e.max <= t ? e : new AstMin(e, t);
          }
          class PostScriptCompiler {
            compile(e, t, a) {
              const r = [],
                n = [],
                i = t.length >> 1,
                s = a.length >> 1;
              let o,
                c,
                l,
                h,
                u,
                d,
                f,
                g,
                p = 0;
              for (let e = 0; e < i; e++) r.push(new AstArgument(e, t[2 * e], t[2 * e + 1]));
              for (let t = 0, a = e.length; t < a; t++) {
                g = e[t];
                if ('number' != typeof g)
                  switch (g) {
                    case 'add':
                      if (r.length < 2) return null;
                      h = r.pop();
                      l = r.pop();
                      r.push(buildAddOperation(l, h));
                      break;
                    case 'cvr':
                      if (r.length < 1) return null;
                      break;
                    case 'mul':
                      if (r.length < 2) return null;
                      h = r.pop();
                      l = r.pop();
                      r.push(buildMulOperation(l, h));
                      break;
                    case 'sub':
                      if (r.length < 2) return null;
                      h = r.pop();
                      l = r.pop();
                      r.push(buildSubOperation(l, h));
                      break;
                    case 'exch':
                      if (r.length < 2) return null;
                      u = r.pop();
                      d = r.pop();
                      r.push(u, d);
                      break;
                    case 'pop':
                      if (r.length < 1) return null;
                      r.pop();
                      break;
                    case 'index':
                      if (r.length < 1) return null;
                      l = r.pop();
                      if ('literal' !== l.type) return null;
                      o = l.number;
                      if (o < 0 || !Number.isInteger(o) || r.length < o) return null;
                      u = r[r.length - o - 1];
                      if ('literal' === u.type || 'var' === u.type) {
                        r.push(u);
                        break;
                      }
                      f = new AstVariable(p++, u.min, u.max);
                      r[r.length - o - 1] = f;
                      r.push(f);
                      n.push(new AstVariableDefinition(f, u));
                      break;
                    case 'dup':
                      if (r.length < 1) return null;
                      if (
                        'number' == typeof e[t + 1] &&
                        'gt' === e[t + 2] &&
                        e[t + 3] === t + 7 &&
                        'jz' === e[t + 4] &&
                        'pop' === e[t + 5] &&
                        e[t + 6] === e[t + 1]
                      ) {
                        l = r.pop();
                        r.push(buildMinOperation(l, e[t + 1]));
                        t += 6;
                        break;
                      }
                      u = r.at(-1);
                      if ('literal' === u.type || 'var' === u.type) {
                        r.push(u);
                        break;
                      }
                      f = new AstVariable(p++, u.min, u.max);
                      r[r.length - 1] = f;
                      r.push(f);
                      n.push(new AstVariableDefinition(f, u));
                      break;
                    case 'roll':
                      if (r.length < 2) return null;
                      h = r.pop();
                      l = r.pop();
                      if ('literal' !== h.type || 'literal' !== l.type) return null;
                      c = h.number;
                      o = l.number;
                      if (o <= 0 || !Number.isInteger(o) || !Number.isInteger(c) || r.length < o) return null;
                      c = ((c % o) + o) % o;
                      if (0 === c) break;
                      r.push(...r.splice(r.length - o, o - c));
                      break;
                    default:
                      return null;
                  }
                else r.push(new AstLiteral(g));
              }
              if (r.length !== s) return null;
              const m = [];
              for (const e of n) {
                const t = new ExpressionBuilderVisitor();
                e.visit(t);
                m.push(t.toString());
              }
              for (let e = 0, t = r.length; e < t; e++) {
                const t = r[e],
                  n = new ExpressionBuilderVisitor();
                t.visit(n);
                const i = a[2 * e],
                  s = a[2 * e + 1],
                  o = [n.toString()];
                if (i > t.min) {
                  o.unshift('Math.max(', i, ', ');
                  o.push(')');
                }
                if (s < t.max) {
                  o.unshift('Math.min(', s, ', ');
                  o.push(')');
                }
                o.unshift('dest[destOffset + ', e, '] = ');
                o.push(';');
                m.push(o.join(''));
              }
              return m.join('\n');
            }
          }
          t.PostScriptCompiler = PostScriptCompiler;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PostScriptParser = t.PostScriptLexer = void 0;
          var r = a(2),
            n = a(4),
            i = a(3);
          t.PostScriptParser = class PostScriptParser {
            constructor(e) {
              this.lexer = e;
              this.operators = [];
              this.token = null;
              this.prev = null;
            }
            nextToken() {
              this.prev = this.token;
              this.token = this.lexer.getToken();
            }
            accept(e) {
              if (this.token.type === e) {
                this.nextToken();
                return !0;
              }
              return !1;
            }
            expect(e) {
              if (this.accept(e)) return !0;
              throw new r.FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`);
            }
            parse() {
              this.nextToken();
              this.expect(s.LBRACE);
              this.parseBlock();
              this.expect(s.RBRACE);
              return this.operators;
            }
            parseBlock() {
              for (;;)
                if (this.accept(s.NUMBER)) this.operators.push(this.prev.value);
                else if (this.accept(s.OPERATOR)) this.operators.push(this.prev.value);
                else {
                  if (!this.accept(s.LBRACE)) return;
                  this.parseCondition();
                }
            }
            parseCondition() {
              const e = this.operators.length;
              this.operators.push(null, null);
              this.parseBlock();
              this.expect(s.RBRACE);
              if (this.accept(s.IF)) {
                this.operators[e] = this.operators.length;
                this.operators[e + 1] = 'jz';
              } else {
                if (!this.accept(s.LBRACE)) throw new r.FormatError('PS Function: error parsing conditional.');
                {
                  const t = this.operators.length;
                  this.operators.push(null, null);
                  const a = this.operators.length;
                  this.parseBlock();
                  this.expect(s.RBRACE);
                  this.expect(s.IFELSE);
                  this.operators[t] = this.operators.length;
                  this.operators[t + 1] = 'j';
                  this.operators[e] = a;
                  this.operators[e + 1] = 'jz';
                }
              }
            }
          };
          const s = { LBRACE: 0, RBRACE: 1, NUMBER: 2, OPERATOR: 3, IF: 4, IFELSE: 5 };
          class PostScriptToken {
            static get opCache() {
              return (0, r.shadow)(this, 'opCache', Object.create(null));
            }
            constructor(e, t) {
              this.type = e;
              this.value = t;
            }
            static getOperator(e) {
              const t = PostScriptToken.opCache[e];
              return t || (PostScriptToken.opCache[e] = new PostScriptToken(s.OPERATOR, e));
            }
            static get LBRACE() {
              return (0, r.shadow)(this, 'LBRACE', new PostScriptToken(s.LBRACE, '{'));
            }
            static get RBRACE() {
              return (0, r.shadow)(this, 'RBRACE', new PostScriptToken(s.RBRACE, '}'));
            }
            static get IF() {
              return (0, r.shadow)(this, 'IF', new PostScriptToken(s.IF, 'IF'));
            }
            static get IFELSE() {
              return (0, r.shadow)(this, 'IFELSE', new PostScriptToken(s.IFELSE, 'IFELSE'));
            }
          }
          t.PostScriptLexer = class PostScriptLexer {
            constructor(e) {
              this.stream = e;
              this.nextChar();
              this.strBuf = [];
            }
            nextChar() {
              return (this.currentChar = this.stream.getByte());
            }
            getToken() {
              let e = !1,
                t = this.currentChar;
              for (;;) {
                if (t < 0) return n.EOF;
                if (e) (10 !== t && 13 !== t) || (e = !1);
                else if (37 === t) e = !0;
                else if (!(0, i.isWhiteSpace)(t)) break;
                t = this.nextChar();
              }
              switch (0 | t) {
                case 48:
                case 49:
                case 50:
                case 51:
                case 52:
                case 53:
                case 54:
                case 55:
                case 56:
                case 57:
                case 43:
                case 45:
                case 46:
                  return new PostScriptToken(s.NUMBER, this.getNumber());
                case 123:
                  this.nextChar();
                  return PostScriptToken.LBRACE;
                case 125:
                  this.nextChar();
                  return PostScriptToken.RBRACE;
              }
              const a = this.strBuf;
              a.length = 0;
              a[0] = String.fromCharCode(t);
              for (; (t = this.nextChar()) >= 0 && ((t >= 65 && t <= 90) || (t >= 97 && t <= 122)); )
                a.push(String.fromCharCode(t));
              const r = a.join('');
              switch (r.toLowerCase()) {
                case 'if':
                  return PostScriptToken.IF;
                case 'ifelse':
                  return PostScriptToken.IFELSE;
                default:
                  return PostScriptToken.getOperator(r);
              }
            }
            getNumber() {
              let e = this.currentChar;
              const t = this.strBuf;
              t.length = 0;
              t[0] = String.fromCharCode(e);
              for (; (e = this.nextChar()) >= 0 && ((e >= 48 && e <= 57) || 45 === e || 46 === e); )
                t.push(String.fromCharCode(e));
              const a = parseFloat(t.join(''));
              if (isNaN(a)) throw new r.FormatError(`Invalid floating point number: ${a}`);
              return a;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.LocalTilingPatternCache =
            t.LocalImageCache =
            t.LocalGStateCache =
            t.LocalFunctionCache =
            t.LocalColorSpaceCache =
            t.GlobalImageCache =
              void 0;
          var r = a(2),
            n = a(4);
          class BaseLocalCache {
            constructor(e) {
              this.constructor === BaseLocalCache && (0, r.unreachable)('Cannot initialize BaseLocalCache.');
              this._onlyRefs = !0 === (e && e.onlyRefs);
              if (!this._onlyRefs) {
                this._nameRefMap = new Map();
                this._imageMap = new Map();
              }
              this._imageCache = new n.RefSetCache();
            }
            getByName(e) {
              this._onlyRefs && (0, r.unreachable)('Should not call `getByName` method.');
              const t = this._nameRefMap.get(e);
              return t ? this.getByRef(t) : this._imageMap.get(e) || null;
            }
            getByRef(e) {
              return this._imageCache.get(e) || null;
            }
            set(e, t, a) {
              (0, r.unreachable)('Abstract method `set` called.');
            }
          }
          t.LocalImageCache = class LocalImageCache extends BaseLocalCache {
            set(e, t = null, a) {
              if ('string' != typeof e) throw new Error('LocalImageCache.set - expected "name" argument.');
              if (t) {
                if (this._imageCache.has(t)) return;
                this._nameRefMap.set(e, t);
                this._imageCache.put(t, a);
              } else this._imageMap.has(e) || this._imageMap.set(e, a);
            }
          };
          t.LocalColorSpaceCache = class LocalColorSpaceCache extends BaseLocalCache {
            set(e = null, t = null, a) {
              if ('string' != typeof e && !t)
                throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');
              if (t) {
                if (this._imageCache.has(t)) return;
                null !== e && this._nameRefMap.set(e, t);
                this._imageCache.put(t, a);
              } else this._imageMap.has(e) || this._imageMap.set(e, a);
            }
          };
          t.LocalFunctionCache = class LocalFunctionCache extends BaseLocalCache {
            constructor(e) {
              super({ onlyRefs: !0 });
            }
            set(e = null, t, a) {
              if (!t) throw new Error('LocalFunctionCache.set - expected "ref" argument.');
              this._imageCache.has(t) || this._imageCache.put(t, a);
            }
          };
          t.LocalGStateCache = class LocalGStateCache extends BaseLocalCache {
            set(e, t = null, a) {
              if ('string' != typeof e) throw new Error('LocalGStateCache.set - expected "name" argument.');
              if (t) {
                if (this._imageCache.has(t)) return;
                this._nameRefMap.set(e, t);
                this._imageCache.put(t, a);
              } else this._imageMap.has(e) || this._imageMap.set(e, a);
            }
          };
          t.LocalTilingPatternCache = class LocalTilingPatternCache extends BaseLocalCache {
            constructor(e) {
              super({ onlyRefs: !0 });
            }
            set(e = null, t, a) {
              if (!t) throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');
              this._imageCache.has(t) || this._imageCache.put(t, a);
            }
          };
          class GlobalImageCache {
            static get NUM_PAGES_THRESHOLD() {
              return (0, r.shadow)(this, 'NUM_PAGES_THRESHOLD', 2);
            }
            static get MIN_IMAGES_TO_CACHE() {
              return (0, r.shadow)(this, 'MIN_IMAGES_TO_CACHE', 10);
            }
            static get MAX_BYTE_SIZE() {
              return (0, r.shadow)(this, 'MAX_BYTE_SIZE', 4e7);
            }
            constructor() {
              this._refCache = new n.RefSetCache();
              this._imageCache = new n.RefSetCache();
            }
            get _byteSize() {
              let e = 0;
              for (const t of this._imageCache) e += t.byteSize;
              return e;
            }
            get _cacheLimitReached() {
              return (
                !(this._imageCache.size < GlobalImageCache.MIN_IMAGES_TO_CACHE) &&
                !(this._byteSize < GlobalImageCache.MAX_BYTE_SIZE)
              );
            }
            shouldCache(e, t) {
              const a = this._refCache.get(e);
              return (
                !((a ? a.size + (a.has(t) ? 0 : 1) : 1) < GlobalImageCache.NUM_PAGES_THRESHOLD) &&
                !(!this._imageCache.has(e) && this._cacheLimitReached)
              );
            }
            addPageIndex(e, t) {
              let a = this._refCache.get(e);
              if (!a) {
                a = new Set();
                this._refCache.put(e, a);
              }
              a.add(t);
            }
            addByteSize(e, t) {
              const a = this._imageCache.get(e);
              a && (a.byteSize || (a.byteSize = t));
            }
            getData(e, t) {
              const a = this._refCache.get(e);
              if (!a) return null;
              if (a.size < GlobalImageCache.NUM_PAGES_THRESHOLD) return null;
              const r = this._imageCache.get(e);
              if (!r) return null;
              a.add(t);
              return r;
            }
            setData(e, t) {
              if (!this._refCache.has(e))
                throw new Error('GlobalImageCache.setData - expected "addPageIndex" to have been called.');
              this._imageCache.has(e) ||
                (this._cacheLimitReached
                  ? (0, r.warn)('GlobalImageCache.setData - cache limit reached.')
                  : this._imageCache.put(e, t));
            }
            clear(e = !1) {
              e || this._refCache.clear();
              this._imageCache.clear();
            }
          }
          t.GlobalImageCache = GlobalImageCache;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.bidi = function bidi(e, t = -1, a = !1) {
            let c = !0;
            const l = e.length;
            if (0 === l || a) return createBidiText(e, c, a);
            s.length = l;
            o.length = l;
            let h,
              u,
              d = 0;
            for (h = 0; h < l; ++h) {
              s[h] = e.charAt(h);
              const t = e.charCodeAt(h);
              let a = 'L';
              if (t <= 255) a = n[t];
              else if (1424 <= t && t <= 1524) a = 'R';
              else if (1536 <= t && t <= 1791) {
                a = i[255 & t];
                a || (0, r.warn)('Bidi: invalid Unicode character ' + t.toString(16));
              } else 1792 <= t && t <= 2220 && (a = 'AL');
              ('R' !== a && 'AL' !== a && 'AN' !== a) || d++;
              o[h] = a;
            }
            if (0 === d) {
              c = !0;
              return createBidiText(e, c);
            }
            if (-1 === t)
              if (d / l < 0.3 && l > 4) {
                c = !0;
                t = 0;
              } else {
                c = !1;
                t = 1;
              }
            const f = [];
            for (h = 0; h < l; ++h) f[h] = t;
            const g = isOdd(t) ? 'R' : 'L',
              p = g,
              m = p;
            let b,
              y = p;
            for (h = 0; h < l; ++h) 'NSM' === o[h] ? (o[h] = y) : (y = o[h]);
            y = p;
            for (h = 0; h < l; ++h) {
              b = o[h];
              'EN' === b ? (o[h] = 'AL' === y ? 'AN' : 'EN') : ('R' !== b && 'L' !== b && 'AL' !== b) || (y = b);
            }
            for (h = 0; h < l; ++h) {
              b = o[h];
              'AL' === b && (o[h] = 'R');
            }
            for (h = 1; h < l - 1; ++h) {
              'ES' === o[h] && 'EN' === o[h - 1] && 'EN' === o[h + 1] && (o[h] = 'EN');
              'CS' !== o[h] || ('EN' !== o[h - 1] && 'AN' !== o[h - 1]) || o[h + 1] !== o[h - 1] || (o[h] = o[h - 1]);
            }
            for (h = 0; h < l; ++h)
              if ('EN' === o[h]) {
                for (let e = h - 1; e >= 0 && 'ET' === o[e]; --e) o[e] = 'EN';
                for (let e = h + 1; e < l && 'ET' === o[e]; ++e) o[e] = 'EN';
              }
            for (h = 0; h < l; ++h) {
              b = o[h];
              ('WS' !== b && 'ES' !== b && 'ET' !== b && 'CS' !== b) || (o[h] = 'ON');
            }
            y = p;
            for (h = 0; h < l; ++h) {
              b = o[h];
              'EN' === b ? (o[h] = 'L' === y ? 'L' : 'EN') : ('R' !== b && 'L' !== b) || (y = b);
            }
            for (h = 0; h < l; ++h)
              if ('ON' === o[h]) {
                const e = findUnequal(o, h + 1, 'ON');
                let t = p;
                h > 0 && (t = o[h - 1]);
                let a = m;
                e + 1 < l && (a = o[e + 1]);
                'L' !== t && (t = 'R');
                'L' !== a && (a = 'R');
                t === a && setValues(o, h, e, t);
                h = e - 1;
              }
            for (h = 0; h < l; ++h) 'ON' === o[h] && (o[h] = g);
            for (h = 0; h < l; ++h) {
              b = o[h];
              isEven(f[h])
                ? 'R' === b
                  ? (f[h] += 1)
                  : ('AN' !== b && 'EN' !== b) || (f[h] += 2)
                : ('L' !== b && 'AN' !== b && 'EN' !== b) || (f[h] += 1);
            }
            let w,
              S = -1,
              x = 99;
            for (h = 0, u = f.length; h < u; ++h) {
              w = f[h];
              S < w && (S = w);
              x > w && isOdd(w) && (x = w);
            }
            for (w = S; w >= x; --w) {
              let e = -1;
              for (h = 0, u = f.length; h < u; ++h)
                if (f[h] < w) {
                  if (e >= 0) {
                    reverseValues(s, e, h);
                    e = -1;
                  }
                } else e < 0 && (e = h);
              e >= 0 && reverseValues(s, e, f.length);
            }
            for (h = 0, u = s.length; h < u; ++h) {
              const e = s[h];
              ('<' !== e && '>' !== e) || (s[h] = '');
            }
            return createBidiText(s.join(''), c);
          };
          var r = a(2);
          const n = [
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'S',
              'B',
              'S',
              'WS',
              'B',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'B',
              'B',
              'B',
              'S',
              'WS',
              'ON',
              'ON',
              'ET',
              'ET',
              'ET',
              'ON',
              'ON',
              'ON',
              'ON',
              'ON',
              'ES',
              'CS',
              'ES',
              'CS',
              'CS',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'CS',
              'ON',
              'ON',
              'ON',
              'ON',
              'ON',
              'ON',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'ON',
              'ON',
              'ON',
              'ON',
              'ON',
              'ON',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'ON',
              'ON',
              'ON',
              'ON',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'B',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'BN',
              'CS',
              'ON',
              'ET',
              'ET',
              'ET',
              'ET',
              'ON',
              'ON',
              'ON',
              'ON',
              'L',
              'ON',
              'ON',
              'BN',
              'ON',
              'ON',
              'ET',
              'ET',
              'EN',
              'EN',
              'ON',
              'L',
              'ON',
              'ON',
              'ON',
              'EN',
              'L',
              'ON',
              'ON',
              'ON',
              'ON',
              'ON',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'ON',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'ON',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
              'L',
            ],
            i = [
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'ON',
              'ON',
              'AL',
              'ET',
              'ET',
              'AL',
              'CS',
              'AL',
              'ON',
              'ON',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'AL',
              'AL',
              '',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'AN',
              'ET',
              'AN',
              'AN',
              'AL',
              'AL',
              'AL',
              'NSM',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'AN',
              'ON',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'AL',
              'AL',
              'NSM',
              'NSM',
              'ON',
              'NSM',
              'NSM',
              'NSM',
              'NSM',
              'AL',
              'AL',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'EN',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
              'AL',
            ];
          function isOdd(e) {
            return 0 != (1 & e);
          }
          function isEven(e) {
            return 0 == (1 & e);
          }
          function findUnequal(e, t, a) {
            let r, n;
            for (r = t, n = e.length; r < n; ++r) if (e[r] !== a) return r;
            return r;
          }
          function setValues(e, t, a, r) {
            for (let n = t; n < a; ++n) e[n] = r;
          }
          function reverseValues(e, t, a) {
            for (let r = t, n = a - 1; r < n; ++r, --n) {
              const t = e[r];
              e[r] = e[n];
              e[n] = t;
            }
          }
          function createBidiText(e, t, a = !1) {
            let r = 'ltr';
            a ? (r = 'ttb') : t || (r = 'rtl');
            return { str: e, dir: r };
          }
          const s = [],
            o = [];
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.MurmurHash3_64 = void 0;
          var r = a(2);
          const n = 3285377520,
            i = 4294901760,
            s = 65535;
          t.MurmurHash3_64 = class MurmurHash3_64 {
            constructor(e) {
              this.h1 = e ? 4294967295 & e : n;
              this.h2 = e ? 4294967295 & e : n;
            }
            update(e) {
              let t, a;
              if ('string' == typeof e) {
                t = new Uint8Array(2 * e.length);
                a = 0;
                for (let r = 0, n = e.length; r < n; r++) {
                  const n = e.charCodeAt(r);
                  if (n <= 255) t[a++] = n;
                  else {
                    t[a++] = n >>> 8;
                    t[a++] = 255 & n;
                  }
                }
              } else {
                if (!(0, r.isArrayBuffer)(e))
                  throw new Error('Wrong data format in MurmurHash3_64_update. Input must be a string or array.');
                t = e.slice();
                a = t.byteLength;
              }
              const n = a >> 2,
                o = a - 4 * n,
                c = new Uint32Array(t.buffer, 0, n);
              let l = 0,
                h = 0,
                u = this.h1,
                d = this.h2;
              const f = 3432918353,
                g = 461845907,
                p = 11601,
                m = 13715;
              for (let e = 0; e < n; e++)
                if (1 & e) {
                  l = c[e];
                  l = ((l * f) & i) | ((l * p) & s);
                  l = (l << 15) | (l >>> 17);
                  l = ((l * g) & i) | ((l * m) & s);
                  u ^= l;
                  u = (u << 13) | (u >>> 19);
                  u = 5 * u + 3864292196;
                } else {
                  h = c[e];
                  h = ((h * f) & i) | ((h * p) & s);
                  h = (h << 15) | (h >>> 17);
                  h = ((h * g) & i) | ((h * m) & s);
                  d ^= h;
                  d = (d << 13) | (d >>> 19);
                  d = 5 * d + 3864292196;
                }
              l = 0;
              switch (o) {
                case 3:
                  l ^= t[4 * n + 2] << 16;
                case 2:
                  l ^= t[4 * n + 1] << 8;
                case 1:
                  l ^= t[4 * n];
                  l = ((l * f) & i) | ((l * p) & s);
                  l = (l << 15) | (l >>> 17);
                  l = ((l * g) & i) | ((l * m) & s);
                  1 & n ? (u ^= l) : (d ^= l);
              }
              this.h1 = u;
              this.h2 = d;
            }
            hexdigest() {
              let e = this.h1,
                t = this.h2;
              e ^= t >>> 1;
              e = ((3981806797 * e) & i) | ((36045 * e) & s);
              t = ((4283543511 * t) & i) | (((2950163797 * ((t << 16) | (e >>> 16))) & i) >>> 16);
              e ^= t >>> 1;
              e = ((444984403 * e) & i) | ((60499 * e) & s);
              t = ((3301882366 * t) & i) | (((3120437893 * ((t << 16) | (e >>> 16))) & i) >>> 16);
              e ^= t >>> 1;
              return (e >>> 0).toString(16).padStart(8, '0') + (t >>> 0).toString(16).padStart(8, '0');
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.OperatorList = void 0;
          var r = a(2);
          function addState(e, t, a, r, n) {
            let i = e;
            for (let e = 0, a = t.length - 1; e < a; e++) {
              const a = t[e];
              i = i[a] || (i[a] = []);
            }
            i[t.at(-1)] = { checkFn: a, iterateFn: r, processFn: n };
          }
          const n = [];
          addState(
            n,
            [r.OPS.save, r.OPS.transform, r.OPS.paintInlineImageXObject, r.OPS.restore],
            null,
            function iterateInlineImageGroup(e, t) {
              const a = e.fnArray,
                n = (t - (e.iCurr - 3)) % 4;
              switch (n) {
                case 0:
                  return a[t] === r.OPS.save;
                case 1:
                  return a[t] === r.OPS.transform;
                case 2:
                  return a[t] === r.OPS.paintInlineImageXObject;
                case 3:
                  return a[t] === r.OPS.restore;
              }
              throw new Error(`iterateInlineImageGroup - invalid pos: ${n}`);
            },
            function foundInlineImageGroup(e, t) {
              const a = e.fnArray,
                n = e.argsArray,
                i = e.iCurr,
                s = i - 3,
                o = i - 2,
                c = i - 1,
                l = Math.min(Math.floor((t - s) / 4), 200);
              if (l < 10) return t - ((t - s) % 4);
              let h = 0;
              const u = [];
              let d = 0,
                f = 1,
                g = 1;
              for (let e = 0; e < l; e++) {
                const t = n[o + (e << 2)],
                  a = n[c + (e << 2)][0];
                if (f + a.width > 1e3) {
                  h = Math.max(h, f);
                  g += d + 2;
                  f = 0;
                  d = 0;
                }
                u.push({ transform: t, x: f, y: g, w: a.width, h: a.height });
                f += a.width + 2;
                d = Math.max(d, a.height);
              }
              const p = Math.max(h, f) + 1,
                m = g + d + 1,
                b = new Uint8Array(p * m * 4),
                y = p << 2;
              for (let e = 0; e < l; e++) {
                const t = n[c + (e << 2)][0].data,
                  a = u[e].w << 2;
                let r = 0,
                  i = (u[e].x + u[e].y * p) << 2;
                b.set(t.subarray(0, a), i - y);
                for (let n = 0, s = u[e].h; n < s; n++) {
                  b.set(t.subarray(r, r + a), i);
                  r += a;
                  i += y;
                }
                b.set(t.subarray(r - a, r), i);
                for (; i >= 0; ) {
                  t[i - 4] = t[i];
                  t[i - 3] = t[i + 1];
                  t[i - 2] = t[i + 2];
                  t[i - 1] = t[i + 3];
                  t[i + a] = t[i + a - 4];
                  t[i + a + 1] = t[i + a - 3];
                  t[i + a + 2] = t[i + a - 2];
                  t[i + a + 3] = t[i + a - 1];
                  i -= y;
                }
              }
              a.splice(s, 4 * l, r.OPS.paintInlineImageXObjectGroup);
              n.splice(s, 4 * l, [{ width: p, height: m, kind: r.ImageKind.RGBA_32BPP, data: b }, u]);
              return s + 1;
            }
          );
          addState(
            n,
            [r.OPS.save, r.OPS.transform, r.OPS.paintImageMaskXObject, r.OPS.restore],
            null,
            function iterateImageMaskGroup(e, t) {
              const a = e.fnArray,
                n = (t - (e.iCurr - 3)) % 4;
              switch (n) {
                case 0:
                  return a[t] === r.OPS.save;
                case 1:
                  return a[t] === r.OPS.transform;
                case 2:
                  return a[t] === r.OPS.paintImageMaskXObject;
                case 3:
                  return a[t] === r.OPS.restore;
              }
              throw new Error(`iterateImageMaskGroup - invalid pos: ${n}`);
            },
            function foundImageMaskGroup(e, t) {
              const a = e.fnArray,
                n = e.argsArray,
                i = e.iCurr,
                s = i - 3,
                o = i - 2,
                c = i - 1;
              let l = Math.floor((t - s) / 4);
              if (l < 10) return t - ((t - s) % 4);
              let h,
                u,
                d = !1;
              const f = n[c][0],
                g = n[o][0],
                p = n[o][1],
                m = n[o][2],
                b = n[o][3];
              if (p === m) {
                d = !0;
                h = o + 4;
                let e = c + 4;
                for (let t = 1; t < l; t++, h += 4, e += 4) {
                  u = n[h];
                  if (n[e][0] !== f || u[0] !== g || u[1] !== p || u[2] !== m || u[3] !== b) {
                    t < 10 ? (d = !1) : (l = t);
                    break;
                  }
                }
              }
              if (d) {
                l = Math.min(l, 1e3);
                const e = new Float32Array(2 * l);
                h = o;
                for (let t = 0; t < l; t++, h += 4) {
                  u = n[h];
                  e[t << 1] = u[4];
                  e[1 + (t << 1)] = u[5];
                }
                a.splice(s, 4 * l, r.OPS.paintImageMaskXObjectRepeat);
                n.splice(s, 4 * l, [f, g, p, m, b, e]);
              } else {
                l = Math.min(l, 100);
                const e = [];
                for (let t = 0; t < l; t++) {
                  u = n[o + (t << 2)];
                  const a = n[c + (t << 2)][0];
                  e.push({
                    data: a.data,
                    width: a.width,
                    height: a.height,
                    interpolate: a.interpolate,
                    count: a.count,
                    transform: u,
                  });
                }
                a.splice(s, 4 * l, r.OPS.paintImageMaskXObjectGroup);
                n.splice(s, 4 * l, [e]);
              }
              return s + 1;
            }
          );
          addState(
            n,
            [r.OPS.save, r.OPS.transform, r.OPS.paintImageXObject, r.OPS.restore],
            function (e) {
              const t = e.argsArray,
                a = e.iCurr - 2;
              return 0 === t[a][1] && 0 === t[a][2];
            },
            function iterateImageGroup(e, t) {
              const a = e.fnArray,
                n = e.argsArray,
                i = (t - (e.iCurr - 3)) % 4;
              switch (i) {
                case 0:
                  return a[t] === r.OPS.save;
                case 1:
                  if (a[t] !== r.OPS.transform) return !1;
                  const i = e.iCurr - 2,
                    s = n[i][0],
                    o = n[i][3];
                  return n[t][0] === s && 0 === n[t][1] && 0 === n[t][2] && n[t][3] === o;
                case 2:
                  if (a[t] !== r.OPS.paintImageXObject) return !1;
                  const c = n[e.iCurr - 1][0];
                  return n[t][0] === c;
                case 3:
                  return a[t] === r.OPS.restore;
              }
              throw new Error(`iterateImageGroup - invalid pos: ${i}`);
            },
            function (e, t) {
              const a = e.fnArray,
                n = e.argsArray,
                i = e.iCurr,
                s = i - 3,
                o = i - 2,
                c = n[i - 1][0],
                l = n[o][0],
                h = n[o][3],
                u = Math.min(Math.floor((t - s) / 4), 1e3);
              if (u < 3) return t - ((t - s) % 4);
              const d = new Float32Array(2 * u);
              let f = o;
              for (let e = 0; e < u; e++, f += 4) {
                const t = n[f];
                d[e << 1] = t[4];
                d[1 + (e << 1)] = t[5];
              }
              const g = [c, l, h, d];
              a.splice(s, 4 * u, r.OPS.paintImageXObjectRepeat);
              n.splice(s, 4 * u, g);
              return s + 1;
            }
          );
          addState(
            n,
            [r.OPS.beginText, r.OPS.setFont, r.OPS.setTextMatrix, r.OPS.showText, r.OPS.endText],
            null,
            function iterateShowTextGroup(e, t) {
              const a = e.fnArray,
                n = e.argsArray,
                i = (t - (e.iCurr - 4)) % 5;
              switch (i) {
                case 0:
                  return a[t] === r.OPS.beginText;
                case 1:
                  return a[t] === r.OPS.setFont;
                case 2:
                  return a[t] === r.OPS.setTextMatrix;
                case 3:
                  if (a[t] !== r.OPS.showText) return !1;
                  const i = e.iCurr - 3,
                    s = n[i][0],
                    o = n[i][1];
                  return n[t][0] === s && n[t][1] === o;
                case 4:
                  return a[t] === r.OPS.endText;
              }
              throw new Error(`iterateShowTextGroup - invalid pos: ${i}`);
            },
            function (e, t) {
              const a = e.fnArray,
                r = e.argsArray,
                n = e.iCurr,
                i = n - 4,
                s = n - 3,
                o = n - 2,
                c = n - 1,
                l = n,
                h = r[s][0],
                u = r[s][1];
              let d = Math.min(Math.floor((t - i) / 5), 1e3);
              if (d < 3) return t - ((t - i) % 5);
              let f = i;
              if (
                i >= 4 &&
                a[i - 4] === a[s] &&
                a[i - 3] === a[o] &&
                a[i - 2] === a[c] &&
                a[i - 1] === a[l] &&
                r[i - 4][0] === h &&
                r[i - 4][1] === u
              ) {
                d++;
                f -= 5;
              }
              let g = f + 4;
              for (let e = 1; e < d; e++) {
                a.splice(g, 3);
                r.splice(g, 3);
                g += 2;
              }
              return g + 1;
            }
          );
          class NullOptimizer {
            constructor(e) {
              this.queue = e;
            }
            _optimize() {}
            push(e, t) {
              this.queue.fnArray.push(e);
              this.queue.argsArray.push(t);
              this._optimize();
            }
            flush() {}
            reset() {}
          }
          class QueueOptimizer extends NullOptimizer {
            constructor(e) {
              super(e);
              this.state = null;
              this.context = { iCurr: 0, fnArray: e.fnArray, argsArray: e.argsArray };
              this.match = null;
              this.lastProcessed = 0;
            }
            _optimize() {
              const e = this.queue.fnArray;
              let t = this.lastProcessed,
                a = e.length,
                r = this.state,
                i = this.match;
              if (!r && !i && t + 1 === a && !n[e[t]]) {
                this.lastProcessed = a;
                return;
              }
              const s = this.context;
              for (; t < a; ) {
                if (i) {
                  if ((0, i.iterateFn)(s, t)) {
                    t++;
                    continue;
                  }
                  t = (0, i.processFn)(s, t + 1);
                  a = e.length;
                  i = null;
                  r = null;
                  if (t >= a) break;
                }
                r = (r || n)[e[t]];
                if (r && !Array.isArray(r)) {
                  s.iCurr = t;
                  t++;
                  if (!r.checkFn || (0, r.checkFn)(s)) {
                    i = r;
                    r = null;
                  } else r = null;
                } else t++;
              }
              this.state = r;
              this.match = i;
              this.lastProcessed = t;
            }
            flush() {
              for (; this.match; ) {
                const e = this.queue.fnArray.length;
                this.lastProcessed = (0, this.match.processFn)(this.context, e);
                this.match = null;
                this.state = null;
                this._optimize();
              }
            }
            reset() {
              this.state = null;
              this.match = null;
              this.lastProcessed = 0;
            }
          }
          class OperatorList {
            static get CHUNK_SIZE() {
              return (0, r.shadow)(this, 'CHUNK_SIZE', 1e3);
            }
            static get CHUNK_SIZE_ABOUT() {
              return (0, r.shadow)(this, 'CHUNK_SIZE_ABOUT', this.CHUNK_SIZE - 5);
            }
            constructor(e = 0, t) {
              this._streamSink = t;
              this.fnArray = [];
              this.argsArray = [];
              !t || e & r.RenderingIntentFlag.OPLIST
                ? (this.optimizer = new NullOptimizer(this))
                : (this.optimizer = new QueueOptimizer(this));
              this.dependencies = new Set();
              this._totalLength = 0;
              this.weight = 0;
              this._resolved = t ? null : Promise.resolve();
            }
            get length() {
              return this.argsArray.length;
            }
            get ready() {
              return this._resolved || this._streamSink.ready;
            }
            get totalLength() {
              return this._totalLength + this.length;
            }
            addOp(e, t) {
              this.optimizer.push(e, t);
              this.weight++;
              this._streamSink &&
                (this.weight >= OperatorList.CHUNK_SIZE ||
                  (this.weight >= OperatorList.CHUNK_SIZE_ABOUT && (e === r.OPS.restore || e === r.OPS.endText))) &&
                this.flush();
            }
            addImageOps(e, t, a) {
              void 0 !== a && this.addOp(r.OPS.beginMarkedContentProps, ['OC', a]);
              this.addOp(e, t);
              void 0 !== a && this.addOp(r.OPS.endMarkedContent, []);
            }
            addDependency(e) {
              if (!this.dependencies.has(e)) {
                this.dependencies.add(e);
                this.addOp(r.OPS.dependency, [e]);
              }
            }
            addDependencies(e) {
              for (const t of e) this.addDependency(t);
            }
            addOpList(e) {
              if (e instanceof OperatorList) {
                for (const t of e.dependencies) this.dependencies.add(t);
                for (let t = 0, a = e.length; t < a; t++) this.addOp(e.fnArray[t], e.argsArray[t]);
              } else (0, r.warn)('addOpList - ignoring invalid "opList" parameter.');
            }
            getIR() {
              return { fnArray: this.fnArray, argsArray: this.argsArray, length: this.length };
            }
            get _transfers() {
              const e = [],
                { fnArray: t, argsArray: a, length: n } = this;
              for (let i = 0; i < n; i++)
                switch (t[i]) {
                  case r.OPS.paintInlineImageXObject:
                  case r.OPS.paintInlineImageXObjectGroup:
                  case r.OPS.paintImageMaskXObject:
                    const t = a[i][0];
                    !t.cached && t.data && t.data.buffer instanceof ArrayBuffer && e.push(t.data.buffer);
                }
              return e;
            }
            flush(e = !1, t = null) {
              this.optimizer.flush();
              const a = this.length;
              this._totalLength += a;
              this._streamSink.enqueue(
                { fnArray: this.fnArray, argsArray: this.argsArray, lastChunk: e, separateAnnots: t, length: a },
                1,
                this._transfers
              );
              this.dependencies.clear();
              this.fnArray.length = 0;
              this.argsArray.length = 0;
              this.weight = 0;
              this.optimizer.reset();
            }
          }
          t.OperatorList = OperatorList;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PDFImage = void 0;
          var r = a(2),
            n = a(62),
            i = a(5),
            s = a(12),
            o = a(17),
            c = a(25),
            l = a(28),
            h = a(4);
          function decodeAndClamp(e, t, a, r) {
            (e = t + e * a) < 0 ? (e = 0) : e > r && (e = r);
            return e;
          }
          function resizeImageMask(e, t, a, r, n, i) {
            const s = n * i;
            let o;
            o = t <= 8 ? new Uint8Array(s) : t <= 16 ? new Uint16Array(s) : new Uint32Array(s);
            const c = a / n,
              l = r / i;
            let h,
              u,
              d,
              f,
              g = 0;
            const p = new Uint16Array(n),
              m = a;
            for (h = 0; h < n; h++) p[h] = Math.floor(h * c);
            for (h = 0; h < i; h++) {
              d = Math.floor(h * l) * m;
              for (u = 0; u < n; u++) {
                f = d + p[u];
                o[g++] = e[f];
              }
            }
            return o;
          }
          class PDFImage {
            constructor({
              xref: e,
              res: t,
              image: a,
              isInline: n = !1,
              smask: o = null,
              mask: c = null,
              isMask: u = !1,
              pdfFunctionFactory: d,
              localColorSpaceCache: f,
            }) {
              this.image = a;
              const g = a.dict,
                p = g.get('F', 'Filter');
              let m;
              if (p instanceof h.Name) m = p.name;
              else if (Array.isArray(p)) {
                const t = e.fetchIfRef(p[0]);
                t instanceof h.Name && (m = t.name);
              }
              switch (m) {
                case 'JPXDecode':
                  const e = new l.JpxImage();
                  e.parseImageProperties(a.stream);
                  a.stream.reset();
                  a.width = e.width;
                  a.height = e.height;
                  a.bitsPerComponent = e.bitsPerComponent;
                  a.numComps = e.componentsCount;
                  break;
                case 'JBIG2Decode':
                  a.bitsPerComponent = 1;
                  a.numComps = 1;
              }
              let b = g.get('W', 'Width'),
                y = g.get('H', 'Height');
              if (
                Number.isInteger(a.width) &&
                a.width > 0 &&
                Number.isInteger(a.height) &&
                a.height > 0 &&
                (a.width !== b || a.height !== y)
              ) {
                (0, r.warn)('PDFImage - using the Width/Height of the image data, rather than the image dictionary.');
                b = a.width;
                y = a.height;
              }
              if (b < 1 || y < 1) throw new r.FormatError(`Invalid image width: ${b} or height: ${y}`);
              this.width = b;
              this.height = y;
              this.interpolate = g.get('I', 'Interpolate');
              this.imageMask = g.get('IM', 'ImageMask') || !1;
              this.matte = g.get('Matte') || !1;
              let w = a.bitsPerComponent;
              if (!w) {
                w = g.get('BPC', 'BitsPerComponent');
                if (!w) {
                  if (!this.imageMask)
                    throw new r.FormatError(`Bits per component missing in image: ${this.imageMask}`);
                  w = 1;
                }
              }
              this.bpc = w;
              if (!this.imageMask) {
                let i = g.getRaw('CS') || g.getRaw('ColorSpace');
                if (!i) {
                  (0, r.info)('JPX images (which do not require color spaces)');
                  switch (a.numComps) {
                    case 1:
                      i = h.Name.get('DeviceGray');
                      break;
                    case 3:
                      i = h.Name.get('DeviceRGB');
                      break;
                    case 4:
                      i = h.Name.get('DeviceCMYK');
                      break;
                    default:
                      throw new Error(`JPX images with ${a.numComps} color components not supported.`);
                  }
                }
                this.colorSpace = s.ColorSpace.parse({
                  cs: i,
                  xref: e,
                  resources: n ? t : null,
                  pdfFunctionFactory: d,
                  localColorSpaceCache: f,
                });
                this.numComps = this.colorSpace.numComps;
              }
              this.decode = g.getArray('D', 'Decode');
              this.needsDecode = !1;
              if (
                this.decode &&
                ((this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, w)) ||
                  (u && !s.ColorSpace.isDefaultDecode(this.decode, 1)))
              ) {
                this.needsDecode = !0;
                const e = (1 << w) - 1;
                this.decodeCoefficients = [];
                this.decodeAddends = [];
                const t = this.colorSpace && 'Indexed' === this.colorSpace.name;
                for (let a = 0, r = 0; a < this.decode.length; a += 2, ++r) {
                  const n = this.decode[a],
                    i = this.decode[a + 1];
                  this.decodeCoefficients[r] = t ? (i - n) / e : i - n;
                  this.decodeAddends[r] = t ? n : e * n;
                }
              }
              if (o)
                this.smask = new PDFImage({
                  xref: e,
                  res: t,
                  image: o,
                  isInline: n,
                  pdfFunctionFactory: d,
                  localColorSpaceCache: f,
                });
              else if (c)
                if (c instanceof i.BaseStream) {
                  c.dict.get('IM', 'ImageMask')
                    ? (this.mask = new PDFImage({
                        xref: e,
                        res: t,
                        image: c,
                        isInline: n,
                        isMask: !0,
                        pdfFunctionFactory: d,
                        localColorSpaceCache: f,
                      }))
                    : (0, r.warn)('Ignoring /Mask in image without /ImageMask.');
                } else this.mask = c;
            }
            static async buildImage({
              xref: e,
              res: t,
              image: a,
              isInline: n = !1,
              pdfFunctionFactory: s,
              localColorSpaceCache: o,
            }) {
              const c = a;
              let l = null,
                h = null;
              const u = a.dict.get('SMask'),
                d = a.dict.get('Mask');
              u
                ? u instanceof i.BaseStream
                  ? (l = u)
                  : (0, r.warn)('Unsupported /SMask format.')
                : d &&
                  (d instanceof i.BaseStream || Array.isArray(d) ? (h = d) : (0, r.warn)('Unsupported /Mask format.'));
              return new PDFImage({
                xref: e,
                res: t,
                image: c,
                isInline: n,
                smask: l,
                mask: h,
                pdfFunctionFactory: s,
                localColorSpaceCache: o,
              });
            }
            static createRawMask({
              imgArray: e,
              width: t,
              height: a,
              imageIsFromDecodeStream: r,
              inverseDecode: n,
              interpolate: i,
            }) {
              const s = ((t + 7) >> 3) * a,
                o = e.byteLength;
              let c, l;
              if (!r || (n && !(s === o)))
                if (n) {
                  c = new Uint8Array(s);
                  c.set(e);
                  c.fill(255, o);
                } else c = new Uint8Array(e);
              else c = e;
              if (n) for (l = 0; l < o; l++) c[l] ^= 255;
              return { data: c, width: t, height: a, interpolate: i };
            }
            static createMask({
              imgArray: e,
              width: t,
              height: a,
              imageIsFromDecodeStream: i,
              inverseDecode: s,
              interpolate: o,
              isOffscreenCanvasSupported: c = !0,
            }) {
              const l = 1 === t && 1 === a && s === (0 === e.length || !!(128 & e[0]));
              if (l) return { isSingleOpaquePixel: l };
              if (c && r.FeatureTest.isOffscreenCanvasSupported) {
                const r = new OffscreenCanvas(t, a),
                  i = r.getContext('2d'),
                  c = i.createImageData(t, a);
                (0, n.applyMaskImageData)({ src: e, dest: c.data, width: t, height: a, inverseDecode: s });
                i.putImageData(c, 0, 0);
                return { data: null, width: t, height: a, interpolate: o, bitmap: r.transferToImageBitmap() };
              }
              return this.createRawMask({
                imgArray: e,
                width: t,
                height: a,
                inverseDecode: s,
                imageIsFromDecodeStream: i,
                interpolate: o,
              });
            }
            get drawWidth() {
              return Math.max(this.width, (this.smask && this.smask.width) || 0, (this.mask && this.mask.width) || 0);
            }
            get drawHeight() {
              return Math.max(
                this.height,
                (this.smask && this.smask.height) || 0,
                (this.mask && this.mask.height) || 0
              );
            }
            decodeBuffer(e) {
              const t = this.bpc,
                a = this.numComps,
                r = this.decodeAddends,
                n = this.decodeCoefficients,
                i = (1 << t) - 1;
              let s, o;
              if (1 === t) {
                for (s = 0, o = e.length; s < o; s++) e[s] = +!e[s];
                return;
              }
              let c = 0;
              for (s = 0, o = this.width * this.height; s < o; s++)
                for (let t = 0; t < a; t++) {
                  e[c] = decodeAndClamp(e[c], r[t], n[t], i);
                  c++;
                }
            }
            getComponents(e) {
              const t = this.bpc;
              if (8 === t) return e;
              const a = this.width,
                r = this.height,
                n = this.numComps,
                i = a * r * n;
              let s,
                o = 0;
              s = t <= 8 ? new Uint8Array(i) : t <= 16 ? new Uint16Array(i) : new Uint32Array(i);
              const c = a * n,
                l = (1 << t) - 1;
              let h,
                u,
                d = 0;
              if (1 === t) {
                let t, a, n;
                for (let i = 0; i < r; i++) {
                  a = d + (-8 & c);
                  n = d + c;
                  for (; d < a; ) {
                    u = e[o++];
                    s[d] = (u >> 7) & 1;
                    s[d + 1] = (u >> 6) & 1;
                    s[d + 2] = (u >> 5) & 1;
                    s[d + 3] = (u >> 4) & 1;
                    s[d + 4] = (u >> 3) & 1;
                    s[d + 5] = (u >> 2) & 1;
                    s[d + 6] = (u >> 1) & 1;
                    s[d + 7] = 1 & u;
                    d += 8;
                  }
                  if (d < n) {
                    u = e[o++];
                    t = 128;
                    for (; d < n; ) {
                      s[d++] = +!!(u & t);
                      t >>= 1;
                    }
                  }
                }
              } else {
                let a = 0;
                u = 0;
                for (d = 0, h = i; d < h; ++d) {
                  if (d % c == 0) {
                    u = 0;
                    a = 0;
                  }
                  for (; a < t; ) {
                    u = (u << 8) | e[o++];
                    a += 8;
                  }
                  const r = a - t;
                  let n = u >> r;
                  n < 0 ? (n = 0) : n > l && (n = l);
                  s[d] = n;
                  u &= (1 << r) - 1;
                  a = r;
                }
              }
              return s;
            }
            fillOpacity(e, t, a, n, i) {
              const s = this.smask,
                o = this.mask;
              let c, l, h, u, d, f;
              if (s) {
                l = s.width;
                h = s.height;
                c = new Uint8ClampedArray(l * h);
                s.fillGrayBuffer(c);
                (l === t && h === a) || (c = resizeImageMask(c, s.bpc, l, h, t, a));
              } else if (o)
                if (o instanceof PDFImage) {
                  l = o.width;
                  h = o.height;
                  c = new Uint8ClampedArray(l * h);
                  o.numComps = 1;
                  o.fillGrayBuffer(c);
                  for (u = 0, d = l * h; u < d; ++u) c[u] = 255 - c[u];
                  (l === t && h === a) || (c = resizeImageMask(c, o.bpc, l, h, t, a));
                } else {
                  if (!Array.isArray(o)) throw new r.FormatError('Unknown mask format.');
                  {
                    c = new Uint8ClampedArray(t * a);
                    const e = this.numComps;
                    for (u = 0, d = t * a; u < d; ++u) {
                      let t = 0;
                      const a = u * e;
                      for (f = 0; f < e; ++f) {
                        const e = i[a + f],
                          r = 2 * f;
                        if (e < o[r] || e > o[r + 1]) {
                          t = 255;
                          break;
                        }
                      }
                      c[u] = t;
                    }
                  }
                }
              if (c) for (u = 0, f = 3, d = t * n; u < d; ++u, f += 4) e[f] = c[u];
              else for (u = 0, f = 3, d = t * n; u < d; ++u, f += 4) e[f] = 255;
            }
            undoPreblend(e, t, a) {
              const r = this.smask && this.smask.matte;
              if (!r) return;
              const n = this.colorSpace.getRgb(r, 0),
                i = n[0],
                s = n[1],
                o = n[2],
                c = t * a * 4;
              for (let t = 0; t < c; t += 4) {
                const a = e[t + 3];
                if (0 === a) {
                  e[t] = 255;
                  e[t + 1] = 255;
                  e[t + 2] = 255;
                  continue;
                }
                const r = 255 / a;
                e[t] = (e[t] - i) * r + i;
                e[t + 1] = (e[t + 1] - s) * r + s;
                e[t + 2] = (e[t + 2] - o) * r + o;
              }
            }
            createImageData(e = !1) {
              const t = this.drawWidth,
                a = this.drawHeight,
                n = { width: t, height: a, interpolate: this.interpolate, kind: 0, data: null },
                i = this.numComps,
                s = this.width,
                o = this.height,
                l = this.bpc,
                h = (s * i * l + 7) >> 3;
              if (!e) {
                let e;
                'DeviceGray' === this.colorSpace.name && 1 === l
                  ? (e = r.ImageKind.GRAYSCALE_1BPP)
                  : 'DeviceRGB' !== this.colorSpace.name || 8 !== l || this.needsDecode || (e = r.ImageKind.RGB_24BPP);
                if (e && !this.smask && !this.mask && t === s && a === o) {
                  n.kind = e;
                  n.data = this.getImageBytes(o * h, {});
                  if (this.needsDecode) {
                    (0, r.assert)(
                      e === r.ImageKind.GRAYSCALE_1BPP,
                      'PDFImage.createImageData: The image must be grayscale.'
                    );
                    const t = n.data;
                    for (let e = 0, a = t.length; e < a; e++) t[e] ^= 255;
                  }
                  return n;
                }
                if (this.image instanceof c.JpegStream && !this.smask && !this.mask) {
                  let e = o * h;
                  switch (this.colorSpace.name) {
                    case 'DeviceGray':
                      e *= 3;
                    case 'DeviceRGB':
                    case 'DeviceCMYK':
                      n.kind = r.ImageKind.RGB_24BPP;
                      n.data = this.getImageBytes(e, { drawWidth: t, drawHeight: a, forceRGB: !0 });
                      return n;
                  }
                }
              }
              const u = this.getImageBytes(o * h, { internal: !0 }),
                d = 0 | (((u.length / h) * a) / o),
                f = this.getComponents(u);
              let g, p;
              if (e || this.smask || this.mask) {
                n.kind = r.ImageKind.RGBA_32BPP;
                n.data = new Uint8ClampedArray(t * a * 4);
                g = 1;
                p = !0;
                this.fillOpacity(n.data, t, a, d, f);
              } else {
                n.kind = r.ImageKind.RGB_24BPP;
                n.data = new Uint8ClampedArray(t * a * 3);
                g = 0;
                p = !1;
              }
              this.needsDecode && this.decodeBuffer(f);
              this.colorSpace.fillRgb(n.data, s, o, t, a, d, l, f, g);
              p && this.undoPreblend(n.data, t, d);
              return n;
            }
            fillGrayBuffer(e) {
              const t = this.numComps;
              if (1 !== t) throw new r.FormatError(`Reading gray scale from a color image: ${t}`);
              const a = this.width,
                n = this.height,
                i = this.bpc,
                s = (a * t * i + 7) >> 3,
                o = this.getImageBytes(n * s, { internal: !0 }),
                c = this.getComponents(o);
              let l, h;
              if (1 === i) {
                h = a * n;
                if (this.needsDecode) for (l = 0; l < h; ++l) e[l] = (c[l] - 1) & 255;
                else for (l = 0; l < h; ++l) e[l] = 255 & -c[l];
                return;
              }
              this.needsDecode && this.decodeBuffer(c);
              h = a * n;
              const u = 255 / ((1 << i) - 1);
              for (l = 0; l < h; ++l) e[l] = u * c[l];
            }
            getImageBytes(e, { drawWidth: t, drawHeight: a, forceRGB: n = !1, internal: i = !1 }) {
              this.image.reset();
              this.image.drawWidth = t || this.width;
              this.image.drawHeight = a || this.height;
              this.image.forceRGB = !!n;
              const s = this.image.getBytes(e);
              if (i || this.image instanceof o.DecodeStream) return s;
              (0, r.assert)(s instanceof Uint8Array, 'PDFImage.getImageBytes: Unsupported "imageBytes" type.');
              return new Uint8Array(s);
            }
          }
          t.PDFImage = PDFImage;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.applyMaskImageData = function applyMaskImageData({
            src: e,
            srcPos: t = 0,
            dest: a,
            destPos: n = 0,
            width: i,
            height: s,
            inverseDecode: o = !1,
          }) {
            const c = r.FeatureTest.isLittleEndian ? 4278190080 : 255,
              [l, h] = o ? [0, c] : [c, 0],
              u = i >> 3,
              d = 7 & i,
              f = e.length;
            a = new Uint32Array(a.buffer);
            for (let r = 0; r < s; r++) {
              for (const r = t + u; t < r; t++) {
                const r = t < f ? e[t] : 255;
                a[n++] = 128 & r ? h : l;
                a[n++] = 64 & r ? h : l;
                a[n++] = 32 & r ? h : l;
                a[n++] = 16 & r ? h : l;
                a[n++] = 8 & r ? h : l;
                a[n++] = 4 & r ? h : l;
                a[n++] = 2 & r ? h : l;
                a[n++] = 1 & r ? h : l;
              }
              if (0 === d) continue;
              const r = t < f ? e[t++] : 255;
              for (let e = 0; e < d; e++) a[n++] = r & (1 << (7 - e)) ? h : l;
            }
            return { srcPos: t, destPos: n };
          };
          var r = a(2);
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.incrementalUpdate = function incrementalUpdate({
            originalData: e,
            xrefInfo: t,
            newRefs: a,
            xref: o = null,
            hasXfa: l = !1,
            xfaDatasetsRef: h = null,
            hasXfaDatasetsEntry: u = !1,
            needAppearances: d,
            acroFormRef: f = null,
            acroForm: g = null,
            xfaData: p = null,
          }) {
            !(function updateAcroform({
              xref: e,
              acroForm: t,
              acroFormRef: a,
              hasXfa: i,
              hasXfaDatasetsEntry: s,
              xfaDatasetsRef: o,
              needAppearances: c,
              newRefs: l,
            }) {
              !i || s || o || (0, r.warn)('XFA - Cannot save it');
              if (!(c || (i && o))) return;
              const h = new n.Dict(e);
              for (const e of t.getKeys()) h.set(e, t.getRaw(e));
              if (i && !s) {
                const e = t.get('XFA').slice();
                e.splice(2, 0, 'datasets');
                e.splice(3, 0, o);
                h.set('XFA', e);
              }
              c && h.set('NeedAppearances', !0);
              const u = e.encrypt;
              let d = null;
              u && (d = u.createCipherTransform(a.num, a.gen));
              const f = [];
              writeObject(a, h, f, d);
              l.push({ ref: a, data: f.join('') });
            })({
              xref: o,
              acroForm: g,
              acroFormRef: f,
              hasXfa: l,
              hasXfaDatasetsEntry: u,
              xfaDatasetsRef: h,
              needAppearances: d,
              newRefs: a,
            });
            l &&
              (function updateXFA({ xfaData: e, xfaDatasetsRef: t, newRefs: a, xref: n }) {
                if (null === e) {
                  e = (function writeXFADataForAcroform(e, t) {
                    const a = new s.SimpleXMLParser({ hasAttributes: !0 }).parseFromString(e);
                    for (const { xfa: e } of t) {
                      if (!e) continue;
                      const { path: t, value: n } = e;
                      if (!t) continue;
                      const o = (0, i.parseXFAPath)(t);
                      let c = a.documentElement.searchNode(o, 0);
                      !c && o.length > 1 && (c = a.documentElement.searchNode([o.at(-1)], 0));
                      c
                        ? Array.isArray(n)
                          ? (c.childNodes = n.map((e) => new s.SimpleDOMNode('value', e)))
                          : (c.childNodes = [new s.SimpleDOMNode('#text', n)])
                        : (0, r.warn)(`Node not found for path: ${t}`);
                    }
                    const n = [];
                    a.documentElement.dump(n);
                    return n.join('');
                  })(n.fetchIfRef(t).getString(), a);
                }
                const o = n.encrypt;
                if (o) {
                  e = o.createCipherTransform(t.num, t.gen).encryptString(e);
                }
                const c =
                  `${t.num} ${t.gen} obj\n<< /Type /EmbeddedFile /Length ${e.length}>>\nstream\n` +
                  e +
                  '\nendstream\nendobj\n';
                a.push({ ref: t, data: c });
              })({ xfaData: p, xfaDatasetsRef: h, newRefs: a, xref: o });
            const m = new n.Dict(null),
              b = t.newRef;
            let y, w;
            const S = e.at(-1);
            if (10 === S || 13 === S) {
              y = [];
              w = e.length;
            } else {
              y = ['\n'];
              w = e.length + 1;
            }
            m.set('Size', b.num + 1);
            m.set('Prev', t.startXRef);
            m.set('Type', n.Name.get('XRef'));
            null !== t.rootRef && m.set('Root', t.rootRef);
            null !== t.infoRef && m.set('Info', t.infoRef);
            null !== t.encryptRef && m.set('Encrypt', t.encryptRef);
            a.push({ ref: b, data: '' });
            a = a.sort((e, t) => e.ref.num - t.ref.num);
            const x = [[0, 1, 65535]],
              C = [0, 1];
            let k = 0;
            for (const { ref: e, data: t } of a) {
              k = Math.max(k, w);
              x.push([1, w, Math.min(e.gen, 65535)]);
              w += t.length;
              C.push(e.num, 1);
              y.push(t);
            }
            m.set('Index', C);
            if (Array.isArray(t.fileIds) && t.fileIds.length > 0) {
              const e = (function computeMD5(e, t) {
                const a = Math.floor(Date.now() / 1e3),
                  n = t.filename || '',
                  i = [a.toString(), n, e.toString()];
                let s = i.reduce((e, t) => e + t.length, 0);
                for (const e of Object.values(t.info)) {
                  i.push(e);
                  s += e.length;
                }
                const o = new Uint8Array(s);
                let l = 0;
                for (const e of i) {
                  writeString(e, l, o);
                  l += e.length;
                }
                return (0, r.bytesToString)((0, c.calculateMD5)(o));
              })(w, t);
              m.set('ID', [t.fileIds[0], e]);
            }
            const v = [1, Math.ceil(Math.log2(k) / 8), 2],
              F = (v[0] + v[1] + v[2]) * x.length;
            m.set('W', v);
            m.set('Length', F);
            y.push(`${b.num} ${b.gen} obj\n`);
            writeDict(m, y, null);
            y.push(' stream\n');
            const O = y.reduce((e, t) => e + t.length, 0),
              T = `\nendstream\nendobj\nstartxref\n${w}\n%%EOF\n`,
              M = new Uint8Array(e.length + O + F + T.length);
            M.set(e);
            let E = e.length;
            for (const e of y) {
              writeString(e, E, M);
              E += e.length;
            }
            for (const [e, t, a] of x) {
              E = writeInt(e, v[0], E, M);
              E = writeInt(t, v[1], E, M);
              E = writeInt(a, v[2], E, M);
            }
            writeString(T, E, M);
            return M;
          };
          t.writeDict = writeDict;
          t.writeObject = writeObject;
          var r = a(2),
            n = a(4),
            i = a(3),
            s = a(64),
            o = a(5),
            c = a(65);
          function writeObject(e, t, a, r) {
            a.push(`${e.num} ${e.gen} obj\n`);
            t instanceof n.Dict ? writeDict(t, a, r) : t instanceof o.BaseStream && writeStream(t, a, r);
            a.push('\nendobj\n');
          }
          function writeDict(e, t, a) {
            t.push('<<');
            for (const r of e.getKeys()) {
              t.push(` /${(0, i.escapePDFName)(r)} `);
              writeValue(e.getRaw(r), t, a);
            }
            t.push('>>');
          }
          function writeStream(e, t, a) {
            let r = e.getString();
            null !== a && (r = a.encryptString(r));
            e.dict.set('Length', r.length);
            writeDict(e.dict, t, a);
            t.push(' stream\n', r, '\nendstream');
          }
          function writeValue(e, t, a) {
            if (e instanceof n.Name) t.push(`/${(0, i.escapePDFName)(e.name)}`);
            else if (e instanceof n.Ref) t.push(`${e.num} ${e.gen} R`);
            else if (Array.isArray(e))
              !(function writeArray(e, t, a) {
                t.push('[');
                let r = !0;
                for (const n of e) {
                  r ? (r = !1) : t.push(' ');
                  writeValue(n, t, a);
                }
                t.push(']');
              })(e, t, a);
            else if ('string' == typeof e) {
              null !== a && (e = a.encryptString(e));
              t.push(`(${(0, i.escapeString)(e)})`);
            } else
              'number' == typeof e
                ? t.push((0, i.numberToString)(e))
                : 'boolean' == typeof e
                ? t.push(e.toString())
                : e instanceof n.Dict
                ? writeDict(e, t, a)
                : e instanceof o.BaseStream
                ? writeStream(e, t, a)
                : null === e
                ? t.push('null')
                : (0, r.warn)(`Unhandled value in writer: ${typeof e}, please file a bug.`);
          }
          function writeInt(e, t, a, r) {
            for (let n = t + a - 1; n > a - 1; n--) {
              r[n] = 255 & e;
              e >>= 8;
            }
            return a + t;
          }
          function writeString(e, t, a) {
            for (let r = 0, n = e.length; r < n; r++) a[t + r] = 255 & e.charCodeAt(r);
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XMLParserErrorCode = t.XMLParserBase = t.SimpleXMLParser = t.SimpleDOMNode = void 0;
          var r = a(3);
          const n = {
            NoError: 0,
            EndOfDocument: -1,
            UnterminatedCdat: -2,
            UnterminatedXmlDeclaration: -3,
            UnterminatedDoctypeDeclaration: -4,
            UnterminatedComment: -5,
            MalformedElement: -6,
            OutOfMemory: -7,
            UnterminatedAttributeValue: -8,
            UnterminatedElement: -9,
            ElementNeverBegun: -10,
          };
          t.XMLParserErrorCode = n;
          function isWhitespace(e, t) {
            const a = e[t];
            return ' ' === a || '\n' === a || '\r' === a || '\t' === a;
          }
          class XMLParserBase {
            _resolveEntities(e) {
              return e.replace(/&([^;]+);/g, (e, t) => {
                if ('#x' === t.substring(0, 2)) return String.fromCodePoint(parseInt(t.substring(2), 16));
                if ('#' === t.substring(0, 1)) return String.fromCodePoint(parseInt(t.substring(1), 10));
                switch (t) {
                  case 'lt':
                    return '<';
                  case 'gt':
                    return '>';
                  case 'amp':
                    return '&';
                  case 'quot':
                    return '"';
                  case 'apos':
                    return "'";
                }
                return this.onResolveEntity(t);
              });
            }
            _parseContent(e, t) {
              const a = [];
              let r = t;
              function skipWs() {
                for (; r < e.length && isWhitespace(e, r); ) ++r;
              }
              for (; r < e.length && !isWhitespace(e, r) && '>' !== e[r] && '/' !== e[r]; ) ++r;
              const n = e.substring(t, r);
              skipWs();
              for (; r < e.length && '>' !== e[r] && '/' !== e[r] && '?' !== e[r]; ) {
                skipWs();
                let t = '',
                  n = '';
                for (; r < e.length && !isWhitespace(e, r) && '=' !== e[r]; ) {
                  t += e[r];
                  ++r;
                }
                skipWs();
                if ('=' !== e[r]) return null;
                ++r;
                skipWs();
                const i = e[r];
                if ('"' !== i && "'" !== i) return null;
                const s = e.indexOf(i, ++r);
                if (s < 0) return null;
                n = e.substring(r, s);
                a.push({ name: t, value: this._resolveEntities(n) });
                r = s + 1;
                skipWs();
              }
              return { name: n, attributes: a, parsed: r - t };
            }
            _parseProcessingInstruction(e, t) {
              let a = t;
              for (; a < e.length && !isWhitespace(e, a) && '>' !== e[a] && '?' !== e[a] && '/' !== e[a]; ) ++a;
              const r = e.substring(t, a);
              !(function skipWs() {
                for (; a < e.length && isWhitespace(e, a); ) ++a;
              })();
              const n = a;
              for (; a < e.length && ('?' !== e[a] || '>' !== e[a + 1]); ) ++a;
              return { name: r, value: e.substring(n, a), parsed: a - t };
            }
            parseXml(e) {
              let t = 0;
              for (; t < e.length; ) {
                let a = t;
                if ('<' === e[t]) {
                  ++a;
                  let t;
                  switch (e[a]) {
                    case '/':
                      ++a;
                      t = e.indexOf('>', a);
                      if (t < 0) {
                        this.onError(n.UnterminatedElement);
                        return;
                      }
                      this.onEndElement(e.substring(a, t));
                      a = t + 1;
                      break;
                    case '?':
                      ++a;
                      const r = this._parseProcessingInstruction(e, a);
                      if ('?>' !== e.substring(a + r.parsed, a + r.parsed + 2)) {
                        this.onError(n.UnterminatedXmlDeclaration);
                        return;
                      }
                      this.onPi(r.name, r.value);
                      a += r.parsed + 2;
                      break;
                    case '!':
                      if ('--' === e.substring(a + 1, a + 3)) {
                        t = e.indexOf('--\x3e', a + 3);
                        if (t < 0) {
                          this.onError(n.UnterminatedComment);
                          return;
                        }
                        this.onComment(e.substring(a + 3, t));
                        a = t + 3;
                      } else if ('[CDATA[' === e.substring(a + 1, a + 8)) {
                        t = e.indexOf(']]>', a + 8);
                        if (t < 0) {
                          this.onError(n.UnterminatedCdat);
                          return;
                        }
                        this.onCdata(e.substring(a + 8, t));
                        a = t + 3;
                      } else {
                        if ('DOCTYPE' !== e.substring(a + 1, a + 8)) {
                          this.onError(n.MalformedElement);
                          return;
                        }
                        {
                          const r = e.indexOf('[', a + 8);
                          let i = !1;
                          t = e.indexOf('>', a + 8);
                          if (t < 0) {
                            this.onError(n.UnterminatedDoctypeDeclaration);
                            return;
                          }
                          if (r > 0 && t > r) {
                            t = e.indexOf(']>', a + 8);
                            if (t < 0) {
                              this.onError(n.UnterminatedDoctypeDeclaration);
                              return;
                            }
                            i = !0;
                          }
                          const s = e.substring(a + 8, t + (i ? 1 : 0));
                          this.onDoctype(s);
                          a = t + (i ? 2 : 1);
                        }
                      }
                      break;
                    default:
                      const i = this._parseContent(e, a);
                      if (null === i) {
                        this.onError(n.MalformedElement);
                        return;
                      }
                      let s = !1;
                      if ('/>' === e.substring(a + i.parsed, a + i.parsed + 2)) s = !0;
                      else if ('>' !== e.substring(a + i.parsed, a + i.parsed + 1)) {
                        this.onError(n.UnterminatedElement);
                        return;
                      }
                      this.onBeginElement(i.name, i.attributes, s);
                      a += i.parsed + (s ? 2 : 1);
                  }
                } else {
                  for (; a < e.length && '<' !== e[a]; ) a++;
                  const r = e.substring(t, a);
                  this.onText(this._resolveEntities(r));
                }
                t = a;
              }
            }
            onResolveEntity(e) {
              return `&${e};`;
            }
            onPi(e, t) {}
            onComment(e) {}
            onCdata(e) {}
            onDoctype(e) {}
            onText(e) {}
            onBeginElement(e, t, a) {}
            onEndElement(e) {}
            onError(e) {}
          }
          t.XMLParserBase = XMLParserBase;
          class SimpleDOMNode {
            constructor(e, t) {
              this.nodeName = e;
              this.nodeValue = t;
              Object.defineProperty(this, 'parentNode', { value: null, writable: !0 });
            }
            get firstChild() {
              return this.childNodes && this.childNodes[0];
            }
            get nextSibling() {
              const e = this.parentNode.childNodes;
              if (!e) return;
              const t = e.indexOf(this);
              return -1 !== t ? e[t + 1] : void 0;
            }
            get textContent() {
              return this.childNodes
                ? this.childNodes
                    .map(function (e) {
                      return e.textContent;
                    })
                    .join('')
                : this.nodeValue || '';
            }
            get children() {
              return this.childNodes || [];
            }
            hasChildNodes() {
              return this.childNodes && this.childNodes.length > 0;
            }
            searchNode(e, t) {
              if (t >= e.length) return this;
              const a = e[t],
                r = [];
              let n = this;
              for (;;) {
                if (a.name === n.nodeName) {
                  if (0 !== a.pos) {
                    if (0 === r.length) return null;
                    {
                      const [i] = r.pop();
                      let s = 0;
                      for (const r of i.childNodes)
                        if (a.name === r.nodeName) {
                          if (s === a.pos) return r.searchNode(e, t + 1);
                          s++;
                        }
                      return n.searchNode(e, t + 1);
                    }
                  }
                  {
                    const a = n.searchNode(e, t + 1);
                    if (null !== a) return a;
                  }
                }
                if (n.childNodes && 0 !== n.childNodes.length) {
                  r.push([n, 0]);
                  n = n.childNodes[0];
                } else {
                  if (0 === r.length) return null;
                  for (; 0 !== r.length; ) {
                    const [e, t] = r.pop(),
                      a = t + 1;
                    if (a < e.childNodes.length) {
                      r.push([e, a]);
                      n = e.childNodes[a];
                      break;
                    }
                  }
                  if (0 === r.length) return null;
                }
              }
            }
            dump(e) {
              if ('#text' !== this.nodeName) {
                e.push(`<${this.nodeName}`);
                if (this.attributes)
                  for (const t of this.attributes) e.push(` ${t.name}="${(0, r.encodeToXmlString)(t.value)}"`);
                if (this.hasChildNodes()) {
                  e.push('>');
                  for (const t of this.childNodes) t.dump(e);
                  e.push(`</${this.nodeName}>`);
                } else
                  this.nodeValue
                    ? e.push(`>${(0, r.encodeToXmlString)(this.nodeValue)}</${this.nodeName}>`)
                    : e.push('/>');
              } else e.push((0, r.encodeToXmlString)(this.nodeValue));
            }
          }
          t.SimpleDOMNode = SimpleDOMNode;
          t.SimpleXMLParser = class SimpleXMLParser extends XMLParserBase {
            constructor({ hasAttributes: e = !1, lowerCaseName: t = !1 }) {
              super();
              this._currentFragment = null;
              this._stack = null;
              this._errorCode = n.NoError;
              this._hasAttributes = e;
              this._lowerCaseName = t;
            }
            parseFromString(e) {
              this._currentFragment = [];
              this._stack = [];
              this._errorCode = n.NoError;
              this.parseXml(e);
              if (this._errorCode !== n.NoError) return;
              const [t] = this._currentFragment;
              return t ? { documentElement: t } : void 0;
            }
            onText(e) {
              if (
                (function isWhitespaceString(e) {
                  for (let t = 0, a = e.length; t < a; t++) if (!isWhitespace(e, t)) return !1;
                  return !0;
                })(e)
              )
                return;
              const t = new SimpleDOMNode('#text', e);
              this._currentFragment.push(t);
            }
            onCdata(e) {
              const t = new SimpleDOMNode('#text', e);
              this._currentFragment.push(t);
            }
            onBeginElement(e, t, a) {
              this._lowerCaseName && (e = e.toLowerCase());
              const r = new SimpleDOMNode(e);
              r.childNodes = [];
              this._hasAttributes && (r.attributes = t);
              this._currentFragment.push(r);
              if (!a) {
                this._stack.push(this._currentFragment);
                this._currentFragment = r.childNodes;
              }
            }
            onEndElement(e) {
              this._currentFragment = this._stack.pop() || [];
              const t = this._currentFragment.at(-1);
              if (!t) return null;
              for (const e of t.childNodes) e.parentNode = t;
              return t;
            }
            onError(e) {
              this._errorCode = e;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.calculateSHA256 =
            t.calculateMD5 =
            t.PDF20 =
            t.PDF17 =
            t.CipherTransformFactory =
            t.ARCFourCipher =
            t.AES256Cipher =
            t.AES128Cipher =
              void 0;
          t.calculateSHA384 = calculateSHA384;
          t.calculateSHA512 = void 0;
          var r = a(2),
            n = a(4),
            i = a(66);
          class ARCFourCipher {
            constructor(e) {
              this.a = 0;
              this.b = 0;
              const t = new Uint8Array(256),
                a = e.length;
              for (let e = 0; e < 256; ++e) t[e] = e;
              for (let r = 0, n = 0; r < 256; ++r) {
                const i = t[r];
                n = (n + i + e[r % a]) & 255;
                t[r] = t[n];
                t[n] = i;
              }
              this.s = t;
            }
            encryptBlock(e) {
              let t = this.a,
                a = this.b;
              const r = this.s,
                n = e.length,
                i = new Uint8Array(n);
              for (let s = 0; s < n; ++s) {
                t = (t + 1) & 255;
                const n = r[t];
                a = (a + n) & 255;
                const o = r[a];
                r[t] = o;
                r[a] = n;
                i[s] = e[s] ^ r[(n + o) & 255];
              }
              this.a = t;
              this.b = a;
              return i;
            }
            decryptBlock(e) {
              return this.encryptBlock(e);
            }
            encrypt(e) {
              return this.encryptBlock(e);
            }
          }
          t.ARCFourCipher = ARCFourCipher;
          const s = (function calculateMD5Closure() {
            const e = new Uint8Array([
                7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5,
                9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6,
                10, 15, 21, 6, 10, 15, 21,
              ]),
              t = new Int32Array([
                -680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983,
                1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329,
                -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438,
                -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558,
                -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174,
                -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415,
                -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744,
                -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551,
              ]);
            return function hash(a, r, n) {
              let i = 1732584193,
                s = -271733879,
                o = -1732584194,
                c = 271733878;
              const l = (n + 72) & -64,
                h = new Uint8Array(l);
              let u, d;
              for (u = 0; u < n; ++u) h[u] = a[r++];
              h[u++] = 128;
              const f = l - 8;
              for (; u < f; ) h[u++] = 0;
              h[u++] = (n << 3) & 255;
              h[u++] = (n >> 5) & 255;
              h[u++] = (n >> 13) & 255;
              h[u++] = (n >> 21) & 255;
              h[u++] = (n >>> 29) & 255;
              h[u++] = 0;
              h[u++] = 0;
              h[u++] = 0;
              const g = new Int32Array(16);
              for (u = 0; u < l; ) {
                for (d = 0; d < 16; ++d, u += 4) g[d] = h[u] | (h[u + 1] << 8) | (h[u + 2] << 16) | (h[u + 3] << 24);
                let a,
                  r,
                  n = i,
                  l = s,
                  f = o,
                  p = c;
                for (d = 0; d < 64; ++d) {
                  if (d < 16) {
                    a = (l & f) | (~l & p);
                    r = d;
                  } else if (d < 32) {
                    a = (p & l) | (~p & f);
                    r = (5 * d + 1) & 15;
                  } else if (d < 48) {
                    a = l ^ f ^ p;
                    r = (3 * d + 5) & 15;
                  } else {
                    a = f ^ (l | ~p);
                    r = (7 * d) & 15;
                  }
                  const i = p,
                    s = (n + a + t[d] + g[r]) | 0,
                    o = e[d];
                  p = f;
                  f = l;
                  l = (l + ((s << o) | (s >>> (32 - o)))) | 0;
                  n = i;
                }
                i = (i + n) | 0;
                s = (s + l) | 0;
                o = (o + f) | 0;
                c = (c + p) | 0;
              }
              return new Uint8Array([
                255 & i,
                (i >> 8) & 255,
                (i >> 16) & 255,
                (i >>> 24) & 255,
                255 & s,
                (s >> 8) & 255,
                (s >> 16) & 255,
                (s >>> 24) & 255,
                255 & o,
                (o >> 8) & 255,
                (o >> 16) & 255,
                (o >>> 24) & 255,
                255 & c,
                (c >> 8) & 255,
                (c >> 16) & 255,
                (c >>> 24) & 255,
              ]);
            };
          })();
          t.calculateMD5 = s;
          class Word64 {
            constructor(e, t) {
              this.high = 0 | e;
              this.low = 0 | t;
            }
            and(e) {
              this.high &= e.high;
              this.low &= e.low;
            }
            xor(e) {
              this.high ^= e.high;
              this.low ^= e.low;
            }
            or(e) {
              this.high |= e.high;
              this.low |= e.low;
            }
            shiftRight(e) {
              if (e >= 32) {
                this.low = (this.high >>> (e - 32)) | 0;
                this.high = 0;
              } else {
                this.low = (this.low >>> e) | (this.high << (32 - e));
                this.high = (this.high >>> e) | 0;
              }
            }
            shiftLeft(e) {
              if (e >= 32) {
                this.high = this.low << (e - 32);
                this.low = 0;
              } else {
                this.high = (this.high << e) | (this.low >>> (32 - e));
                this.low <<= e;
              }
            }
            rotateRight(e) {
              let t, a;
              if (32 & e) {
                a = this.low;
                t = this.high;
              } else {
                t = this.low;
                a = this.high;
              }
              e &= 31;
              this.low = (t >>> e) | (a << (32 - e));
              this.high = (a >>> e) | (t << (32 - e));
            }
            not() {
              this.high = ~this.high;
              this.low = ~this.low;
            }
            add(e) {
              const t = (this.low >>> 0) + (e.low >>> 0);
              let a = (this.high >>> 0) + (e.high >>> 0);
              t > 4294967295 && (a += 1);
              this.low = 0 | t;
              this.high = 0 | a;
            }
            copyTo(e, t) {
              e[t] = (this.high >>> 24) & 255;
              e[t + 1] = (this.high >> 16) & 255;
              e[t + 2] = (this.high >> 8) & 255;
              e[t + 3] = 255 & this.high;
              e[t + 4] = (this.low >>> 24) & 255;
              e[t + 5] = (this.low >> 16) & 255;
              e[t + 6] = (this.low >> 8) & 255;
              e[t + 7] = 255 & this.low;
            }
            assign(e) {
              this.high = e.high;
              this.low = e.low;
            }
          }
          const o = (function calculateSHA256Closure() {
            function rotr(e, t) {
              return (e >>> t) | (e << (32 - t));
            }
            function ch(e, t, a) {
              return (e & t) ^ (~e & a);
            }
            function maj(e, t, a) {
              return (e & t) ^ (e & a) ^ (t & a);
            }
            function sigma(e) {
              return rotr(e, 2) ^ rotr(e, 13) ^ rotr(e, 22);
            }
            function sigmaPrime(e) {
              return rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25);
            }
            function littleSigma(e) {
              return rotr(e, 7) ^ rotr(e, 18) ^ (e >>> 3);
            }
            const e = [
              1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080,
              310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774,
              264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808,
              3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
              1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771,
              3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571,
              1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474,
              2756734187, 3204031479, 3329325298,
            ];
            return function hash(t, a, r) {
              let n = 1779033703,
                i = 3144134277,
                s = 1013904242,
                o = 2773480762,
                c = 1359893119,
                l = 2600822924,
                h = 528734635,
                u = 1541459225;
              const d = 64 * Math.ceil((r + 9) / 64),
                f = new Uint8Array(d);
              let g, p;
              for (g = 0; g < r; ++g) f[g] = t[a++];
              f[g++] = 128;
              const m = d - 8;
              for (; g < m; ) f[g++] = 0;
              f[g++] = 0;
              f[g++] = 0;
              f[g++] = 0;
              f[g++] = (r >>> 29) & 255;
              f[g++] = (r >> 21) & 255;
              f[g++] = (r >> 13) & 255;
              f[g++] = (r >> 5) & 255;
              f[g++] = (r << 3) & 255;
              const b = new Uint32Array(64);
              for (g = 0; g < d; ) {
                for (p = 0; p < 16; ++p) {
                  b[p] = (f[g] << 24) | (f[g + 1] << 16) | (f[g + 2] << 8) | f[g + 3];
                  g += 4;
                }
                for (p = 16; p < 64; ++p)
                  b[p] =
                    ((rotr((y = b[p - 2]), 17) ^ rotr(y, 19) ^ (y >>> 10)) +
                      b[p - 7] +
                      littleSigma(b[p - 15]) +
                      b[p - 16]) |
                    0;
                let t,
                  a,
                  r = n,
                  d = i,
                  m = s,
                  w = o,
                  S = c,
                  x = l,
                  C = h,
                  k = u;
                for (p = 0; p < 64; ++p) {
                  t = k + sigmaPrime(S) + ch(S, x, C) + e[p] + b[p];
                  a = sigma(r) + maj(r, d, m);
                  k = C;
                  C = x;
                  x = S;
                  S = (w + t) | 0;
                  w = m;
                  m = d;
                  d = r;
                  r = (t + a) | 0;
                }
                n = (n + r) | 0;
                i = (i + d) | 0;
                s = (s + m) | 0;
                o = (o + w) | 0;
                c = (c + S) | 0;
                l = (l + x) | 0;
                h = (h + C) | 0;
                u = (u + k) | 0;
              }
              var y;
              return new Uint8Array([
                (n >> 24) & 255,
                (n >> 16) & 255,
                (n >> 8) & 255,
                255 & n,
                (i >> 24) & 255,
                (i >> 16) & 255,
                (i >> 8) & 255,
                255 & i,
                (s >> 24) & 255,
                (s >> 16) & 255,
                (s >> 8) & 255,
                255 & s,
                (o >> 24) & 255,
                (o >> 16) & 255,
                (o >> 8) & 255,
                255 & o,
                (c >> 24) & 255,
                (c >> 16) & 255,
                (c >> 8) & 255,
                255 & c,
                (l >> 24) & 255,
                (l >> 16) & 255,
                (l >> 8) & 255,
                255 & l,
                (h >> 24) & 255,
                (h >> 16) & 255,
                (h >> 8) & 255,
                255 & h,
                (u >> 24) & 255,
                (u >> 16) & 255,
                (u >> 8) & 255,
                255 & u,
              ]);
            };
          })();
          t.calculateSHA256 = o;
          const c = (function calculateSHA512Closure() {
            function ch(e, t, a, r, n) {
              e.assign(t);
              e.and(a);
              n.assign(t);
              n.not();
              n.and(r);
              e.xor(n);
            }
            function maj(e, t, a, r, n) {
              e.assign(t);
              e.and(a);
              n.assign(t);
              n.and(r);
              e.xor(n);
              n.assign(a);
              n.and(r);
              e.xor(n);
            }
            function sigma(e, t, a) {
              e.assign(t);
              e.rotateRight(28);
              a.assign(t);
              a.rotateRight(34);
              e.xor(a);
              a.assign(t);
              a.rotateRight(39);
              e.xor(a);
            }
            function sigmaPrime(e, t, a) {
              e.assign(t);
              e.rotateRight(14);
              a.assign(t);
              a.rotateRight(18);
              e.xor(a);
              a.assign(t);
              a.rotateRight(41);
              e.xor(a);
            }
            function littleSigma(e, t, a) {
              e.assign(t);
              e.rotateRight(1);
              a.assign(t);
              a.rotateRight(8);
              e.xor(a);
              a.assign(t);
              a.shiftRight(7);
              e.xor(a);
            }
            function littleSigmaPrime(e, t, a) {
              e.assign(t);
              e.rotateRight(19);
              a.assign(t);
              a.rotateRight(61);
              e.xor(a);
              a.assign(t);
              a.shiftRight(6);
              e.xor(a);
            }
            const e = [
              new Word64(1116352408, 3609767458),
              new Word64(1899447441, 602891725),
              new Word64(3049323471, 3964484399),
              new Word64(3921009573, 2173295548),
              new Word64(961987163, 4081628472),
              new Word64(1508970993, 3053834265),
              new Word64(2453635748, 2937671579),
              new Word64(2870763221, 3664609560),
              new Word64(3624381080, 2734883394),
              new Word64(310598401, 1164996542),
              new Word64(607225278, 1323610764),
              new Word64(1426881987, 3590304994),
              new Word64(1925078388, 4068182383),
              new Word64(2162078206, 991336113),
              new Word64(2614888103, 633803317),
              new Word64(3248222580, 3479774868),
              new Word64(3835390401, 2666613458),
              new Word64(4022224774, 944711139),
              new Word64(264347078, 2341262773),
              new Word64(604807628, 2007800933),
              new Word64(770255983, 1495990901),
              new Word64(1249150122, 1856431235),
              new Word64(1555081692, 3175218132),
              new Word64(1996064986, 2198950837),
              new Word64(2554220882, 3999719339),
              new Word64(2821834349, 766784016),
              new Word64(2952996808, 2566594879),
              new Word64(3210313671, 3203337956),
              new Word64(3336571891, 1034457026),
              new Word64(3584528711, 2466948901),
              new Word64(113926993, 3758326383),
              new Word64(338241895, 168717936),
              new Word64(666307205, 1188179964),
              new Word64(773529912, 1546045734),
              new Word64(1294757372, 1522805485),
              new Word64(1396182291, 2643833823),
              new Word64(1695183700, 2343527390),
              new Word64(1986661051, 1014477480),
              new Word64(2177026350, 1206759142),
              new Word64(2456956037, 344077627),
              new Word64(2730485921, 1290863460),
              new Word64(2820302411, 3158454273),
              new Word64(3259730800, 3505952657),
              new Word64(3345764771, 106217008),
              new Word64(3516065817, 3606008344),
              new Word64(3600352804, 1432725776),
              new Word64(4094571909, 1467031594),
              new Word64(275423344, 851169720),
              new Word64(430227734, 3100823752),
              new Word64(506948616, 1363258195),
              new Word64(659060556, 3750685593),
              new Word64(883997877, 3785050280),
              new Word64(958139571, 3318307427),
              new Word64(1322822218, 3812723403),
              new Word64(1537002063, 2003034995),
              new Word64(1747873779, 3602036899),
              new Word64(1955562222, 1575990012),
              new Word64(2024104815, 1125592928),
              new Word64(2227730452, 2716904306),
              new Word64(2361852424, 442776044),
              new Word64(2428436474, 593698344),
              new Word64(2756734187, 3733110249),
              new Word64(3204031479, 2999351573),
              new Word64(3329325298, 3815920427),
              new Word64(3391569614, 3928383900),
              new Word64(3515267271, 566280711),
              new Word64(3940187606, 3454069534),
              new Word64(4118630271, 4000239992),
              new Word64(116418474, 1914138554),
              new Word64(174292421, 2731055270),
              new Word64(289380356, 3203993006),
              new Word64(460393269, 320620315),
              new Word64(685471733, 587496836),
              new Word64(852142971, 1086792851),
              new Word64(1017036298, 365543100),
              new Word64(1126000580, 2618297676),
              new Word64(1288033470, 3409855158),
              new Word64(1501505948, 4234509866),
              new Word64(1607167915, 987167468),
              new Word64(1816402316, 1246189591),
            ];
            return function hash(t, a, r, n = !1) {
              let i, s, o, c, l, h, u, d;
              if (n) {
                i = new Word64(3418070365, 3238371032);
                s = new Word64(1654270250, 914150663);
                o = new Word64(2438529370, 812702999);
                c = new Word64(355462360, 4144912697);
                l = new Word64(1731405415, 4290775857);
                h = new Word64(2394180231, 1750603025);
                u = new Word64(3675008525, 1694076839);
                d = new Word64(1203062813, 3204075428);
              } else {
                i = new Word64(1779033703, 4089235720);
                s = new Word64(3144134277, 2227873595);
                o = new Word64(1013904242, 4271175723);
                c = new Word64(2773480762, 1595750129);
                l = new Word64(1359893119, 2917565137);
                h = new Word64(2600822924, 725511199);
                u = new Word64(528734635, 4215389547);
                d = new Word64(1541459225, 327033209);
              }
              const f = 128 * Math.ceil((r + 17) / 128),
                g = new Uint8Array(f);
              let p, m;
              for (p = 0; p < r; ++p) g[p] = t[a++];
              g[p++] = 128;
              const b = f - 16;
              for (; p < b; ) g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = 0;
              g[p++] = (r >>> 29) & 255;
              g[p++] = (r >> 21) & 255;
              g[p++] = (r >> 13) & 255;
              g[p++] = (r >> 5) & 255;
              g[p++] = (r << 3) & 255;
              const y = new Array(80);
              for (p = 0; p < 80; p++) y[p] = new Word64(0, 0);
              let w = new Word64(0, 0),
                S = new Word64(0, 0),
                x = new Word64(0, 0),
                C = new Word64(0, 0),
                k = new Word64(0, 0),
                v = new Word64(0, 0),
                F = new Word64(0, 0),
                O = new Word64(0, 0);
              const T = new Word64(0, 0),
                M = new Word64(0, 0),
                E = new Word64(0, 0),
                D = new Word64(0, 0);
              let N, R;
              for (p = 0; p < f; ) {
                for (m = 0; m < 16; ++m) {
                  y[m].high = (g[p] << 24) | (g[p + 1] << 16) | (g[p + 2] << 8) | g[p + 3];
                  y[m].low = (g[p + 4] << 24) | (g[p + 5] << 16) | (g[p + 6] << 8) | g[p + 7];
                  p += 8;
                }
                for (m = 16; m < 80; ++m) {
                  N = y[m];
                  littleSigmaPrime(N, y[m - 2], D);
                  N.add(y[m - 7]);
                  littleSigma(E, y[m - 15], D);
                  N.add(E);
                  N.add(y[m - 16]);
                }
                w.assign(i);
                S.assign(s);
                x.assign(o);
                C.assign(c);
                k.assign(l);
                v.assign(h);
                F.assign(u);
                O.assign(d);
                for (m = 0; m < 80; ++m) {
                  T.assign(O);
                  sigmaPrime(E, k, D);
                  T.add(E);
                  ch(E, k, v, F, D);
                  T.add(E);
                  T.add(e[m]);
                  T.add(y[m]);
                  sigma(M, w, D);
                  maj(E, w, S, x, D);
                  M.add(E);
                  N = O;
                  O = F;
                  F = v;
                  v = k;
                  C.add(T);
                  k = C;
                  C = x;
                  x = S;
                  S = w;
                  N.assign(T);
                  N.add(M);
                  w = N;
                }
                i.add(w);
                s.add(S);
                o.add(x);
                c.add(C);
                l.add(k);
                h.add(v);
                u.add(F);
                d.add(O);
              }
              if (n) {
                R = new Uint8Array(48);
                i.copyTo(R, 0);
                s.copyTo(R, 8);
                o.copyTo(R, 16);
                c.copyTo(R, 24);
                l.copyTo(R, 32);
                h.copyTo(R, 40);
              } else {
                R = new Uint8Array(64);
                i.copyTo(R, 0);
                s.copyTo(R, 8);
                o.copyTo(R, 16);
                c.copyTo(R, 24);
                l.copyTo(R, 32);
                h.copyTo(R, 40);
                u.copyTo(R, 48);
                d.copyTo(R, 56);
              }
              return R;
            };
          })();
          t.calculateSHA512 = c;
          function calculateSHA384(e, t, a) {
            return c(e, t, a, !0);
          }
          class NullCipher {
            decryptBlock(e) {
              return e;
            }
            encrypt(e) {
              return e;
            }
          }
          class AESBaseCipher {
            constructor() {
              this.constructor === AESBaseCipher && (0, r.unreachable)('Cannot initialize AESBaseCipher.');
              this._s = new Uint8Array([
                99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89,
                71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241,
                113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26,
                27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190,
                57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163,
                64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23,
                196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11,
                219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213,
                78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31,
                75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152,
                17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65,
                153, 45, 15, 176, 84, 187, 22,
              ]);
              this._inv_s = new Uint8Array([
                82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47,
                255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66,
                250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246,
                100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94,
                21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6,
                208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234,
                151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28,
                117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75,
                198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18,
                16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160,
                224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38,
                225, 105, 20, 99, 85, 33, 12, 125,
              ]);
              this._mix = new Uint32Array([
                0, 235474187, 470948374, 303765277, 941896748, 908933415, 607530554, 708780849, 1883793496, 2118214995,
                1817866830, 1649639237, 1215061108, 1181045119, 1417561698, 1517767529, 3767586992, 4003061179,
                4236429990, 4069246893, 3635733660, 3602770327, 3299278474, 3400528769, 2430122216, 2664543715,
                2362090238, 2193862645, 2835123396, 2801107407, 3035535058, 3135740889, 3678124923, 3576870512,
                3341394285, 3374361702, 3810496343, 3977675356, 4279080257, 4043610186, 2876494627, 2776292904,
                3076639029, 3110650942, 2472011535, 2640243204, 2403728665, 2169303058, 1001089995, 899835584,
                666464733, 699432150, 59727847, 226906860, 530400753, 294930682, 1273168787, 1172967064, 1475418501,
                1509430414, 1942435775, 2110667444, 1876241833, 1641816226, 2910219766, 2743034109, 2976151520,
                3211623147, 2505202138, 2606453969, 2302690252, 2269728455, 3711829422, 3543599269, 3240894392,
                3475313331, 3843699074, 3943906441, 4178062228, 4144047775, 1306967366, 1139781709, 1374988112,
                1610459739, 1975683434, 2076935265, 1775276924, 1742315127, 1034867998, 866637845, 566021896, 800440835,
                92987698, 193195065, 429456164, 395441711, 1984812685, 2017778566, 1784663195, 1683407248, 1315562145,
                1080094634, 1383856311, 1551037884, 101039829, 135050206, 437757123, 337553864, 1042385657, 807962610,
                573804783, 742039012, 2531067453, 2564033334, 2328828971, 2227573024, 2935566865, 2700099354,
                3001755655, 3168937228, 3868552805, 3902563182, 4203181171, 4102977912, 3736164937, 3501741890,
                3265478751, 3433712980, 1106041591, 1340463100, 1576976609, 1408749034, 2043211483, 2009195472,
                1708848333, 1809054150, 832877231, 1068351396, 766945465, 599762354, 159417987, 126454664, 361929877,
                463180190, 2709260871, 2943682380, 3178106961, 3009879386, 2572697195, 2538681184, 2236228733,
                2336434550, 3509871135, 3745345300, 3441850377, 3274667266, 3910161971, 3877198648, 4110568485,
                4211818798, 2597806476, 2497604743, 2261089178, 2295101073, 2733856160, 2902087851, 3202437046,
                2968011453, 3936291284, 3835036895, 4136440770, 4169408201, 3535486456, 3702665459, 3467192302,
                3231722213, 2051518780, 1951317047, 1716890410, 1750902305, 1113818384, 1282050075, 1584504582,
                1350078989, 168810852, 67556463, 371049330, 404016761, 841739592, 1008918595, 775550814, 540080725,
                3969562369, 3801332234, 4035489047, 4269907996, 3569255213, 3669462566, 3366754619, 3332740144,
                2631065433, 2463879762, 2160117071, 2395588676, 2767645557, 2868897406, 3102011747, 3069049960,
                202008497, 33778362, 270040487, 504459436, 875451293, 975658646, 675039627, 641025152, 2084704233,
                1917518562, 1615861247, 1851332852, 1147550661, 1248802510, 1484005843, 1451044056, 933301370,
                967311729, 733156972, 632953703, 260388950, 25965917, 328671808, 496906059, 1206477858, 1239443753,
                1543208500, 1441952575, 2144161806, 1908694277, 1675577880, 1842759443, 3610369226, 3644379585,
                3408119516, 3307916247, 4011190502, 3776767469, 4077384432, 4245618683, 2809771154, 2842737049,
                3144396420, 3043140495, 2673705150, 2438237621, 2203032232, 2370213795,
              ]);
              this._mixCol = new Uint8Array(256);
              for (let e = 0; e < 256; e++) this._mixCol[e] = e < 128 ? e << 1 : (e << 1) ^ 27;
              this.buffer = new Uint8Array(16);
              this.bufferPosition = 0;
            }
            _expandKey(e) {
              (0, r.unreachable)('Cannot call `_expandKey` on the base class');
            }
            _decrypt(e, t) {
              let a, r, n;
              const i = new Uint8Array(16);
              i.set(e);
              for (let e = 0, a = this._keySize; e < 16; ++e, ++a) i[e] ^= t[a];
              for (let e = this._cyclesOfRepetition - 1; e >= 1; --e) {
                a = i[13];
                i[13] = i[9];
                i[9] = i[5];
                i[5] = i[1];
                i[1] = a;
                a = i[14];
                r = i[10];
                i[14] = i[6];
                i[10] = i[2];
                i[6] = a;
                i[2] = r;
                a = i[15];
                r = i[11];
                n = i[7];
                i[15] = i[3];
                i[11] = a;
                i[7] = r;
                i[3] = n;
                for (let e = 0; e < 16; ++e) i[e] = this._inv_s[i[e]];
                for (let a = 0, r = 16 * e; a < 16; ++a, ++r) i[a] ^= t[r];
                for (let e = 0; e < 16; e += 4) {
                  const t = this._mix[i[e]],
                    r = this._mix[i[e + 1]],
                    n = this._mix[i[e + 2]],
                    s = this._mix[i[e + 3]];
                  a = t ^ (r >>> 8) ^ (r << 24) ^ (n >>> 16) ^ (n << 16) ^ (s >>> 24) ^ (s << 8);
                  i[e] = (a >>> 24) & 255;
                  i[e + 1] = (a >> 16) & 255;
                  i[e + 2] = (a >> 8) & 255;
                  i[e + 3] = 255 & a;
                }
              }
              a = i[13];
              i[13] = i[9];
              i[9] = i[5];
              i[5] = i[1];
              i[1] = a;
              a = i[14];
              r = i[10];
              i[14] = i[6];
              i[10] = i[2];
              i[6] = a;
              i[2] = r;
              a = i[15];
              r = i[11];
              n = i[7];
              i[15] = i[3];
              i[11] = a;
              i[7] = r;
              i[3] = n;
              for (let e = 0; e < 16; ++e) {
                i[e] = this._inv_s[i[e]];
                i[e] ^= t[e];
              }
              return i;
            }
            _encrypt(e, t) {
              const a = this._s;
              let r, n, i;
              const s = new Uint8Array(16);
              s.set(e);
              for (let e = 0; e < 16; ++e) s[e] ^= t[e];
              for (let e = 1; e < this._cyclesOfRepetition; e++) {
                for (let e = 0; e < 16; ++e) s[e] = a[s[e]];
                i = s[1];
                s[1] = s[5];
                s[5] = s[9];
                s[9] = s[13];
                s[13] = i;
                i = s[2];
                n = s[6];
                s[2] = s[10];
                s[6] = s[14];
                s[10] = i;
                s[14] = n;
                i = s[3];
                n = s[7];
                r = s[11];
                s[3] = s[15];
                s[7] = i;
                s[11] = n;
                s[15] = r;
                for (let e = 0; e < 16; e += 4) {
                  const t = s[e + 0],
                    a = s[e + 1],
                    n = s[e + 2],
                    i = s[e + 3];
                  r = t ^ a ^ n ^ i;
                  s[e + 0] ^= r ^ this._mixCol[t ^ a];
                  s[e + 1] ^= r ^ this._mixCol[a ^ n];
                  s[e + 2] ^= r ^ this._mixCol[n ^ i];
                  s[e + 3] ^= r ^ this._mixCol[i ^ t];
                }
                for (let a = 0, r = 16 * e; a < 16; ++a, ++r) s[a] ^= t[r];
              }
              for (let e = 0; e < 16; ++e) s[e] = a[s[e]];
              i = s[1];
              s[1] = s[5];
              s[5] = s[9];
              s[9] = s[13];
              s[13] = i;
              i = s[2];
              n = s[6];
              s[2] = s[10];
              s[6] = s[14];
              s[10] = i;
              s[14] = n;
              i = s[3];
              n = s[7];
              r = s[11];
              s[3] = s[15];
              s[7] = i;
              s[11] = n;
              s[15] = r;
              for (let e = 0, a = this._keySize; e < 16; ++e, ++a) s[e] ^= t[a];
              return s;
            }
            _decryptBlock2(e, t) {
              const a = e.length;
              let r = this.buffer,
                n = this.bufferPosition;
              const i = [];
              let s = this.iv;
              for (let t = 0; t < a; ++t) {
                r[n] = e[t];
                ++n;
                if (n < 16) continue;
                const a = this._decrypt(r, this._key);
                for (let e = 0; e < 16; ++e) a[e] ^= s[e];
                s = r;
                i.push(a);
                r = new Uint8Array(16);
                n = 0;
              }
              this.buffer = r;
              this.bufferLength = n;
              this.iv = s;
              if (0 === i.length) return new Uint8Array(0);
              let o = 16 * i.length;
              if (t) {
                const e = i.at(-1);
                let t = e[15];
                if (t <= 16) {
                  for (let a = 15, r = 16 - t; a >= r; --a)
                    if (e[a] !== t) {
                      t = 0;
                      break;
                    }
                  o -= t;
                  i[i.length - 1] = e.subarray(0, 16 - t);
                }
              }
              const c = new Uint8Array(o);
              for (let e = 0, t = 0, a = i.length; e < a; ++e, t += 16) c.set(i[e], t);
              return c;
            }
            decryptBlock(e, t, a = null) {
              const r = e.length,
                n = this.buffer;
              let i = this.bufferPosition;
              if (a) this.iv = a;
              else {
                for (let t = 0; i < 16 && t < r; ++t, ++i) n[i] = e[t];
                if (i < 16) {
                  this.bufferLength = i;
                  return new Uint8Array(0);
                }
                this.iv = n;
                e = e.subarray(16);
              }
              this.buffer = new Uint8Array(16);
              this.bufferLength = 0;
              this.decryptBlock = this._decryptBlock2;
              return this.decryptBlock(e, t);
            }
            encrypt(e, t) {
              const a = e.length;
              let r = this.buffer,
                n = this.bufferPosition;
              const i = [];
              t || (t = new Uint8Array(16));
              for (let s = 0; s < a; ++s) {
                r[n] = e[s];
                ++n;
                if (n < 16) continue;
                for (let e = 0; e < 16; ++e) r[e] ^= t[e];
                const a = this._encrypt(r, this._key);
                t = a;
                i.push(a);
                r = new Uint8Array(16);
                n = 0;
              }
              this.buffer = r;
              this.bufferLength = n;
              this.iv = t;
              if (0 === i.length) return new Uint8Array(0);
              const s = 16 * i.length,
                o = new Uint8Array(s);
              for (let e = 0, t = 0, a = i.length; e < a; ++e, t += 16) o.set(i[e], t);
              return o;
            }
          }
          class AES128Cipher extends AESBaseCipher {
            constructor(e) {
              super();
              this._cyclesOfRepetition = 10;
              this._keySize = 160;
              this._rcon = new Uint8Array([
                141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106,
                212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131,
                29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188,
                99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74,
                148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171,
                77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145, 57, 114, 228, 211, 189,
                97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2, 4, 8, 16, 32, 64, 128,
                27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179, 125, 250, 239, 197, 145,
                57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58, 116, 232, 203, 141, 1, 2,
                4, 8, 16, 32, 64, 128, 27, 54, 108, 216, 171, 77, 154, 47, 94, 188, 99, 198, 151, 53, 106, 212, 179,
                125, 250, 239, 197, 145, 57, 114, 228, 211, 189, 97, 194, 159, 37, 74, 148, 51, 102, 204, 131, 29, 58,
                116, 232, 203, 141,
              ]);
              this._key = this._expandKey(e);
            }
            _expandKey(e) {
              const t = this._s,
                a = this._rcon,
                r = new Uint8Array(176);
              r.set(e);
              for (let e = 16, n = 1; e < 176; ++n) {
                let i = r[e - 3],
                  s = r[e - 2],
                  o = r[e - 1],
                  c = r[e - 4];
                i = t[i];
                s = t[s];
                o = t[o];
                c = t[c];
                i ^= a[n];
                for (let t = 0; t < 4; ++t) {
                  r[e] = i ^= r[e - 16];
                  e++;
                  r[e] = s ^= r[e - 16];
                  e++;
                  r[e] = o ^= r[e - 16];
                  e++;
                  r[e] = c ^= r[e - 16];
                  e++;
                }
              }
              return r;
            }
          }
          t.AES128Cipher = AES128Cipher;
          class AES256Cipher extends AESBaseCipher {
            constructor(e) {
              super();
              this._cyclesOfRepetition = 14;
              this._keySize = 224;
              this._key = this._expandKey(e);
            }
            _expandKey(e) {
              const t = this._s,
                a = new Uint8Array(240);
              a.set(e);
              let r,
                n,
                i,
                s,
                o = 1;
              for (let e = 32, c = 1; e < 240; ++c) {
                if (e % 32 == 16) {
                  r = t[r];
                  n = t[n];
                  i = t[i];
                  s = t[s];
                } else if (e % 32 == 0) {
                  r = a[e - 3];
                  n = a[e - 2];
                  i = a[e - 1];
                  s = a[e - 4];
                  r = t[r];
                  n = t[n];
                  i = t[i];
                  s = t[s];
                  r ^= o;
                  (o <<= 1) >= 256 && (o = 255 & (27 ^ o));
                }
                for (let t = 0; t < 4; ++t) {
                  a[e] = r ^= a[e - 32];
                  e++;
                  a[e] = n ^= a[e - 32];
                  e++;
                  a[e] = i ^= a[e - 32];
                  e++;
                  a[e] = s ^= a[e - 32];
                  e++;
                }
              }
              return a;
            }
          }
          t.AES256Cipher = AES256Cipher;
          class PDF17 {
            checkOwnerPassword(e, t, a, n) {
              const i = new Uint8Array(e.length + 56);
              i.set(e, 0);
              i.set(t, e.length);
              i.set(a, e.length + t.length);
              const s = o(i, 0, i.length);
              return (0, r.isArrayEqual)(s, n);
            }
            checkUserPassword(e, t, a) {
              const n = new Uint8Array(e.length + 8);
              n.set(e, 0);
              n.set(t, e.length);
              const i = o(n, 0, n.length);
              return (0, r.isArrayEqual)(i, a);
            }
            getOwnerKey(e, t, a, r) {
              const n = new Uint8Array(e.length + 56);
              n.set(e, 0);
              n.set(t, e.length);
              n.set(a, e.length + t.length);
              const i = o(n, 0, n.length);
              return new AES256Cipher(i).decryptBlock(r, !1, new Uint8Array(16));
            }
            getUserKey(e, t, a) {
              const r = new Uint8Array(e.length + 8);
              r.set(e, 0);
              r.set(t, e.length);
              const n = o(r, 0, r.length);
              return new AES256Cipher(n).decryptBlock(a, !1, new Uint8Array(16));
            }
          }
          t.PDF17 = PDF17;
          const l = (function PDF20Closure() {
            function calculatePDF20Hash(e, t, a) {
              let r = o(t, 0, t.length).subarray(0, 32),
                n = [0],
                i = 0;
              for (; i < 64 || n.at(-1) > i - 32; ) {
                const t = e.length + r.length + a.length,
                  s = new Uint8Array(t);
                let l = 0;
                s.set(e, l);
                l += e.length;
                s.set(r, l);
                l += r.length;
                s.set(a, l);
                const h = new Uint8Array(64 * t);
                for (let e = 0, a = 0; e < 64; e++, a += t) h.set(s, a);
                n = new AES128Cipher(r.subarray(0, 16)).encrypt(h, r.subarray(16, 32));
                const u = n.slice(0, 16).reduce((e, t) => e + t, 0) % 3;
                0 === u
                  ? (r = o(n, 0, n.length))
                  : 1 === u
                  ? (r = calculateSHA384(n, 0, n.length))
                  : 2 === u && (r = c(n, 0, n.length));
                i++;
              }
              return r.subarray(0, 32);
            }
            return class PDF20 {
              hash(e, t, a) {
                return calculatePDF20Hash(e, t, a);
              }
              checkOwnerPassword(e, t, a, n) {
                const i = new Uint8Array(e.length + 56);
                i.set(e, 0);
                i.set(t, e.length);
                i.set(a, e.length + t.length);
                const s = calculatePDF20Hash(e, i, a);
                return (0, r.isArrayEqual)(s, n);
              }
              checkUserPassword(e, t, a) {
                const n = new Uint8Array(e.length + 8);
                n.set(e, 0);
                n.set(t, e.length);
                const i = calculatePDF20Hash(e, n, []);
                return (0, r.isArrayEqual)(i, a);
              }
              getOwnerKey(e, t, a, r) {
                const n = new Uint8Array(e.length + 56);
                n.set(e, 0);
                n.set(t, e.length);
                n.set(a, e.length + t.length);
                const i = calculatePDF20Hash(e, n, a);
                return new AES256Cipher(i).decryptBlock(r, !1, new Uint8Array(16));
              }
              getUserKey(e, t, a) {
                const r = new Uint8Array(e.length + 8);
                r.set(e, 0);
                r.set(t, e.length);
                const n = calculatePDF20Hash(e, r, []);
                return new AES256Cipher(n).decryptBlock(a, !1, new Uint8Array(16));
              }
            };
          })();
          t.PDF20 = l;
          class CipherTransform {
            constructor(e, t) {
              this.StringCipherConstructor = e;
              this.StreamCipherConstructor = t;
            }
            createStream(e, t) {
              const a = new this.StreamCipherConstructor();
              return new i.DecryptStream(e, t, function cipherTransformDecryptStream(e, t) {
                return a.decryptBlock(e, t);
              });
            }
            decryptString(e) {
              const t = new this.StringCipherConstructor();
              let a = (0, r.stringToBytes)(e);
              a = t.decryptBlock(a, !0);
              return (0, r.bytesToString)(a);
            }
            encryptString(e) {
              const t = new this.StringCipherConstructor();
              if (t instanceof AESBaseCipher) {
                const a = 16 - (e.length % 16);
                e += String.fromCharCode(a).repeat(a);
                const n = new Uint8Array(16);
                if ('undefined' != typeof crypto) crypto.getRandomValues(n);
                else for (let e = 0; e < 16; e++) n[e] = Math.floor(256 * Math.random());
                let i = (0, r.stringToBytes)(e);
                i = t.encrypt(i, n);
                const s = new Uint8Array(16 + i.length);
                s.set(n);
                s.set(i, 16);
                return (0, r.bytesToString)(s);
              }
              let a = (0, r.stringToBytes)(e);
              a = t.encrypt(a);
              return (0, r.bytesToString)(a);
            }
          }
          const h = (function CipherTransformFactoryClosure() {
            const e = new Uint8Array([
              40, 191, 78, 94, 78, 117, 138, 65, 100, 0, 78, 86, 255, 250, 1, 8, 46, 46, 0, 182, 208, 104, 62, 128, 47,
              12, 169, 254, 100, 83, 105, 122,
            ]);
            function prepareKeyData(t, a, r, n, i, o, c, l) {
              const h = 40 + r.length + t.length,
                u = new Uint8Array(h);
              let d,
                f,
                g = 0;
              if (a) {
                f = Math.min(32, a.length);
                for (; g < f; ++g) u[g] = a[g];
              }
              d = 0;
              for (; g < 32; ) u[g++] = e[d++];
              for (d = 0, f = r.length; d < f; ++d) u[g++] = r[d];
              u[g++] = 255 & i;
              u[g++] = (i >> 8) & 255;
              u[g++] = (i >> 16) & 255;
              u[g++] = (i >>> 24) & 255;
              for (d = 0, f = t.length; d < f; ++d) u[g++] = t[d];
              if (o >= 4 && !l) {
                u[g++] = 255;
                u[g++] = 255;
                u[g++] = 255;
                u[g++] = 255;
              }
              let p = s(u, 0, g);
              const m = c >> 3;
              if (o >= 3) for (d = 0; d < 50; ++d) p = s(p, 0, m);
              const b = p.subarray(0, m);
              let y, w;
              if (o >= 3) {
                for (g = 0; g < 32; ++g) u[g] = e[g];
                for (d = 0, f = t.length; d < f; ++d) u[g++] = t[d];
                y = new ARCFourCipher(b);
                w = y.encryptBlock(s(u, 0, g));
                f = b.length;
                const a = new Uint8Array(f);
                for (d = 1; d <= 19; ++d) {
                  for (let e = 0; e < f; ++e) a[e] = b[e] ^ d;
                  y = new ARCFourCipher(a);
                  w = y.encryptBlock(w);
                }
                for (d = 0, f = w.length; d < f; ++d) if (n[d] !== w[d]) return null;
              } else {
                y = new ARCFourCipher(b);
                w = y.encryptBlock(e);
                for (d = 0, f = w.length; d < f; ++d) if (n[d] !== w[d]) return null;
              }
              return b;
            }
            const t = n.Name.get('Identity');
            function buildObjectKey(e, t, a, r = !1) {
              const n = new Uint8Array(a.length + 9),
                i = a.length;
              let o;
              for (o = 0; o < i; ++o) n[o] = a[o];
              n[o++] = 255 & e;
              n[o++] = (e >> 8) & 255;
              n[o++] = (e >> 16) & 255;
              n[o++] = 255 & t;
              n[o++] = (t >> 8) & 255;
              if (r) {
                n[o++] = 115;
                n[o++] = 65;
                n[o++] = 108;
                n[o++] = 84;
              }
              return s(n, 0, o).subarray(0, Math.min(a.length + 5, 16));
            }
            function buildCipherConstructor(e, t, a, i, s) {
              if (!(t instanceof n.Name)) throw new r.FormatError('Invalid crypt filter name.');
              const o = e.get(t.name);
              let c;
              null != o && (c = o.get('CFM'));
              if (!c || 'None' === c.name)
                return function cipherTransformFactoryBuildCipherConstructorNone() {
                  return new NullCipher();
                };
              if ('V2' === c.name)
                return function cipherTransformFactoryBuildCipherConstructorV2() {
                  return new ARCFourCipher(buildObjectKey(a, i, s, !1));
                };
              if ('AESV2' === c.name)
                return function cipherTransformFactoryBuildCipherConstructorAESV2() {
                  return new AES128Cipher(buildObjectKey(a, i, s, !0));
                };
              if ('AESV3' === c.name)
                return function cipherTransformFactoryBuildCipherConstructorAESV3() {
                  return new AES256Cipher(s);
                };
              throw new r.FormatError('Unknown crypto method');
            }
            return class CipherTransformFactory {
              constructor(a, i, o) {
                const c = a.get('Filter');
                if (!(0, n.isName)(c, 'Standard')) throw new r.FormatError('unknown encryption method');
                this.filterName = c.name;
                this.dict = a;
                const h = a.get('V');
                if (!Number.isInteger(h) || (1 !== h && 2 !== h && 4 !== h && 5 !== h))
                  throw new r.FormatError('unsupported encryption algorithm');
                this.algorithm = h;
                let u = a.get('Length');
                if (!u)
                  if (h <= 3) u = 40;
                  else {
                    const e = a.get('CF'),
                      t = a.get('StmF');
                    if (e instanceof n.Dict && t instanceof n.Name) {
                      e.suppressEncryption = !0;
                      const a = e.get(t.name);
                      u = (a && a.get('Length')) || 128;
                      u < 40 && (u <<= 3);
                    }
                  }
                if (!Number.isInteger(u) || u < 40 || u % 8 != 0) throw new r.FormatError('invalid key length');
                const d = (0, r.stringToBytes)(a.get('O')).subarray(0, 32),
                  f = (0, r.stringToBytes)(a.get('U')).subarray(0, 32),
                  g = a.get('P'),
                  p = a.get('R'),
                  m = (4 === h || 5 === h) && !1 !== a.get('EncryptMetadata');
                this.encryptMetadata = m;
                const b = (0, r.stringToBytes)(i);
                let y, w;
                if (o) {
                  if (6 === p)
                    try {
                      o = (0, r.utf8StringToString)(o);
                    } catch (e) {
                      (0, r.warn)('CipherTransformFactory: Unable to convert UTF8 encoded password.');
                    }
                  y = (0, r.stringToBytes)(o);
                }
                if (5 !== h) w = prepareKeyData(b, y, d, f, g, p, u, m);
                else {
                  const e = (0, r.stringToBytes)(a.get('O')).subarray(32, 40),
                    t = (0, r.stringToBytes)(a.get('O')).subarray(40, 48),
                    n = (0, r.stringToBytes)(a.get('U')).subarray(0, 48),
                    i = (0, r.stringToBytes)(a.get('U')).subarray(32, 40),
                    s = (0, r.stringToBytes)(a.get('U')).subarray(40, 48),
                    o = (0, r.stringToBytes)(a.get('OE')),
                    c = (0, r.stringToBytes)(a.get('UE'));
                  (0, r.stringToBytes)(a.get('Perms'));
                  w = (function createEncryptionKey20(e, t, a, r, n, i, s, o, c, h, u, d) {
                    if (t) {
                      const e = Math.min(127, t.length);
                      t = t.subarray(0, e);
                    } else t = [];
                    let f;
                    f = 6 === e ? new l() : new PDF17();
                    return f.checkUserPassword(t, o, s)
                      ? f.getUserKey(t, c, u)
                      : t.length && f.checkOwnerPassword(t, r, i, a)
                      ? f.getOwnerKey(t, n, i, h)
                      : null;
                  })(p, y, d, e, t, n, f, i, s, o, c);
                }
                if (!w && !o) throw new r.PasswordException('No password given', r.PasswordResponses.NEED_PASSWORD);
                if (!w && o) {
                  const t = (function decodeUserPassword(t, a, r, n) {
                    const i = new Uint8Array(32);
                    let o = 0;
                    const c = Math.min(32, t.length);
                    for (; o < c; ++o) i[o] = t[o];
                    let l = 0;
                    for (; o < 32; ) i[o++] = e[l++];
                    let h = s(i, 0, o);
                    const u = n >> 3;
                    if (r >= 3) for (l = 0; l < 50; ++l) h = s(h, 0, h.length);
                    let d, f;
                    if (r >= 3) {
                      f = a;
                      const e = new Uint8Array(u);
                      for (l = 19; l >= 0; l--) {
                        for (let t = 0; t < u; ++t) e[t] = h[t] ^ l;
                        d = new ARCFourCipher(e);
                        f = d.encryptBlock(f);
                      }
                    } else {
                      d = new ARCFourCipher(h.subarray(0, u));
                      f = d.encryptBlock(a);
                    }
                    return f;
                  })(y, d, p, u);
                  w = prepareKeyData(b, t, d, f, g, p, u, m);
                }
                if (!w) throw new r.PasswordException('Incorrect Password', r.PasswordResponses.INCORRECT_PASSWORD);
                this.encryptionKey = w;
                if (h >= 4) {
                  const e = a.get('CF');
                  e instanceof n.Dict && (e.suppressEncryption = !0);
                  this.cf = e;
                  this.stmf = a.get('StmF') || t;
                  this.strf = a.get('StrF') || t;
                  this.eff = a.get('EFF') || this.stmf;
                }
              }
              createCipherTransform(e, t) {
                if (4 === this.algorithm || 5 === this.algorithm)
                  return new CipherTransform(
                    buildCipherConstructor(this.cf, this.strf, e, t, this.encryptionKey),
                    buildCipherConstructor(this.cf, this.stmf, e, t, this.encryptionKey)
                  );
                const a = buildObjectKey(e, t, this.encryptionKey, !1),
                  r = function buildCipherCipherConstructor() {
                    return new ARCFourCipher(a);
                  };
                return new CipherTransform(r, r);
              }
            };
          })();
          t.CipherTransformFactory = h;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.DecryptStream = void 0;
          var r = a(17);
          class DecryptStream extends r.DecodeStream {
            constructor(e, t, a) {
              super(t);
              this.str = e;
              this.dict = e.dict;
              this.decrypt = a;
              this.nextChunk = null;
              this.initialized = !1;
            }
            readBlock() {
              let e;
              if (this.initialized) e = this.nextChunk;
              else {
                e = this.str.getBytes(512);
                this.initialized = !0;
              }
              if (!e || 0 === e.length) {
                this.eof = !0;
                return;
              }
              this.nextChunk = this.str.getBytes(512);
              const t = this.nextChunk && this.nextChunk.length > 0;
              e = (0, this.decrypt)(e, !t);
              const a = this.bufferLength,
                r = a + e.length;
              this.ensureBuffer(r).set(e, a);
              this.bufferLength = r;
            }
          }
          t.DecryptStream = DecryptStream;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Catalog = void 0;
          var r = a(3),
            n = a(2),
            i = a(4),
            s = a(68),
            o = a(5),
            c = a(69),
            l = a(12),
            h = a(70),
            u = a(57),
            d = a(71),
            f = a(72);
          function fetchDestination(e) {
            e instanceof i.Dict && (e = e.get('D'));
            return Array.isArray(e) ? e : null;
          }
          class Catalog {
            constructor(e, t) {
              this.pdfManager = e;
              this.xref = t;
              this._catDict = t.getCatalogObj();
              if (!(this._catDict instanceof i.Dict)) throw new n.FormatError('Catalog object is not a dictionary.');
              this.toplevelPagesDict;
              this._actualNumPages = null;
              this.fontCache = new i.RefSetCache();
              this.builtInCMapCache = new Map();
              this.standardFontDataCache = new Map();
              this.globalImageCache = new u.GlobalImageCache();
              this.pageKidsCountCache = new i.RefSetCache();
              this.pageIndexCache = new i.RefSetCache();
              this.nonBlendModesSet = new i.RefSet();
            }
            get version() {
              const e = this._catDict.get('Version');
              if (e instanceof i.Name) {
                if (r.PDF_VERSION_REGEXP.test(e.name)) return (0, n.shadow)(this, 'version', e.name);
                (0, n.warn)(`Invalid PDF catalog version: ${e.name}`);
              }
              return (0, n.shadow)(this, 'version', null);
            }
            get lang() {
              const e = this._catDict.get('Lang');
              return (0, n.shadow)(this, 'lang', 'string' == typeof e ? (0, n.stringToPDFString)(e) : null);
            }
            get needsRendering() {
              const e = this._catDict.get('NeedsRendering');
              return (0, n.shadow)(this, 'needsRendering', 'boolean' == typeof e && e);
            }
            get collection() {
              let e = null;
              try {
                const t = this._catDict.get('Collection');
                t instanceof i.Dict && t.size > 0 && (e = t);
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.info)('Cannot fetch Collection entry; assuming no collection is present.');
              }
              return (0, n.shadow)(this, 'collection', e);
            }
            get acroForm() {
              let e = null;
              try {
                const t = this._catDict.get('AcroForm');
                t instanceof i.Dict && t.size > 0 && (e = t);
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.info)('Cannot fetch AcroForm entry; assuming no forms are present.');
              }
              return (0, n.shadow)(this, 'acroForm', e);
            }
            get acroFormRef() {
              const e = this._catDict.getRaw('AcroForm');
              return (0, n.shadow)(this, 'acroFormRef', e instanceof i.Ref ? e : null);
            }
            get metadata() {
              const e = this._catDict.getRaw('Metadata');
              if (!(e instanceof i.Ref)) return (0, n.shadow)(this, 'metadata', null);
              let t = null;
              try {
                const a = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata),
                  r = this.xref.fetch(e, a);
                if (r instanceof o.BaseStream && r.dict instanceof i.Dict) {
                  const e = r.dict.get('Type'),
                    a = r.dict.get('Subtype');
                  if ((0, i.isName)(e, 'Metadata') && (0, i.isName)(a, 'XML')) {
                    const e = (0, n.stringToUTF8String)(r.getString());
                    e && (t = new d.MetadataParser(e).serializable);
                  }
                }
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.info)(`Skipping invalid Metadata: "${e}".`);
              }
              return (0, n.shadow)(this, 'metadata', t);
            }
            get markInfo() {
              let e = null;
              try {
                e = this._readMarkInfo();
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.warn)('Unable to read mark info.');
              }
              return (0, n.shadow)(this, 'markInfo', e);
            }
            _readMarkInfo() {
              const e = this._catDict.get('MarkInfo');
              if (!(e instanceof i.Dict)) return null;
              const t = { Marked: !1, UserProperties: !1, Suspects: !1 };
              for (const a in t) {
                const r = e.get(a);
                'boolean' == typeof r && (t[a] = r);
              }
              return t;
            }
            get structTreeRoot() {
              let e = null;
              try {
                e = this._readStructTreeRoot();
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.warn)('Unable read to structTreeRoot info.');
              }
              return (0, n.shadow)(this, 'structTreeRoot', e);
            }
            _readStructTreeRoot() {
              const e = this._catDict.get('StructTreeRoot');
              if (!(e instanceof i.Dict)) return null;
              const t = new f.StructTreeRoot(e);
              t.init();
              return t;
            }
            get toplevelPagesDict() {
              const e = this._catDict.get('Pages');
              if (!(e instanceof i.Dict)) throw new n.FormatError('Invalid top-level pages dictionary.');
              return (0, n.shadow)(this, 'toplevelPagesDict', e);
            }
            get documentOutline() {
              let e = null;
              try {
                e = this._readDocumentOutline();
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.warn)('Unable to read document outline.');
              }
              return (0, n.shadow)(this, 'documentOutline', e);
            }
            _readDocumentOutline() {
              let e = this._catDict.get('Outlines');
              if (!(e instanceof i.Dict)) return null;
              e = e.getRaw('First');
              if (!(e instanceof i.Ref)) return null;
              const t = { items: [] },
                a = [{ obj: e, parent: t }],
                r = new i.RefSet();
              r.put(e);
              const s = this.xref,
                o = new Uint8ClampedArray(3);
              for (; a.length > 0; ) {
                const t = a.shift(),
                  c = s.fetchIfRef(t.obj);
                if (null === c) continue;
                if (!c.has('Title')) throw new n.FormatError('Invalid outline item encountered.');
                const h = { url: null, dest: null, action: null };
                Catalog.parseDestDictionary({
                  destDict: c,
                  resultObj: h,
                  docBaseUrl: this.pdfManager.docBaseUrl,
                  docAttachments: this.attachments,
                });
                const u = c.get('Title'),
                  d = c.get('F') || 0,
                  f = c.getArray('C'),
                  g = c.get('Count');
                let p = o;
                !Array.isArray(f) ||
                  3 !== f.length ||
                  (0 === f[0] && 0 === f[1] && 0 === f[2]) ||
                  (p = l.ColorSpace.singletons.rgb.getRgb(f, 0));
                const m = {
                  action: h.action,
                  attachment: h.attachment,
                  dest: h.dest,
                  url: h.url,
                  unsafeUrl: h.unsafeUrl,
                  newWindow: h.newWindow,
                  setOCGState: h.setOCGState,
                  title: (0, n.stringToPDFString)(u),
                  color: p,
                  count: Number.isInteger(g) ? g : void 0,
                  bold: !!(2 & d),
                  italic: !!(1 & d),
                  items: [],
                };
                t.parent.items.push(m);
                e = c.getRaw('First');
                if (e instanceof i.Ref && !r.has(e)) {
                  a.push({ obj: e, parent: m });
                  r.put(e);
                }
                e = c.getRaw('Next');
                if (e instanceof i.Ref && !r.has(e)) {
                  a.push({ obj: e, parent: t.parent });
                  r.put(e);
                }
              }
              return t.items.length > 0 ? t.items : null;
            }
            get permissions() {
              let e = null;
              try {
                e = this._readPermissions();
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.warn)('Unable to read permissions.');
              }
              return (0, n.shadow)(this, 'permissions', e);
            }
            _readPermissions() {
              const e = this.xref.trailer.get('Encrypt');
              if (!(e instanceof i.Dict)) return null;
              let t = e.get('P');
              if ('number' != typeof t) return null;
              t += 2 ** 32;
              const a = [];
              for (const e in n.PermissionFlag) {
                const r = n.PermissionFlag[e];
                t & r && a.push(r);
              }
              return a;
            }
            get optionalContentConfig() {
              let e = null;
              try {
                const t = this._catDict.get('OCProperties');
                if (!t) return (0, n.shadow)(this, 'optionalContentConfig', null);
                const a = t.get('D');
                if (!a) return (0, n.shadow)(this, 'optionalContentConfig', null);
                const r = t.get('OCGs');
                if (!Array.isArray(r)) return (0, n.shadow)(this, 'optionalContentConfig', null);
                const s = [],
                  o = [];
                for (const e of r) {
                  if (!(e instanceof i.Ref)) continue;
                  o.push(e);
                  const t = this.xref.fetchIfRef(e);
                  s.push({
                    id: e.toString(),
                    name: 'string' == typeof t.get('Name') ? (0, n.stringToPDFString)(t.get('Name')) : null,
                    intent: 'string' == typeof t.get('Intent') ? (0, n.stringToPDFString)(t.get('Intent')) : null,
                  });
                }
                e = this._readOptionalContentConfig(a, o);
                e.groups = s;
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.warn)(`Unable to read optional content config: ${e}`);
              }
              return (0, n.shadow)(this, 'optionalContentConfig', e);
            }
            _readOptionalContentConfig(e, t) {
              function parseOnOff(e) {
                const a = [];
                if (Array.isArray(e)) for (const r of e) r instanceof i.Ref && t.includes(r) && a.push(r.toString());
                return a;
              }
              function parseOrder(e, a = 0) {
                if (!Array.isArray(e)) return null;
                const n = [];
                for (const s of e) {
                  if (s instanceof i.Ref && t.includes(s)) {
                    r.put(s);
                    n.push(s.toString());
                    continue;
                  }
                  const e = parseNestedOrder(s, a);
                  e && n.push(e);
                }
                if (a > 0) return n;
                const s = [];
                for (const e of t) r.has(e) || s.push(e.toString());
                s.length && n.push({ name: null, order: s });
                return n;
              }
              function parseNestedOrder(e, t) {
                if (++t > s) {
                  (0, n.warn)('parseNestedOrder - reached MAX_NESTED_LEVELS.');
                  return null;
                }
                const r = a.fetchIfRef(e);
                if (!Array.isArray(r)) return null;
                const i = a.fetchIfRef(r[0]);
                if ('string' != typeof i) return null;
                const o = parseOrder(r.slice(1), t);
                return o && o.length ? { name: (0, n.stringToPDFString)(i), order: o } : null;
              }
              const a = this.xref,
                r = new i.RefSet(),
                s = 10;
              return {
                name: 'string' == typeof e.get('Name') ? (0, n.stringToPDFString)(e.get('Name')) : null,
                creator: 'string' == typeof e.get('Creator') ? (0, n.stringToPDFString)(e.get('Creator')) : null,
                baseState: e.get('BaseState') instanceof i.Name ? e.get('BaseState').name : null,
                on: parseOnOff(e.get('ON')),
                off: parseOnOff(e.get('OFF')),
                order: parseOrder(e.get('Order')),
                groups: null,
              };
            }
            setActualNumPages(e = null) {
              this._actualNumPages = e;
            }
            get hasActualNumPages() {
              return null !== this._actualNumPages;
            }
            get _pagesCount() {
              const e = this.toplevelPagesDict.get('Count');
              if (!Number.isInteger(e))
                throw new n.FormatError('Page count in top-level pages dictionary is not an integer.');
              return (0, n.shadow)(this, '_pagesCount', e);
            }
            get numPages() {
              return this.hasActualNumPages ? this._actualNumPages : this._pagesCount;
            }
            get destinations() {
              const e = this._readDests(),
                t = Object.create(null);
              if (e instanceof s.NameTree)
                for (const [a, r] of e.getAll()) {
                  const e = fetchDestination(r);
                  e && (t[(0, n.stringToPDFString)(a)] = e);
                }
              else
                e instanceof i.Dict &&
                  e.forEach(function (e, a) {
                    const r = fetchDestination(a);
                    r && (t[e] = r);
                  });
              return (0, n.shadow)(this, 'destinations', t);
            }
            getDestination(e) {
              const t = this._readDests();
              if (t instanceof s.NameTree) {
                const a = fetchDestination(t.get(e));
                if (a) return a;
                const r = this.destinations[e];
                if (r) {
                  (0, n.warn)(`Found "${e}" at an incorrect position in the NameTree.`);
                  return r;
                }
              } else if (t instanceof i.Dict) {
                const a = fetchDestination(t.get(e));
                if (a) return a;
              }
              return null;
            }
            _readDests() {
              const e = this._catDict.get('Names');
              return e && e.has('Dests')
                ? new s.NameTree(e.getRaw('Dests'), this.xref)
                : this._catDict.has('Dests')
                ? this._catDict.get('Dests')
                : void 0;
            }
            get pageLabels() {
              let e = null;
              try {
                e = this._readPageLabels();
              } catch (e) {
                if (e instanceof r.MissingDataException) throw e;
                (0, n.warn)('Unable to read page labels.');
              }
              return (0, n.shadow)(this, 'pageLabels', e);
            }
            _readPageLabels() {
              const e = this._catDict.getRaw('PageLabels');
              if (!e) return null;
              const t = new Array(this.numPages);
              let a = null,
                o = '';
              const c = new s.NumberTree(e, this.xref).getAll();
              let l = '',
                h = 1;
              for (let e = 0, s = this.numPages; e < s; e++) {
                const s = c.get(e);
                if (void 0 !== s) {
                  if (!(s instanceof i.Dict)) throw new n.FormatError('PageLabel is not a dictionary.');
                  if (s.has('Type') && !(0, i.isName)(s.get('Type'), 'PageLabel'))
                    throw new n.FormatError('Invalid type in PageLabel dictionary.');
                  if (s.has('S')) {
                    const e = s.get('S');
                    if (!(e instanceof i.Name)) throw new n.FormatError('Invalid style in PageLabel dictionary.');
                    a = e.name;
                  } else a = null;
                  if (s.has('P')) {
                    const e = s.get('P');
                    if ('string' != typeof e) throw new n.FormatError('Invalid prefix in PageLabel dictionary.');
                    o = (0, n.stringToPDFString)(e);
                  } else o = '';
                  if (s.has('St')) {
                    const e = s.get('St');
                    if (!(Number.isInteger(e) && e >= 1))
                      throw new n.FormatError('Invalid start in PageLabel dictionary.');
                    h = e;
                  } else h = 1;
                }
                switch (a) {
                  case 'D':
                    l = h;
                    break;
                  case 'R':
                  case 'r':
                    l = (0, r.toRomanNumerals)(h, 'r' === a);
                    break;
                  case 'A':
                  case 'a':
                    const e = 26,
                      t = 'a' === a ? 97 : 65,
                      i = h - 1;
                    l = String.fromCharCode(t + (i % e)).repeat(Math.floor(i / e) + 1);
                    break;
                  default:
                    if (a) throw new n.FormatError(`Invalid style "${a}" in PageLabel dictionary.`);
                    l = '';
                }
                t[e] = o + l;
                h++;
              }
              return t;
            }
            get pageLayout() {
              const e = this._catDict.get('PageLayout');
              let t = '';
              if (e instanceof i.Name)
                switch (e.name) {
                  case 'SinglePage':
                  case 'OneColumn':
                  case 'TwoColumnLeft':
                  case 'TwoColumnRight':
                  case 'TwoPageLeft':
                  case 'TwoPageRight':
                    t = e.name;
                }
              return (0, n.shadow)(this, 'pageLayout', t);
            }
            get pageMode() {
              const e = this._catDict.get('PageMode');
              let t = 'UseNone';
              if (e instanceof i.Name)
                switch (e.name) {
                  case 'UseNone':
                  case 'UseOutlines':
                  case 'UseThumbs':
                  case 'FullScreen':
                  case 'UseOC':
                  case 'UseAttachments':
                    t = e.name;
                }
              return (0, n.shadow)(this, 'pageMode', t);
            }
            get viewerPreferences() {
              const e = this._catDict.get('ViewerPreferences');
              if (!(e instanceof i.Dict)) return (0, n.shadow)(this, 'viewerPreferences', null);
              let t = null;
              for (const a of e.getKeys()) {
                const r = e.get(a);
                let s;
                switch (a) {
                  case 'HideToolbar':
                  case 'HideMenubar':
                  case 'HideWindowUI':
                  case 'FitWindow':
                  case 'CenterWindow':
                  case 'DisplayDocTitle':
                  case 'PickTrayByPDFSize':
                    'boolean' == typeof r && (s = r);
                    break;
                  case 'NonFullScreenPageMode':
                    if (r instanceof i.Name)
                      switch (r.name) {
                        case 'UseNone':
                        case 'UseOutlines':
                        case 'UseThumbs':
                        case 'UseOC':
                          s = r.name;
                          break;
                        default:
                          s = 'UseNone';
                      }
                    break;
                  case 'Direction':
                    if (r instanceof i.Name)
                      switch (r.name) {
                        case 'L2R':
                        case 'R2L':
                          s = r.name;
                          break;
                        default:
                          s = 'L2R';
                      }
                    break;
                  case 'ViewArea':
                  case 'ViewClip':
                  case 'PrintArea':
                  case 'PrintClip':
                    if (r instanceof i.Name)
                      switch (r.name) {
                        case 'MediaBox':
                        case 'CropBox':
                        case 'BleedBox':
                        case 'TrimBox':
                        case 'ArtBox':
                          s = r.name;
                          break;
                        default:
                          s = 'CropBox';
                      }
                    break;
                  case 'PrintScaling':
                    if (r instanceof i.Name)
                      switch (r.name) {
                        case 'None':
                        case 'AppDefault':
                          s = r.name;
                          break;
                        default:
                          s = 'AppDefault';
                      }
                    break;
                  case 'Duplex':
                    if (r instanceof i.Name)
                      switch (r.name) {
                        case 'Simplex':
                        case 'DuplexFlipShortEdge':
                        case 'DuplexFlipLongEdge':
                          s = r.name;
                          break;
                        default:
                          s = 'None';
                      }
                    break;
                  case 'PrintPageRange':
                    if (Array.isArray(r) && r.length % 2 == 0) {
                      r.every(
                        (e, t, a) => Number.isInteger(e) && e > 0 && (0 === t || e >= a[t - 1]) && e <= this.numPages
                      ) && (s = r);
                    }
                    break;
                  case 'NumCopies':
                    Number.isInteger(r) && r > 0 && (s = r);
                    break;
                  default:
                    (0, n.warn)(`Ignoring non-standard key in ViewerPreferences: ${a}.`);
                    continue;
                }
                if (void 0 !== s) {
                  t || (t = Object.create(null));
                  t[a] = s;
                } else (0, n.warn)(`Bad value, for key "${a}", in ViewerPreferences: ${r}.`);
              }
              return (0, n.shadow)(this, 'viewerPreferences', t);
            }
            get openAction() {
              const e = this._catDict.get('OpenAction'),
                t = Object.create(null);
              if (e instanceof i.Dict) {
                const a = new i.Dict(this.xref);
                a.set('A', e);
                const r = { url: null, dest: null, action: null };
                Catalog.parseDestDictionary({ destDict: a, resultObj: r });
                Array.isArray(r.dest) ? (t.dest = r.dest) : r.action && (t.action = r.action);
              } else Array.isArray(e) && (t.dest = e);
              return (0, n.shadow)(this, 'openAction', (0, n.objectSize)(t) > 0 ? t : null);
            }
            get attachments() {
              const e = this._catDict.get('Names');
              let t = null;
              if (e instanceof i.Dict && e.has('EmbeddedFiles')) {
                const a = new s.NameTree(e.getRaw('EmbeddedFiles'), this.xref);
                for (const [e, r] of a.getAll()) {
                  const a = new h.FileSpec(r, this.xref);
                  t || (t = Object.create(null));
                  t[(0, n.stringToPDFString)(e)] = a.serializable;
                }
              }
              return (0, n.shadow)(this, 'attachments', t);
            }
            get xfaImages() {
              const e = this._catDict.get('Names');
              let t = null;
              if (e instanceof i.Dict && e.has('XFAImages')) {
                const a = new s.NameTree(e.getRaw('XFAImages'), this.xref);
                for (const [e, r] of a.getAll()) {
                  t || (t = new i.Dict(this.xref));
                  t.set((0, n.stringToPDFString)(e), r);
                }
              }
              return (0, n.shadow)(this, 'xfaImages', t);
            }
            _collectJavaScript() {
              const e = this._catDict.get('Names');
              let t = null;
              function appendIfJavaScriptDict(e, a) {
                if (!(a instanceof i.Dict)) return;
                if (!(0, i.isName)(a.get('S'), 'JavaScript')) return;
                let r = a.get('JS');
                if (r instanceof o.BaseStream) r = r.getString();
                else if ('string' != typeof r) return;
                null === t && (t = new Map());
                r = (0, n.stringToPDFString)(r).replace(/\u0000/g, '');
                t.set(e, r);
              }
              if (e instanceof i.Dict && e.has('JavaScript')) {
                const t = new s.NameTree(e.getRaw('JavaScript'), this.xref);
                for (const [e, a] of t.getAll()) appendIfJavaScriptDict((0, n.stringToPDFString)(e), a);
              }
              const a = this._catDict.get('OpenAction');
              a && appendIfJavaScriptDict('OpenAction', a);
              return t;
            }
            get javaScript() {
              const e = this._collectJavaScript();
              return (0, n.shadow)(this, 'javaScript', e ? [...e.values()] : null);
            }
            get jsActions() {
              const e = this._collectJavaScript();
              let t = (0, r.collectActions)(this.xref, this._catDict, n.DocumentActionEventType);
              if (e) {
                t || (t = Object.create(null));
                for (const [a, r] of e) a in t ? t[a].push(r) : (t[a] = [r]);
              }
              return (0, n.shadow)(this, 'jsActions', t);
            }
            async fontFallback(e, t) {
              const a = await Promise.all(this.fontCache);
              for (const r of a)
                if (r.loadedName === e) {
                  r.fallback(t);
                  return;
                }
            }
            async cleanup(e = !1) {
              (0, c.clearGlobalCaches)();
              this.globalImageCache.clear(e);
              this.pageKidsCountCache.clear();
              this.pageIndexCache.clear();
              this.nonBlendModesSet.clear();
              const t = await Promise.all(this.fontCache);
              for (const { dict: e } of t) delete e.cacheKey;
              this.fontCache.clear();
              this.builtInCMapCache.clear();
              this.standardFontDataCache.clear();
            }
            async getPageDict(e) {
              const t = [this.toplevelPagesDict],
                a = new i.RefSet(),
                r = this._catDict.getRaw('Pages');
              r instanceof i.Ref && a.put(r);
              const s = this.xref,
                o = this.pageKidsCountCache,
                c = this.pageIndexCache;
              let l = 0;
              for (; t.length; ) {
                const r = t.pop();
                if (r instanceof i.Ref) {
                  const h = o.get(r);
                  if (h >= 0 && l + h <= e) {
                    l += h;
                    continue;
                  }
                  if (a.has(r)) throw new n.FormatError('Pages tree contains circular reference.');
                  a.put(r);
                  const u = await s.fetchAsync(r);
                  if (u instanceof i.Dict) {
                    let t = u.getRaw('Type');
                    t instanceof i.Ref && (t = await s.fetchAsync(t));
                    if ((0, i.isName)(t, 'Page') || !u.has('Kids')) {
                      o.has(r) || o.put(r, 1);
                      c.has(r) || c.put(r, l);
                      if (l === e) return [u, r];
                      l++;
                      continue;
                    }
                  }
                  t.push(u);
                  continue;
                }
                if (!(r instanceof i.Dict))
                  throw new n.FormatError('Page dictionary kid reference points to wrong type of object.');
                const { objId: h } = r;
                let u = r.getRaw('Count');
                u instanceof i.Ref && (u = await s.fetchAsync(u));
                if (Number.isInteger(u) && u >= 0) {
                  h && !o.has(h) && o.put(h, u);
                  if (l + u <= e) {
                    l += u;
                    continue;
                  }
                }
                let d = r.getRaw('Kids');
                d instanceof i.Ref && (d = await s.fetchAsync(d));
                if (!Array.isArray(d)) {
                  let t = r.getRaw('Type');
                  t instanceof i.Ref && (t = await s.fetchAsync(t));
                  if ((0, i.isName)(t, 'Page') || !r.has('Kids')) {
                    if (l === e) return [r, null];
                    l++;
                    continue;
                  }
                  throw new n.FormatError('Page dictionary kids object is not an array.');
                }
                for (let e = d.length - 1; e >= 0; e--) t.push(d[e]);
              }
              throw new Error(`Page index ${e} not found.`);
            }
            async getAllPageDicts(e = !1) {
              const { ignoreErrors: t } = this.pdfManager.evaluatorOptions,
                a = [{ currentNode: this.toplevelPagesDict, posInKids: 0 }],
                s = new i.RefSet(),
                o = this._catDict.getRaw('Pages');
              o instanceof i.Ref && s.put(o);
              const c = new Map(),
                l = this.xref,
                h = this.pageIndexCache;
              let u = 0;
              function addPageDict(e, t) {
                t && !h.has(t) && h.put(t, u);
                c.set(u++, [e, t]);
              }
              function addPageError(a) {
                if (a instanceof r.XRefEntryException && !e) throw a;
                if (e && t && 0 === u) {
                  (0, n.warn)(`getAllPageDicts - Skipping invalid first page: "${a}".`);
                  a = i.Dict.empty;
                }
                c.set(u++, [a, null]);
              }
              for (; a.length > 0; ) {
                const e = a.at(-1),
                  { currentNode: t, posInKids: r } = e;
                let o = t.getRaw('Kids');
                if (o instanceof i.Ref)
                  try {
                    o = await l.fetchAsync(o);
                  } catch (e) {
                    addPageError(e);
                    break;
                  }
                if (!Array.isArray(o)) {
                  addPageError(new n.FormatError('Page dictionary kids object is not an array.'));
                  break;
                }
                if (r >= o.length) {
                  a.pop();
                  continue;
                }
                const c = o[r];
                let h;
                if (c instanceof i.Ref) {
                  if (s.has(c)) {
                    addPageError(new n.FormatError('Pages tree contains circular reference.'));
                    break;
                  }
                  s.put(c);
                  try {
                    h = await l.fetchAsync(c);
                  } catch (e) {
                    addPageError(e);
                    break;
                  }
                } else h = c;
                if (!(h instanceof i.Dict)) {
                  addPageError(new n.FormatError('Page dictionary kid reference points to wrong type of object.'));
                  break;
                }
                let u = h.getRaw('Type');
                if (u instanceof i.Ref)
                  try {
                    u = await l.fetchAsync(u);
                  } catch (e) {
                    addPageError(e);
                    break;
                  }
                (0, i.isName)(u, 'Page') || !h.has('Kids')
                  ? addPageDict(h, c instanceof i.Ref ? c : null)
                  : a.push({ currentNode: h, posInKids: 0 });
                e.posInKids++;
              }
              return c;
            }
            getPageIndex(e) {
              const t = this.pageIndexCache.get(e);
              if (void 0 !== t) return Promise.resolve(t);
              const a = this.xref;
              let r = 0;
              const next = (t) =>
                (function pagesBeforeRef(t) {
                  let r,
                    s = 0;
                  return a
                    .fetchAsync(t)
                    .then(function (a) {
                      if (
                        (0, i.isRefsEqual)(t, e) &&
                        !(0, i.isDict)(a, 'Page') &&
                        !(a instanceof i.Dict && !a.has('Type') && a.has('Contents'))
                      )
                        throw new n.FormatError('The reference does not point to a /Page dictionary.');
                      if (!a) return null;
                      if (!(a instanceof i.Dict)) throw new n.FormatError('Node must be a dictionary.');
                      r = a.getRaw('Parent');
                      return a.getAsync('Parent');
                    })
                    .then(function (e) {
                      if (!e) return null;
                      if (!(e instanceof i.Dict)) throw new n.FormatError('Parent must be a dictionary.');
                      return e.getAsync('Kids');
                    })
                    .then(function (e) {
                      if (!e) return null;
                      const o = [];
                      let c = !1;
                      for (const r of e) {
                        if (!(r instanceof i.Ref)) throw new n.FormatError('Kid must be a reference.');
                        if ((0, i.isRefsEqual)(r, t)) {
                          c = !0;
                          break;
                        }
                        o.push(
                          a.fetchAsync(r).then(function (e) {
                            if (!(e instanceof i.Dict)) throw new n.FormatError('Kid node must be a dictionary.');
                            e.has('Count') ? (s += e.get('Count')) : s++;
                          })
                        );
                      }
                      if (!c) throw new n.FormatError("Kid reference not found in parent's kids.");
                      return Promise.all(o).then(function () {
                        return [s, r];
                      });
                    });
                })(t).then((t) => {
                  if (!t) {
                    this.pageIndexCache.put(e, r);
                    return r;
                  }
                  const [a, n] = t;
                  r += a;
                  return next(n);
                });
              return next(e);
            }
            get baseUrl() {
              const e = this._catDict.get('URI');
              if (e instanceof i.Dict) {
                const t = e.get('Base');
                if ('string' == typeof t) {
                  const e = (0, n.createValidAbsoluteUrl)(t, null, { tryConvertEncoding: !0 });
                  if (e) return (0, n.shadow)(this, 'baseUrl', e.href);
                }
              }
              return (0, n.shadow)(this, 'baseUrl', null);
            }
            static parseDestDictionary(e) {
              const t = e.destDict;
              if (!(t instanceof i.Dict)) {
                (0, n.warn)('parseDestDictionary: `destDict` must be a dictionary.');
                return;
              }
              const a = e.resultObj;
              if ('object' != typeof a) {
                (0, n.warn)('parseDestDictionary: `resultObj` must be an object.');
                return;
              }
              const s = e.docBaseUrl || null,
                c = e.docAttachments || null;
              let l,
                h,
                u = t.get('A');
              if (!(u instanceof i.Dict))
                if (t.has('Dest')) u = t.get('Dest');
                else {
                  u = t.get('AA');
                  u instanceof i.Dict && (u.has('D') ? (u = u.get('D')) : u.has('U') && (u = u.get('U')));
                }
              if (u instanceof i.Dict) {
                const e = u.get('S');
                if (!(e instanceof i.Name)) {
                  (0, n.warn)('parseDestDictionary: Invalid type in Action dictionary.');
                  return;
                }
                const t = e.name;
                switch (t) {
                  case 'ResetForm':
                    const e = u.get('Flags'),
                      s = 0 == (1 & ('number' == typeof e ? e : 0)),
                      d = [],
                      f = [];
                    for (const e of u.get('Fields') || [])
                      e instanceof i.Ref
                        ? f.push(e.toString())
                        : 'string' == typeof e && d.push((0, n.stringToPDFString)(e));
                    a.resetForm = { fields: d, refs: f, include: s };
                    break;
                  case 'URI':
                    l = u.get('URI');
                    l instanceof i.Name && (l = '/' + l.name);
                    break;
                  case 'GoTo':
                    h = u.get('D');
                    break;
                  case 'Launch':
                  case 'GoToR':
                    const g = u.get('F');
                    g instanceof i.Dict ? (l = g.get('F') || null) : 'string' == typeof g && (l = g);
                    let p = u.get('D');
                    if (p) {
                      p instanceof i.Name && (p = p.name);
                      if ('string' == typeof l) {
                        const e = l.split('#')[0];
                        'string' == typeof p
                          ? (l = e + '#' + p)
                          : Array.isArray(p) && (l = e + '#' + JSON.stringify(p));
                      }
                    }
                    const m = u.get('NewWindow');
                    'boolean' == typeof m && (a.newWindow = m);
                    break;
                  case 'GoToE':
                    const b = u.get('T');
                    let y;
                    if (c && b instanceof i.Dict) {
                      const e = b.get('R'),
                        t = b.get('N');
                      (0, i.isName)(e, 'C') && 'string' == typeof t && (y = c[(0, n.stringToPDFString)(t)]);
                    }
                    y ? (a.attachment = y) : (0, n.warn)('parseDestDictionary - unimplemented "GoToE" action.');
                    break;
                  case 'Named':
                    const w = u.get('N');
                    w instanceof i.Name && (a.action = w.name);
                    break;
                  case 'SetOCGState':
                    const S = u.get('State'),
                      x = u.get('PreserveRB');
                    if (!Array.isArray(S) || 0 === S.length) break;
                    const C = [];
                    for (const e of S)
                      if (e instanceof i.Name)
                        switch (e.name) {
                          case 'ON':
                          case 'OFF':
                          case 'Toggle':
                            C.push(e.name);
                        }
                      else e instanceof i.Ref && C.push(e.toString());
                    if (C.length !== S.length) break;
                    a.setOCGState = { state: C, preserveRB: 'boolean' != typeof x || x };
                    break;
                  case 'JavaScript':
                    const k = u.get('JS');
                    let v;
                    k instanceof o.BaseStream ? (v = k.getString()) : 'string' == typeof k && (v = k);
                    const F = v && (0, r.recoverJsURL)((0, n.stringToPDFString)(v));
                    if (F) {
                      l = F.url;
                      a.newWindow = F.newWindow;
                      break;
                    }
                  default:
                    if ('JavaScript' === t || 'SubmitForm' === t) break;
                    (0, n.warn)(`parseDestDictionary - unsupported action: "${t}".`);
                }
              } else t.has('Dest') && (h = t.get('Dest'));
              if ('string' == typeof l) {
                const e = (0, n.createValidAbsoluteUrl)(l, s, { addDefaultProtocol: !0, tryConvertEncoding: !0 });
                e && (a.url = e.href);
                a.unsafeUrl = l;
              }
              if (h) {
                h instanceof i.Name && (h = h.name);
                'string' == typeof h ? (a.dest = (0, n.stringToPDFString)(h)) : Array.isArray(h) && (a.dest = h);
              }
            }
          }
          t.Catalog = Catalog;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.NumberTree = t.NameTree = void 0;
          var r = a(4),
            n = a(2);
          class NameOrNumberTree {
            constructor(e, t, a) {
              this.constructor === NameOrNumberTree && (0, n.unreachable)('Cannot initialize NameOrNumberTree.');
              this.root = e;
              this.xref = t;
              this._type = a;
            }
            getAll() {
              const e = new Map();
              if (!this.root) return e;
              const t = this.xref,
                a = new r.RefSet();
              a.put(this.root);
              const i = [this.root];
              for (; i.length > 0; ) {
                const s = t.fetchIfRef(i.shift());
                if (!(s instanceof r.Dict)) continue;
                if (s.has('Kids')) {
                  const e = s.get('Kids');
                  if (!Array.isArray(e)) continue;
                  for (const t of e) {
                    if (a.has(t)) throw new n.FormatError(`Duplicate entry in "${this._type}" tree.`);
                    i.push(t);
                    a.put(t);
                  }
                  continue;
                }
                const o = s.get(this._type);
                if (Array.isArray(o))
                  for (let a = 0, r = o.length; a < r; a += 2) e.set(t.fetchIfRef(o[a]), t.fetchIfRef(o[a + 1]));
              }
              return e;
            }
            get(e) {
              if (!this.root) return null;
              const t = this.xref;
              let a = t.fetchIfRef(this.root),
                r = 0;
              for (; a.has('Kids'); ) {
                if (++r > 10) {
                  (0, n.warn)(`Search depth limit reached for "${this._type}" tree.`);
                  return null;
                }
                const i = a.get('Kids');
                if (!Array.isArray(i)) return null;
                let s = 0,
                  o = i.length - 1;
                for (; s <= o; ) {
                  const r = (s + o) >> 1,
                    n = t.fetchIfRef(i[r]),
                    c = n.get('Limits');
                  if (e < t.fetchIfRef(c[0])) o = r - 1;
                  else {
                    if (!(e > t.fetchIfRef(c[1]))) {
                      a = n;
                      break;
                    }
                    s = r + 1;
                  }
                }
                if (s > o) return null;
              }
              const i = a.get(this._type);
              if (Array.isArray(i)) {
                let a = 0,
                  r = i.length - 2;
                for (; a <= r; ) {
                  const n = (a + r) >> 1,
                    s = n + (1 & n),
                    o = t.fetchIfRef(i[s]);
                  if (e < o) r = s - 2;
                  else {
                    if (!(e > o)) return t.fetchIfRef(i[s + 1]);
                    a = s + 2;
                  }
                }
              }
              return null;
            }
          }
          t.NameTree = class NameTree extends NameOrNumberTree {
            constructor(e, t) {
              super(e, t, 'Names');
            }
          };
          t.NumberTree = class NumberTree extends NameOrNumberTree {
            constructor(e, t) {
              super(e, t, 'Nums');
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.clearGlobalCaches = function clearGlobalCaches() {
            (0, r.clearPrimitiveCaches)();
            (0, n.clearUnicodeCaches)();
          };
          var r = a(4),
            n = a(38);
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.FileSpec = void 0;
          var r = a(2),
            n = a(5),
            i = a(4);
          function pickPlatformItem(e) {
            return e.has('UF')
              ? e.get('UF')
              : e.has('F')
              ? e.get('F')
              : e.has('Unix')
              ? e.get('Unix')
              : e.has('Mac')
              ? e.get('Mac')
              : e.has('DOS')
              ? e.get('DOS')
              : null;
          }
          t.FileSpec = class FileSpec {
            constructor(e, t) {
              if (e instanceof i.Dict) {
                this.xref = t;
                this.root = e;
                e.has('FS') && (this.fs = e.get('FS'));
                this.description = e.has('Desc') ? (0, r.stringToPDFString)(e.get('Desc')) : '';
                e.has('RF') && (0, r.warn)('Related file specifications are not supported');
                this.contentAvailable = !0;
                if (!e.has('EF')) {
                  this.contentAvailable = !1;
                  (0, r.warn)('Non-embedded file specifications are not supported');
                }
              }
            }
            get filename() {
              if (!this._filename && this.root) {
                const e = pickPlatformItem(this.root) || 'unnamed';
                this._filename = (0, r.stringToPDFString)(e)
                  .replace(/\\\\/g, '\\')
                  .replace(/\\\//g, '/')
                  .replace(/\\/g, '/');
              }
              return this._filename;
            }
            get content() {
              if (!this.contentAvailable) return null;
              !this.contentRef && this.root && (this.contentRef = pickPlatformItem(this.root.get('EF')));
              let e = null;
              if (this.contentRef) {
                const t = this.xref.fetchIfRef(this.contentRef);
                t instanceof n.BaseStream
                  ? (e = t.getBytes())
                  : (0, r.warn)('Embedded file specification points to non-existing/invalid content');
              } else (0, r.warn)('Embedded file specification does not have a content');
              return e;
            }
            get serializable() {
              return { filename: this.filename, content: this.content };
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.MetadataParser = void 0;
          var r = a(64);
          t.MetadataParser = class MetadataParser {
            constructor(e) {
              e = this._repair(e);
              const t = new r.SimpleXMLParser({ lowerCaseName: !0 }).parseFromString(e);
              this._metadataMap = new Map();
              this._data = e;
              t && this._parse(t);
            }
            _repair(e) {
              return e.replace(/^[^<]+/, '').replace(/>\\376\\377([^<]+)/g, function (e, t) {
                const a = t
                    .replace(/\\([0-3])([0-7])([0-7])/g, function (e, t, a, r) {
                      return String.fromCharCode(64 * t + 8 * a + 1 * r);
                    })
                    .replace(/&(amp|apos|gt|lt|quot);/g, function (e, t) {
                      switch (t) {
                        case 'amp':
                          return '&';
                        case 'apos':
                          return "'";
                        case 'gt':
                          return '>';
                        case 'lt':
                          return '<';
                        case 'quot':
                          return '"';
                      }
                      throw new Error(`_repair: ${t} isn't defined.`);
                    }),
                  r = ['>'];
                for (let e = 0, t = a.length; e < t; e += 2) {
                  const t = 256 * a.charCodeAt(e) + a.charCodeAt(e + 1);
                  t >= 32 && t < 127 && 60 !== t && 62 !== t && 38 !== t
                    ? r.push(String.fromCharCode(t))
                    : r.push('&#x' + (65536 + t).toString(16).substring(1) + ';');
                }
                return r.join('');
              });
            }
            _getSequence(e) {
              const t = e.nodeName;
              return 'rdf:bag' !== t && 'rdf:seq' !== t && 'rdf:alt' !== t
                ? null
                : e.childNodes.filter((e) => 'rdf:li' === e.nodeName);
            }
            _parseArray(e) {
              if (!e.hasChildNodes()) return;
              const [t] = e.childNodes,
                a = this._getSequence(t) || [];
              this._metadataMap.set(
                e.nodeName,
                a.map((e) => e.textContent.trim())
              );
            }
            _parse(e) {
              let t = e.documentElement;
              if ('rdf:rdf' !== t.nodeName) {
                t = t.firstChild;
                for (; t && 'rdf:rdf' !== t.nodeName; ) t = t.nextSibling;
              }
              if (t && 'rdf:rdf' === t.nodeName && t.hasChildNodes())
                for (const e of t.childNodes)
                  if ('rdf:description' === e.nodeName)
                    for (const t of e.childNodes) {
                      const e = t.nodeName;
                      switch (e) {
                        case '#text':
                          continue;
                        case 'dc:creator':
                        case 'dc:subject':
                          this._parseArray(t);
                          continue;
                      }
                      this._metadataMap.set(e, t.textContent.trim());
                    }
            }
            get serializable() {
              return { parsedData: this._metadataMap, rawData: this._data };
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.StructTreeRoot = t.StructTreePage = void 0;
          var r = a(4),
            n = a(2),
            i = a(68);
          const s = 40,
            o = {
              PAGE_CONTENT: 'PAGE_CONTENT',
              STREAM_CONTENT: 'STREAM_CONTENT',
              OBJECT: 'OBJECT',
              ELEMENT: 'ELEMENT',
            };
          t.StructTreeRoot = class StructTreeRoot {
            constructor(e) {
              this.dict = e;
              this.roleMap = new Map();
            }
            init() {
              this.readRoleMap();
            }
            readRoleMap() {
              const e = this.dict.get('RoleMap');
              e instanceof r.Dict &&
                e.forEach((e, t) => {
                  t instanceof r.Name && this.roleMap.set(e, t.name);
                });
            }
          };
          class StructElementNode {
            constructor(e, t) {
              this.tree = e;
              this.dict = t;
              this.kids = [];
              this.parseKids();
            }
            get role() {
              const e = this.dict.get('S'),
                t = e instanceof r.Name ? e.name : '',
                { root: a } = this.tree;
              return a.roleMap.has(t) ? a.roleMap.get(t) : t;
            }
            parseKids() {
              let e = null;
              const t = this.dict.getRaw('Pg');
              t instanceof r.Ref && (e = t.toString());
              const a = this.dict.get('K');
              if (Array.isArray(a))
                for (const t of a) {
                  const a = this.parseKid(e, t);
                  a && this.kids.push(a);
                }
              else {
                const t = this.parseKid(e, a);
                t && this.kids.push(t);
              }
            }
            parseKid(e, t) {
              if (Number.isInteger(t))
                return this.tree.pageDict.objId !== e
                  ? null
                  : new StructElement({ type: o.PAGE_CONTENT, mcid: t, pageObjId: e });
              let a = null;
              t instanceof r.Ref ? (a = this.dict.xref.fetch(t)) : t instanceof r.Dict && (a = t);
              if (!a) return null;
              const n = a.getRaw('Pg');
              n instanceof r.Ref && (e = n.toString());
              const i = a.get('Type') instanceof r.Name ? a.get('Type').name : null;
              return 'MCR' === i
                ? this.tree.pageDict.objId !== e
                  ? null
                  : new StructElement({
                      type: o.STREAM_CONTENT,
                      refObjId: a.getRaw('Stm') instanceof r.Ref ? a.getRaw('Stm').toString() : null,
                      pageObjId: e,
                      mcid: a.get('MCID'),
                    })
                : 'OBJR' === i
                ? this.tree.pageDict.objId !== e
                  ? null
                  : new StructElement({
                      type: o.OBJECT,
                      refObjId: a.getRaw('Obj') instanceof r.Ref ? a.getRaw('Obj').toString() : null,
                      pageObjId: e,
                    })
                : new StructElement({ type: o.ELEMENT, dict: a });
            }
          }
          class StructElement {
            constructor({ type: e, dict: t = null, mcid: a = null, pageObjId: r = null, refObjId: n = null }) {
              this.type = e;
              this.dict = t;
              this.mcid = a;
              this.pageObjId = r;
              this.refObjId = n;
              this.parentNode = null;
            }
          }
          t.StructTreePage = class StructTreePage {
            constructor(e, t) {
              this.root = e;
              this.rootDict = e ? e.dict : null;
              this.pageDict = t;
              this.nodes = [];
            }
            parse() {
              if (!this.root || !this.rootDict) return;
              const e = this.rootDict.get('ParentTree');
              if (!e) return;
              const t = this.pageDict.get('StructParents');
              if (!Number.isInteger(t)) return;
              const a = new i.NumberTree(e, this.rootDict.xref).get(t);
              if (!Array.isArray(a)) return;
              const n = new Map();
              for (const e of a) e instanceof r.Ref && this.addNode(this.rootDict.xref.fetch(e), n);
            }
            addNode(e, t, a = 0) {
              if (a > s) {
                (0, n.warn)('StructTree MAX_DEPTH reached.');
                return null;
              }
              if (t.has(e)) return t.get(e);
              const i = new StructElementNode(this, e);
              t.set(e, i);
              const c = e.get('P');
              if (!c || (0, r.isName)(c.get('Type'), 'StructTreeRoot')) {
                this.addTopLevelNode(e, i) || t.delete(e);
                return i;
              }
              const l = this.addNode(c, t, a + 1);
              if (!l) return i;
              let h = !1;
              for (const t of l.kids)
                if (t.type === o.ELEMENT && t.dict === e) {
                  t.parentNode = i;
                  h = !0;
                }
              h || t.delete(e);
              return i;
            }
            addTopLevelNode(e, t) {
              const a = this.rootDict.get('K');
              if (!a) return !1;
              if (a instanceof r.Dict) {
                if (a.objId !== e.objId) return !1;
                this.nodes[0] = t;
                return !0;
              }
              if (!Array.isArray(a)) return !0;
              let n = !1;
              for (let r = 0; r < a.length; r++) {
                const i = a[r];
                if (i && i.toString() === e.objId) {
                  this.nodes[r] = t;
                  n = !0;
                }
              }
              return n;
            }
            get serializable() {
              function nodeToSerializable(e, t, a = 0) {
                if (a > s) {
                  (0, n.warn)('StructTree too deep to be fully serialized.');
                  return;
                }
                const r = Object.create(null);
                r.role = e.role;
                r.children = [];
                t.children.push(r);
                const i = e.dict.get('Alt');
                'string' == typeof i && (r.alt = (0, n.stringToPDFString)(i));
                const c = e.dict.get('Lang');
                'string' == typeof c && (r.lang = (0, n.stringToPDFString)(c));
                for (const t of e.kids) {
                  const e = t.type === o.ELEMENT ? t.parentNode : null;
                  e
                    ? nodeToSerializable(e, r, a + 1)
                    : t.type === o.PAGE_CONTENT || t.type === o.STREAM_CONTENT
                    ? r.children.push({ type: 'content', id: `page${t.pageObjId}_mcid${t.mcid}` })
                    : t.type === o.OBJECT && r.children.push({ type: 'object', id: t.refObjId });
                }
              }
              const e = Object.create(null);
              e.children = [];
              e.role = 'Root';
              for (const t of this.nodes) t && nodeToSerializable(t, e);
              return e;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ObjectLoader = void 0;
          var r = a(4),
            n = a(5),
            i = a(3),
            s = a(2);
          function addChildren(e, t) {
            if (e instanceof r.Dict) e = e.getRawValues();
            else if (e instanceof n.BaseStream) e = e.dict.getRawValues();
            else if (!Array.isArray(e)) return;
            for (const i of e)
              ((a = i) instanceof r.Ref || a instanceof r.Dict || a instanceof n.BaseStream || Array.isArray(a)) &&
                t.push(i);
            var a;
          }
          t.ObjectLoader = class ObjectLoader {
            constructor(e, t, a) {
              this.dict = e;
              this.keys = t;
              this.xref = a;
              this.refSet = null;
            }
            async load() {
              if (this.xref.stream.isDataLoaded) return;
              const { keys: e, dict: t } = this;
              this.refSet = new r.RefSet();
              const a = [];
              for (const r of e) {
                const e = t.getRaw(r);
                void 0 !== e && a.push(e);
              }
              return this._walk(a);
            }
            async _walk(e) {
              const t = [],
                a = [];
              for (; e.length; ) {
                let o = e.pop();
                if (o instanceof r.Ref) {
                  if (this.refSet.has(o)) continue;
                  try {
                    this.refSet.put(o);
                    o = this.xref.fetch(o);
                  } catch (e) {
                    if (!(e instanceof i.MissingDataException)) {
                      (0, s.warn)(`ObjectLoader._walk - requesting all data: "${e}".`);
                      this.refSet = null;
                      const { manager: t } = this.xref.stream;
                      return t.requestAllChunks();
                    }
                    t.push(o);
                    a.push({ begin: e.begin, end: e.end });
                  }
                }
                if (o instanceof n.BaseStream) {
                  const e = o.getBaseStreams();
                  if (e) {
                    let r = !1;
                    for (const t of e)
                      if (!t.isDataLoaded) {
                        r = !0;
                        a.push({ begin: t.start, end: t.end });
                      }
                    r && t.push(o);
                  }
                }
                addChildren(o, e);
              }
              if (a.length) {
                await this.xref.stream.manager.requestRanges(a);
                for (const e of t) e instanceof r.Ref && this.refSet.remove(e);
                return this._walk(t);
              }
              this.refSet = null;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XFAFactory = void 0;
          var r = a(75),
            n = a(79),
            i = a(85),
            s = a(83),
            o = a(76),
            c = a(2),
            l = a(86),
            h = a(96);
          class XFAFactory {
            constructor(e) {
              try {
                this.root = new l.XFAParser().parse(XFAFactory._createDocument(e));
                const t = new n.Binder(this.root);
                this.form = t.bind();
                this.dataHandler = new i.DataHandler(this.root, t.getData());
                this.form[r.$globalData].template = this.form;
              } catch (e) {
                (0, c.warn)(`XFA - an error occurred during parsing and binding: ${e}`);
              }
            }
            isValid() {
              return this.root && this.form;
            }
            _createPagesHelper() {
              const e = this.form[r.$toPages]();
              return new Promise((t, a) => {
                const nextIteration = () => {
                  try {
                    const a = e.next();
                    a.done ? t(a.value) : setTimeout(nextIteration, 0);
                  } catch (e) {
                    a(e);
                  }
                };
                setTimeout(nextIteration, 0);
              });
            }
            async _createPages() {
              try {
                this.pages = await this._createPagesHelper();
                this.dims = this.pages.children.map((e) => {
                  const { width: t, height: a } = e.attributes.style;
                  return [0, 0, parseInt(t), parseInt(a)];
                });
              } catch (e) {
                (0, c.warn)(`XFA - an error occurred during layout: ${e}`);
              }
            }
            getBoundingBox(e) {
              return this.dims[e];
            }
            async getNumPages() {
              this.pages || (await this._createPages());
              return this.dims.length;
            }
            setImages(e) {
              this.form[r.$globalData].images = e;
            }
            setFonts(e) {
              this.form[r.$globalData].fontFinder = new s.FontFinder(e);
              const t = [];
              for (let e of this.form[r.$globalData].usedTypefaces) {
                e = (0, o.stripQuotes)(e);
                this.form[r.$globalData].fontFinder.find(e) || t.push(e);
              }
              return t.length > 0 ? t : null;
            }
            appendFonts(e, t) {
              this.form[r.$globalData].fontFinder.add(e, t);
            }
            async getPages() {
              this.pages || (await this._createPages());
              const e = this.pages;
              this.pages = null;
              return e;
            }
            serializeData(e) {
              return this.dataHandler.serialize(e);
            }
            static _createDocument(e) {
              return e['/xdp:xdp'] ? Object.values(e).join('') : e['xdp:xdp'];
            }
            static getRichTextAsHtml(e) {
              if (!e || 'string' != typeof e) return null;
              try {
                let t = new l.XFAParser(h.XhtmlNamespace, !0).parse(e);
                if (!['body', 'xhtml'].includes(t[r.$nodeName])) {
                  const e = h.XhtmlNamespace.body({});
                  e[r.$appendChild](t);
                  t = e;
                }
                const a = t[r.$toHTML]();
                if (!a.success) return null;
                const { html: n } = a,
                  { attributes: i } = n;
                if (i) {
                  i.class && (i.class = i.class.filter((e) => !e.startsWith('xfa')));
                  i.dir = 'auto';
                }
                return { html: n, str: t[r.$text]() };
              } catch (e) {
                (0, c.warn)(`XFA - an error occurred during parsing of rich text: ${e}`);
              }
              return null;
            }
          }
          t.XFAFactory = XFAFactory;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XmlObject =
            t.XFAObjectArray =
            t.XFAObject =
            t.XFAAttribute =
            t.StringObject =
            t.OptionObject =
            t.Option10 =
            t.Option01 =
            t.IntegerObject =
            t.ContentObject =
            t.$uid =
            t.$toStyle =
            t.$toString =
            t.$toPages =
            t.$toHTML =
            t.$text =
            t.$tabIndex =
            t.$setValue =
            t.$setSetAttributes =
            t.$setId =
            t.$searchNode =
            t.$root =
            t.$resolvePrototypes =
            t.$removeChild =
            t.$pushPara =
            t.$pushGlyphs =
            t.$popPara =
            t.$onText =
            t.$onChildCheck =
            t.$onChild =
            t.$nsAttributes =
            t.$nodeName =
            t.$namespaceId =
            t.$isUsable =
            t.$isTransparent =
            t.$isThereMoreWidth =
            t.$isSplittable =
            t.$isNsAgnostic =
            t.$isDescendent =
            t.$isDataValue =
            t.$isCDATAXml =
            t.$isBindable =
            t.$insertAt =
            t.$indexOf =
            t.$ids =
            t.$hasSettableValue =
            t.$globalData =
            t.$getTemplateRoot =
            t.$getSubformParent =
            t.$getRealChildrenByNameIt =
            t.$getParent =
            t.$getNextPage =
            t.$getExtra =
            t.$getDataValue =
            t.$getContainedChildren =
            t.$getChildrenByNameIt =
            t.$getChildrenByName =
            t.$getChildrenByClass =
            t.$getChildren =
            t.$getAvailableSpace =
            t.$getAttributes =
            t.$getAttributeIt =
            t.$flushHTML =
            t.$finalize =
            t.$extra =
            t.$dump =
            t.$data =
            t.$content =
            t.$consumed =
            t.$clone =
            t.$cleanup =
            t.$cleanPage =
            t.$clean =
            t.$childrenToHTML =
            t.$appendChild =
            t.$addHTML =
            t.$acceptWhitespace =
              void 0;
          var r = a(76),
            n = a(2),
            i = a(3),
            s = a(77),
            o = a(78);
          const c = Symbol();
          t.$acceptWhitespace = c;
          const l = Symbol();
          t.$addHTML = l;
          const h = Symbol();
          t.$appendChild = h;
          const u = Symbol();
          t.$childrenToHTML = u;
          const d = Symbol();
          t.$clean = d;
          const f = Symbol();
          t.$cleanPage = f;
          const g = Symbol();
          t.$cleanup = g;
          const p = Symbol();
          t.$clone = p;
          const m = Symbol();
          t.$consumed = m;
          const b = Symbol('content');
          t.$content = b;
          const y = Symbol('data');
          t.$data = y;
          const w = Symbol();
          t.$dump = w;
          const S = Symbol('extra');
          t.$extra = S;
          const x = Symbol();
          t.$finalize = x;
          const C = Symbol();
          t.$flushHTML = C;
          const k = Symbol();
          t.$getAttributeIt = k;
          const v = Symbol();
          t.$getAttributes = v;
          const F = Symbol();
          t.$getAvailableSpace = F;
          const O = Symbol();
          t.$getChildrenByClass = O;
          const T = Symbol();
          t.$getChildrenByName = T;
          const M = Symbol();
          t.$getChildrenByNameIt = M;
          const E = Symbol();
          t.$getDataValue = E;
          const D = Symbol();
          t.$getExtra = D;
          const N = Symbol();
          t.$getRealChildrenByNameIt = N;
          const R = Symbol();
          t.$getChildren = R;
          const L = Symbol();
          t.$getContainedChildren = L;
          const j = Symbol();
          t.$getNextPage = j;
          const $ = Symbol();
          t.$getSubformParent = $;
          const _ = Symbol();
          t.$getParent = _;
          const U = Symbol();
          t.$getTemplateRoot = U;
          const X = Symbol();
          t.$globalData = X;
          const H = Symbol();
          t.$hasSettableValue = H;
          const q = Symbol();
          t.$ids = q;
          const z = Symbol();
          t.$indexOf = z;
          const W = Symbol();
          t.$insertAt = W;
          const G = Symbol();
          t.$isCDATAXml = G;
          const V = Symbol();
          t.$isBindable = V;
          const K = Symbol();
          t.$isDataValue = K;
          const J = Symbol();
          t.$isDescendent = J;
          const Y = Symbol();
          t.$isNsAgnostic = Y;
          const Z = Symbol();
          t.$isSplittable = Z;
          const Q = Symbol();
          t.$isThereMoreWidth = Q;
          const ee = Symbol();
          t.$isTransparent = ee;
          const te = Symbol();
          t.$isUsable = te;
          const ae = Symbol(),
            re = Symbol('namespaceId');
          t.$namespaceId = re;
          const ne = Symbol('nodeName');
          t.$nodeName = ne;
          const ie = Symbol();
          t.$nsAttributes = ie;
          const se = Symbol();
          t.$onChild = se;
          const oe = Symbol();
          t.$onChildCheck = oe;
          const ce = Symbol();
          t.$onText = ce;
          const le = Symbol();
          t.$pushGlyphs = le;
          const he = Symbol();
          t.$popPara = he;
          const ue = Symbol();
          t.$pushPara = ue;
          const de = Symbol();
          t.$removeChild = de;
          const fe = Symbol('root');
          t.$root = fe;
          const ge = Symbol();
          t.$resolvePrototypes = ge;
          const pe = Symbol();
          t.$searchNode = pe;
          const me = Symbol();
          t.$setId = me;
          const be = Symbol();
          t.$setSetAttributes = be;
          const ye = Symbol();
          t.$setValue = ye;
          const we = Symbol();
          t.$tabIndex = we;
          const Se = Symbol();
          t.$text = Se;
          const xe = Symbol();
          t.$toPages = xe;
          const Ae = Symbol();
          t.$toHTML = Ae;
          const Ce = Symbol();
          t.$toString = Ce;
          const ke = Symbol();
          t.$toStyle = ke;
          const ve = Symbol('uid');
          t.$uid = ve;
          const Fe = Symbol(),
            Oe = Symbol(),
            Te = Symbol(),
            Ie = Symbol('_children'),
            Me = Symbol(),
            Pe = Symbol(),
            Ee = Symbol(),
            De = Symbol(),
            Ne = Symbol(),
            Be = Symbol(),
            Re = Symbol(),
            Le = Symbol(),
            je = Symbol(),
            $e = Symbol('parent'),
            _e = Symbol(),
            Ue = Symbol(),
            Xe = Symbol();
          let He = 0;
          const qe = s.NamespaceIds.datasets.id;
          class XFAObject {
            constructor(e, t, a = !1) {
              this[re] = e;
              this[ne] = t;
              this[Re] = a;
              this[$e] = null;
              this[Ie] = [];
              this[ve] = `${t}${He++}`;
              this[X] = null;
            }
            [se](e) {
              if (!this[Re] || !this[oe](e)) return !1;
              const t = e[ne],
                a = this[t];
              if (!(a instanceof XFAObjectArray)) {
                null !== a && this[de](a);
                this[t] = e;
                this[h](e);
                return !0;
              }
              if (a.push(e)) {
                this[h](e);
                return !0;
              }
              let r = '';
              this.id ? (r = ` (id: ${this.id})`) : this.name && (r = ` (name: ${this.name} ${this.h.value})`);
              (0, n.warn)(`XFA - node "${this[ne]}"${r} has already enough "${t}"!`);
              return !1;
            }
            [oe](e) {
              return this.hasOwnProperty(e[ne]) && e[re] === this[re];
            }
            [Y]() {
              return !1;
            }
            [c]() {
              return !1;
            }
            [G]() {
              return !1;
            }
            [V]() {
              return !1;
            }
            [he]() {
              this.para && this[U]()[S].paraStack.pop();
            }
            [ue]() {
              this[U]()[S].paraStack.push(this.para);
            }
            [me](e) {
              this.id && this[re] === s.NamespaceIds.template.id && e.set(this.id, this);
            }
            [U]() {
              return this[X].template;
            }
            [Z]() {
              return !1;
            }
            [Q]() {
              return !1;
            }
            [h](e) {
              e[$e] = this;
              this[Ie].push(e);
              !e[X] && this[X] && (e[X] = this[X]);
            }
            [de](e) {
              const t = this[Ie].indexOf(e);
              this[Ie].splice(t, 1);
            }
            [H]() {
              return this.hasOwnProperty('value');
            }
            [ye](e) {}
            [ce](e) {}
            [x]() {}
            [d](e) {
              delete this[Re];
              if (this[g]) {
                e.clean(this[g]);
                delete this[g];
              }
            }
            [z](e) {
              return this[Ie].indexOf(e);
            }
            [W](e, t) {
              t[$e] = this;
              this[Ie].splice(e, 0, t);
              !t[X] && this[X] && (t[X] = this[X]);
            }
            [ee]() {
              return !this.name;
            }
            [ae]() {
              return '';
            }
            [Se]() {
              return 0 === this[Ie].length ? this[b] : this[Ie].map((e) => e[Se]()).join('');
            }
            get [Te]() {
              const e = Object.getPrototypeOf(this);
              if (!e._attributes) {
                const t = (e._attributes = new Set());
                for (const e of Object.getOwnPropertyNames(this)) {
                  if (null === this[e] || this[e] instanceof XFAObject || this[e] instanceof XFAObjectArray) break;
                  t.add(e);
                }
              }
              return (0, n.shadow)(this, Te, e._attributes);
            }
            [J](e) {
              let t = this;
              for (; t; ) {
                if (t === e) return !0;
                t = t[_]();
              }
              return !1;
            }
            [_]() {
              return this[$e];
            }
            [$]() {
              return this[_]();
            }
            [R](e = null) {
              return e ? this[e] : this[Ie];
            }
            [w]() {
              const e = Object.create(null);
              this[b] && (e.$content = this[b]);
              for (const t of Object.getOwnPropertyNames(this)) {
                const a = this[t];
                null !== a &&
                  (a instanceof XFAObject
                    ? (e[t] = a[w]())
                    : a instanceof XFAObjectArray
                    ? a.isEmpty() || (e[t] = a.dump())
                    : (e[t] = a));
              }
              return e;
            }
            [ke]() {
              return null;
            }
            [Ae]() {
              return r.HTMLResult.EMPTY;
            }
            *[L]() {
              for (const e of this[R]()) yield e;
            }
            *[De](e, t) {
              for (const a of this[L]())
                if (!e || t === e.has(a[ne])) {
                  const e = this[F](),
                    t = a[Ae](e);
                  t.success || (this[S].failingNode = a);
                  yield t;
                }
            }
            [C]() {
              return null;
            }
            [l](e, t) {
              this[S].children.push(e);
            }
            [F]() {}
            [u]({ filter: e = null, include: t = !0 }) {
              if (this[S].generator) {
                const e = this[F](),
                  t = this[S].failingNode[Ae](e);
                if (!t.success) return t;
                t.html && this[l](t.html, t.bbox);
                delete this[S].failingNode;
              } else this[S].generator = this[De](e, t);
              for (;;) {
                const e = this[S].generator.next();
                if (e.done) break;
                const t = e.value;
                if (!t.success) return t;
                t.html && this[l](t.html, t.bbox);
              }
              this[S].generator = null;
              return r.HTMLResult.EMPTY;
            }
            [be](e) {
              this[Ue] = new Set(Object.keys(e));
            }
            [Be](e) {
              const t = this[Te],
                a = this[Ue];
              return [...e].filter((e) => t.has(e) && !a.has(e));
            }
            [ge](e, t = new Set()) {
              for (const a of this[Ie]) a[_e](e, t);
            }
            [_e](e, t) {
              const a = this[Ne](e, t);
              a ? this[Fe](a, e, t) : this[ge](e, t);
            }
            [Ne](e, t) {
              const { use: a, usehref: r } = this;
              if (!a && !r) return null;
              let i = null,
                s = null,
                c = null,
                l = a;
              if (r) {
                l = r;
                r.startsWith('#som(') && r.endsWith(')')
                  ? (s = r.slice('#som('.length, r.length - 1))
                  : r.startsWith('.#som(') && r.endsWith(')')
                  ? (s = r.slice('.#som('.length, r.length - 1))
                  : r.startsWith('#')
                  ? (c = r.slice(1))
                  : r.startsWith('.#') && (c = r.slice(2));
              } else a.startsWith('#') ? (c = a.slice(1)) : (s = a);
              this.use = this.usehref = '';
              if (c) i = e.get(c);
              else {
                i = (0, o.searchNode)(e.get(fe), this, s, !0, !1);
                i && (i = i[0]);
              }
              if (!i) {
                (0, n.warn)(`XFA - Invalid prototype reference: ${l}.`);
                return null;
              }
              if (i[ne] !== this[ne]) {
                (0, n.warn)(`XFA - Incompatible prototype: ${i[ne]} !== ${this[ne]}.`);
                return null;
              }
              if (t.has(i)) {
                (0, n.warn)('XFA - Cycle detected in prototypes use.');
                return null;
              }
              t.add(i);
              const h = i[Ne](e, t);
              h && i[Fe](h, e, t);
              i[ge](e, t);
              t.delete(i);
              return i;
            }
            [Fe](e, t, a) {
              if (a.has(e)) {
                (0, n.warn)('XFA - Cycle detected in prototypes use.');
                return;
              }
              !this[b] && e[b] && (this[b] = e[b]);
              new Set(a).add(e);
              for (const t of this[Be](e[Ue])) {
                this[t] = e[t];
                this[Ue] && this[Ue].add(t);
              }
              for (const r of Object.getOwnPropertyNames(this)) {
                if (this[Te].has(r)) continue;
                const n = this[r],
                  i = e[r];
                if (n instanceof XFAObjectArray) {
                  for (const e of n[Ie]) e[_e](t, a);
                  for (let r = n[Ie].length, s = i[Ie].length; r < s; r++) {
                    const i = e[Ie][r][p]();
                    if (!n.push(i)) break;
                    i[$e] = this;
                    this[Ie].push(i);
                    i[_e](t, a);
                  }
                } else if (null === n) {
                  if (null !== i) {
                    const e = i[p]();
                    e[$e] = this;
                    this[r] = e;
                    this[Ie].push(e);
                    e[_e](t, a);
                  }
                } else {
                  n[ge](t, a);
                  i && n[Fe](i, t, a);
                }
              }
            }
            static [Me](e) {
              return Array.isArray(e)
                ? e.map((e) => XFAObject[Me](e))
                : 'object' == typeof e && null !== e
                ? Object.assign({}, e)
                : e;
            }
            [p]() {
              const e = Object.create(Object.getPrototypeOf(this));
              for (const t of Object.getOwnPropertySymbols(this))
                try {
                  e[t] = this[t];
                } catch (a) {
                  (0, n.shadow)(e, t, this[t]);
                }
              e[ve] = `${e[ne]}${He++}`;
              e[Ie] = [];
              for (const t of Object.getOwnPropertyNames(this)) {
                if (this[Te].has(t)) {
                  e[t] = XFAObject[Me](this[t]);
                  continue;
                }
                const a = this[t];
                e[t] = a instanceof XFAObjectArray ? new XFAObjectArray(a[Le]) : null;
              }
              for (const t of this[Ie]) {
                const a = t[ne],
                  r = t[p]();
                e[Ie].push(r);
                r[$e] = e;
                null === e[a] ? (e[a] = r) : e[a][Ie].push(r);
              }
              return e;
            }
            [R](e = null) {
              return e ? this[Ie].filter((t) => t[ne] === e) : this[Ie];
            }
            [O](e) {
              return this[e];
            }
            [T](e, t, a = !0) {
              return Array.from(this[M](e, t, a));
            }
            *[M](e, t, a = !0) {
              if ('parent' !== e) {
                for (const a of this[Ie]) {
                  a[ne] === e && (yield a);
                  a.name === e && (yield a);
                  (t || a[ee]()) && (yield* a[M](e, t, !1));
                }
                a && this[Te].has(e) && (yield new XFAAttribute(this, e, this[e]));
              } else yield this[$e];
            }
          }
          t.XFAObject = XFAObject;
          class XFAObjectArray {
            constructor(e = 1 / 0) {
              this[Le] = e;
              this[Ie] = [];
            }
            push(e) {
              if (this[Ie].length <= this[Le]) {
                this[Ie].push(e);
                return !0;
              }
              (0, n.warn)(`XFA - node "${e[ne]}" accepts no more than ${this[Le]} children`);
              return !1;
            }
            isEmpty() {
              return 0 === this[Ie].length;
            }
            dump() {
              return 1 === this[Ie].length ? this[Ie][0][w]() : this[Ie].map((e) => e[w]());
            }
            [p]() {
              const e = new XFAObjectArray(this[Le]);
              e[Ie] = this[Ie].map((e) => e[p]());
              return e;
            }
            get children() {
              return this[Ie];
            }
            clear() {
              this[Ie].length = 0;
            }
          }
          t.XFAObjectArray = XFAObjectArray;
          class XFAAttribute {
            constructor(e, t, a) {
              this[$e] = e;
              this[ne] = t;
              this[b] = a;
              this[m] = !1;
              this[ve] = 'attribute' + He++;
            }
            [_]() {
              return this[$e];
            }
            [K]() {
              return !0;
            }
            [E]() {
              return this[b].trim();
            }
            [ye](e) {
              e = e.value || '';
              this[b] = e.toString();
            }
            [Se]() {
              return this[b];
            }
            [J](e) {
              return this[$e] === e || this[$e][J](e);
            }
          }
          t.XFAAttribute = XFAAttribute;
          class XmlObject extends XFAObject {
            constructor(e, t, a = {}) {
              super(e, t);
              this[b] = '';
              this[Pe] = null;
              if ('#text' !== t) {
                const e = new Map();
                this[Oe] = e;
                for (const [t, r] of Object.entries(a)) e.set(t, new XFAAttribute(this, t, r));
                if (a.hasOwnProperty(ie)) {
                  const e = a[ie].xfa.dataNode;
                  void 0 !== e && ('dataGroup' === e ? (this[Pe] = !1) : 'dataValue' === e && (this[Pe] = !0));
                }
              }
              this[m] = !1;
            }
            [Ce](e) {
              const t = this[ne];
              if ('#text' === t) {
                e.push((0, i.encodeToXmlString)(this[b]));
                return;
              }
              const a = (0, n.utf8StringToString)(t),
                r = this[re] === qe ? 'xfa:' : '';
              e.push(`<${r}${a}`);
              for (const [t, a] of this[Oe].entries()) {
                const r = (0, n.utf8StringToString)(t);
                e.push(` ${r}="${(0, i.encodeToXmlString)(a[b])}"`);
              }
              null !== this[Pe] &&
                (this[Pe] ? e.push(' xfa:dataNode="dataValue"') : e.push(' xfa:dataNode="dataGroup"'));
              if (this[b] || 0 !== this[Ie].length) {
                e.push('>');
                if (this[b]) 'string' == typeof this[b] ? e.push((0, i.encodeToXmlString)(this[b])) : this[b][Ce](e);
                else for (const t of this[Ie]) t[Ce](e);
                e.push(`</${r}${a}>`);
              } else e.push('/>');
            }
            [se](e) {
              if (this[b]) {
                const e = new XmlObject(this[re], '#text');
                this[h](e);
                e[b] = this[b];
                this[b] = '';
              }
              this[h](e);
              return !0;
            }
            [ce](e) {
              this[b] += e;
            }
            [x]() {
              if (this[b] && this[Ie].length > 0) {
                const e = new XmlObject(this[re], '#text');
                this[h](e);
                e[b] = this[b];
                delete this[b];
              }
            }
            [Ae]() {
              return '#text' === this[ne]
                ? r.HTMLResult.success({ name: '#text', value: this[b] })
                : r.HTMLResult.EMPTY;
            }
            [R](e = null) {
              return e ? this[Ie].filter((t) => t[ne] === e) : this[Ie];
            }
            [v]() {
              return this[Oe];
            }
            [O](e) {
              const t = this[Oe].get(e);
              return void 0 !== t ? t : this[R](e);
            }
            *[M](e, t) {
              const a = this[Oe].get(e);
              a && (yield a);
              for (const a of this[Ie]) {
                a[ne] === e && (yield a);
                t && (yield* a[M](e, t));
              }
            }
            *[k](e, t) {
              const a = this[Oe].get(e);
              !a || (t && a[m]) || (yield a);
              for (const a of this[Ie]) yield* a[k](e, t);
            }
            *[N](e, t, a) {
              for (const r of this[Ie]) {
                r[ne] !== e || (a && r[m]) || (yield r);
                t && (yield* r[N](e, t, a));
              }
            }
            [K]() {
              return null === this[Pe]
                ? 0 === this[Ie].length || this[Ie][0][re] === s.NamespaceIds.xhtml.id
                : this[Pe];
            }
            [E]() {
              return null === this[Pe]
                ? 0 === this[Ie].length
                  ? this[b].trim()
                  : this[Ie][0][re] === s.NamespaceIds.xhtml.id
                  ? this[Ie][0][Se]().trim()
                  : null
                : this[b].trim();
            }
            [ye](e) {
              e = e.value || '';
              this[b] = e.toString();
            }
            [w](e = !1) {
              const t = Object.create(null);
              e && (t.$ns = this[re]);
              this[b] && (t.$content = this[b]);
              t.$name = this[ne];
              t.children = [];
              for (const a of this[Ie]) t.children.push(a[w](e));
              t.attributes = Object.create(null);
              for (const [e, a] of this[Oe]) t.attributes[e] = a[b];
              return t;
            }
          }
          t.XmlObject = XmlObject;
          class ContentObject extends XFAObject {
            constructor(e, t) {
              super(e, t);
              this[b] = '';
            }
            [ce](e) {
              this[b] += e;
            }
            [x]() {}
          }
          t.ContentObject = ContentObject;
          t.OptionObject = class OptionObject extends ContentObject {
            constructor(e, t, a) {
              super(e, t);
              this[je] = a;
            }
            [x]() {
              this[b] = (0, r.getKeyword)({
                data: this[b],
                defaultValue: this[je][0],
                validate: (e) => this[je].includes(e),
              });
            }
            [d](e) {
              super[d](e);
              delete this[je];
            }
          };
          t.StringObject = class StringObject extends ContentObject {
            [x]() {
              this[b] = this[b].trim();
            }
          };
          class IntegerObject extends ContentObject {
            constructor(e, t, a, r) {
              super(e, t);
              this[Ee] = a;
              this[Xe] = r;
            }
            [x]() {
              this[b] = (0, r.getInteger)({ data: this[b], defaultValue: this[Ee], validate: this[Xe] });
            }
            [d](e) {
              super[d](e);
              delete this[Ee];
              delete this[Xe];
            }
          }
          t.IntegerObject = IntegerObject;
          t.Option01 = class Option01 extends IntegerObject {
            constructor(e, t) {
              super(e, t, 0, (e) => 1 === e);
            }
          };
          t.Option10 = class Option10 extends IntegerObject {
            constructor(e, t) {
              super(e, t, 1, (e) => 0 === e);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.HTMLResult = void 0;
          t.getBBox = function getBBox(e) {
            const t = -1;
            if (!e) return { x: t, y: t, width: t, height: t };
            const a = e
              .trim()
              .split(/\s*,\s*/)
              .map((e) => getMeasurement(e, '-1'));
            if (a.length < 4 || a[2] < 0 || a[3] < 0) return { x: t, y: t, width: t, height: t };
            const [r, n, i, s] = a;
            return { x: r, y: n, width: i, height: s };
          };
          t.getColor = function getColor(e, t = [0, 0, 0]) {
            let [a, r, n] = t;
            if (!e) return { r: a, g: r, b: n };
            const i = e
              .trim()
              .split(/\s*,\s*/)
              .map((e) => Math.min(Math.max(0, parseInt(e.trim(), 10)), 255))
              .map((e) => (isNaN(e) ? 0 : e));
            if (i.length < 3) return { r: a, g: r, b: n };
            [a, r, n] = i;
            return { r: a, g: r, b: n };
          };
          t.getFloat = function getFloat({ data: e, defaultValue: t, validate: a }) {
            if (!e) return t;
            e = e.trim();
            const r = parseFloat(e);
            if (!isNaN(r) && a(r)) return r;
            return t;
          };
          t.getInteger = function getInteger({ data: e, defaultValue: t, validate: a }) {
            if (!e) return t;
            e = e.trim();
            const r = parseInt(e, 10);
            if (!isNaN(r) && a(r)) return r;
            return t;
          };
          t.getKeyword = getKeyword;
          t.getMeasurement = getMeasurement;
          t.getRatio = function getRatio(e) {
            if (!e) return { num: 1, den: 1 };
            const t = e
              .trim()
              .split(/\s*:\s*/)
              .map((e) => parseFloat(e))
              .filter((e) => !isNaN(e));
            1 === t.length && t.push(1);
            if (0 === t.length) return { num: 1, den: 1 };
            const [a, r] = t;
            return { num: a, den: r };
          };
          t.getRelevant = function getRelevant(e) {
            if (!e) return [];
            return e
              .trim()
              .split(/\s+/)
              .map((e) => ({ excluded: '-' === e[0], viewname: e.substring(1) }));
          };
          t.getStringOption = function getStringOption(e, t) {
            return getKeyword({ data: e, defaultValue: t[0], validate: (e) => t.includes(e) });
          };
          t.stripQuotes = function stripQuotes(e) {
            if (e.startsWith("'") || e.startsWith('"')) return e.slice(1, e.length - 1);
            return e;
          };
          var r = a(2);
          const n = {
              pt: (e) => e,
              cm: (e) => (e / 2.54) * 72,
              mm: (e) => (e / 25.4) * 72,
              in: (e) => 72 * e,
              px: (e) => e,
            },
            i = /([+-]?\d+\.?\d*)(.*)/;
          function getKeyword({ data: e, defaultValue: t, validate: a }) {
            return e && a((e = e.trim())) ? e : t;
          }
          function getMeasurement(e, t = '0') {
            t = t || '0';
            if (!e) return getMeasurement(t);
            const a = e.trim().match(i);
            if (!a) return getMeasurement(t);
            const [, r, s] = a,
              o = parseFloat(r);
            if (isNaN(o)) return getMeasurement(t);
            if (0 === o) return 0;
            const c = n[s];
            return c ? c(o) : o;
          }
          class HTMLResult {
            static get FAILURE() {
              return (0, r.shadow)(this, 'FAILURE', new HTMLResult(!1, null, null, null));
            }
            static get EMPTY() {
              return (0, r.shadow)(this, 'EMPTY', new HTMLResult(!0, null, null, null));
            }
            constructor(e, t, a, r) {
              this.success = e;
              this.html = t;
              this.bbox = a;
              this.breakNode = r;
            }
            isBreak() {
              return !!this.breakNode;
            }
            static breakNode(e) {
              return new HTMLResult(!1, null, null, e);
            }
            static success(e, t = null) {
              return new HTMLResult(!0, e, t, null);
            }
          }
          t.HTMLResult = HTMLResult;
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.NamespaceIds = t.$buildXFAObject = void 0;
          const a = Symbol();
          t.$buildXFAObject = a;
          t.NamespaceIds = {
            config: { id: 0, check: (e) => e.startsWith('http://www.xfa.org/schema/xci/') },
            connectionSet: { id: 1, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-connection-set/') },
            datasets: { id: 2, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-data/') },
            form: { id: 3, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-form/') },
            localeSet: { id: 4, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-locale-set/') },
            pdf: { id: 5, check: (e) => 'http://ns.adobe.com/xdp/pdf/' === e },
            signature: { id: 6, check: (e) => 'http://www.w3.org/2000/09/xmldsig#' === e },
            sourceSet: { id: 7, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-source-set/') },
            stylesheet: { id: 8, check: (e) => 'http://www.w3.org/1999/XSL/Transform' === e },
            template: { id: 9, check: (e) => e.startsWith('http://www.xfa.org/schema/xfa-template/') },
            xdc: { id: 10, check: (e) => e.startsWith('http://www.xfa.org/schema/xdc/') },
            xdp: { id: 11, check: (e) => 'http://ns.adobe.com/xdp/' === e },
            xfdf: { id: 12, check: (e) => 'http://ns.adobe.com/xfdf/' === e },
            xhtml: { id: 13, check: (e) => 'http://www.w3.org/1999/xhtml' === e },
            xmpmeta: { id: 14, check: (e) => 'http://ns.adobe.com/xmpmeta/' === e },
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.createDataNode = function createDataNode(e, t, a) {
            const n = parseExpression(a);
            if (!n) return null;
            if (n.some((e) => e.operator === c.dotDot)) return null;
            const s = l.get(n[0].name);
            let o = 0;
            if (s) {
              e = s(e, t);
              o = 1;
            } else e = t || e;
            for (let t = n.length; o < t; o++) {
              const { name: t, operator: a, index: s } = n[o];
              if (!isFinite(s)) {
                n[o].index = 0;
                return createNodes(e, n.slice(o));
              }
              let l;
              switch (a) {
                case c.dot:
                  l = e[r.$getChildrenByName](t, !1);
                  break;
                case c.dotDot:
                  l = e[r.$getChildrenByName](t, !0);
                  break;
                case c.dotHash:
                  l = e[r.$getChildrenByClass](t);
                  l = l instanceof r.XFAObjectArray ? l.children : [l];
              }
              if (0 === l.length) return createNodes(e, n.slice(o));
              if (!(s < l.length)) {
                n[o].index = s - l.length;
                return createNodes(e, n.slice(o));
              }
              {
                const t = l[s];
                if (!(t instanceof r.XFAObject)) {
                  (0, i.warn)('XFA - Cannot create a node.');
                  return null;
                }
                e = t;
              }
            }
            return null;
          };
          t.searchNode = function searchNode(e, t, a, n = !0, i = !0) {
            const s = parseExpression(a, n);
            if (!s) return null;
            const o = l.get(s[0].name);
            let u,
              d = 0;
            if (o) {
              u = !0;
              e = [o(e, t)];
              d = 1;
            } else {
              u = null === t;
              e = [t || e];
            }
            for (let a = s.length; d < a; d++) {
              const { name: a, cacheName: n, operator: o, index: l } = s[d],
                f = [];
              for (const t of e) {
                if (!(t instanceof r.XFAObject)) continue;
                let e, s;
                if (i) {
                  s = h.get(t);
                  if (!s) {
                    s = new Map();
                    h.set(t, s);
                  }
                  e = s.get(n);
                }
                if (!e) {
                  switch (o) {
                    case c.dot:
                      e = t[r.$getChildrenByName](a, !1);
                      break;
                    case c.dotDot:
                      e = t[r.$getChildrenByName](a, !0);
                      break;
                    case c.dotHash:
                      e = t[r.$getChildrenByClass](a);
                      e = e instanceof r.XFAObjectArray ? e.children : [e];
                  }
                  i && s.set(n, e);
                }
                e.length > 0 && f.push(e);
              }
              if (0 !== f.length || u || 0 !== d)
                e = isFinite(l) ? f.filter((e) => l < e.length).map((e) => e[l]) : f.flat();
              else {
                const a = t[r.$getParent]();
                if (!(t = a)) return null;
                d = -1;
                e = [t];
              }
            }
            if (0 === e.length) return null;
            return e;
          };
          var r = a(75),
            n = a(77),
            i = a(2);
          const s = /^[^.[]+/,
            o = /^[^\]]+/,
            c = { dot: 0, dotDot: 1, dotHash: 2, dotBracket: 3, dotParen: 4 },
            l = new Map([
              ['$data', (e, t) => (e.datasets ? e.datasets.data : e)],
              ['$record', (e, t) => (e.datasets ? e.datasets.data : e)[r.$getChildren]()[0]],
              ['$template', (e, t) => e.template],
              ['$connectionSet', (e, t) => e.connectionSet],
              ['$form', (e, t) => e.form],
              ['$layout', (e, t) => e.layout],
              ['$host', (e, t) => e.host],
              ['$dataWindow', (e, t) => e.dataWindow],
              ['$event', (e, t) => e.event],
              ['!', (e, t) => e.datasets],
              ['$xfa', (e, t) => e],
              ['xfa', (e, t) => e],
              ['$', (e, t) => t],
            ]),
            h = new WeakMap(),
            u = n.NamespaceIds.datasets.id;
          function parseExpression(e, t, a = !0) {
            let r = e.match(s);
            if (!r) return null;
            let [n] = r;
            const l = [{ name: n, cacheName: '.' + n, index: 0, js: null, formCalc: null, operator: c.dot }];
            let h = n.length;
            for (; h < e.length; ) {
              const d = h;
              if ('[' === e.charAt(h++)) {
                r = e.slice(h).match(o);
                if (!r) {
                  (0, i.warn)('XFA - Invalid index in SOM expression');
                  return null;
                }
                l.at(-1).index = '*' === (u = (u = r[0]).trim()) ? 1 / 0 : parseInt(u, 10) || 0;
                h += r[0].length + 1;
                continue;
              }
              let f;
              switch (e.charAt(h)) {
                case '.':
                  if (!t) return null;
                  h++;
                  f = c.dotDot;
                  break;
                case '#':
                  h++;
                  f = c.dotHash;
                  break;
                case '[':
                  if (a) {
                    (0, i.warn)(
                      'XFA - SOM expression contains a FormCalc subexpression which is not supported for now.'
                    );
                    return null;
                  }
                  f = c.dotBracket;
                  break;
                case '(':
                  if (a) {
                    (0, i.warn)(
                      'XFA - SOM expression contains a JavaScript subexpression which is not supported for now.'
                    );
                    return null;
                  }
                  f = c.dotParen;
                  break;
                default:
                  f = c.dot;
              }
              r = e.slice(h).match(s);
              if (!r) break;
              [n] = r;
              h += n.length;
              l.push({ name: n, cacheName: e.slice(d, h), operator: f, index: 0, js: null, formCalc: null });
            }
            var u;
            return l;
          }
          function createNodes(e, t) {
            let a = null;
            for (const { name: n, index: i } of t) {
              for (let t = 0, s = isFinite(i) ? i : 0; t <= s; t++) {
                const t = e[r.$namespaceId] === u ? -1 : e[r.$namespaceId];
                a = new r.XmlObject(t, n);
                e[r.$appendChild](a);
              }
              e = a;
            }
            return a;
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Binder = void 0;
          var r = a(75),
            n = a(80),
            i = a(78),
            s = a(77),
            o = a(2);
          const c = s.NamespaceIds.datasets.id;
          function createText(e) {
            const t = new n.Text({});
            t[r.$content] = e;
            return t;
          }
          t.Binder = class Binder {
            constructor(e) {
              this.root = e;
              this.datasets = e.datasets;
              e.datasets && e.datasets.data
                ? (this.data = e.datasets.data)
                : (this.data = new r.XmlObject(s.NamespaceIds.datasets.id, 'data'));
              this.emptyMerge = 0 === this.data[r.$getChildren]().length;
              this.root.form = this.form = e.template[r.$clone]();
            }
            _isConsumeData() {
              return !this.emptyMerge && this._mergeMode;
            }
            _isMatchTemplate() {
              return !this._isConsumeData();
            }
            bind() {
              this._bindElement(this.form, this.data);
              return this.form;
            }
            getData() {
              return this.data;
            }
            _bindValue(e, t, a) {
              e[r.$data] = t;
              if (e[r.$hasSettableValue]())
                if (t[r.$isDataValue]()) {
                  const a = t[r.$getDataValue]();
                  e[r.$setValue](createText(a));
                } else if (e instanceof n.Field && e.ui && e.ui.choiceList && 'multiSelect' === e.ui.choiceList.open) {
                  const a = t[r.$getChildren]()
                    .map((e) => e[r.$content].trim())
                    .join('\n');
                  e[r.$setValue](createText(a));
                } else this._isConsumeData() && (0, o.warn)("XFA - Nodes haven't the same type.");
              else
                !t[r.$isDataValue]() || this._isMatchTemplate()
                  ? this._bindElement(e, t)
                  : (0, o.warn)("XFA - Nodes haven't the same type.");
            }
            _findDataByNameToConsume(e, t, a, n) {
              if (!e) return null;
              let i, o;
              for (let n = 0; n < 3; n++) {
                i = a[r.$getRealChildrenByNameIt](e, !1, !0);
                for (;;) {
                  o = i.next().value;
                  if (!o) break;
                  if (t === o[r.$isDataValue]()) return o;
                }
                if (a[r.$namespaceId] === s.NamespaceIds.datasets.id && 'data' === a[r.$nodeName]) break;
                a = a[r.$getParent]();
              }
              if (!n) return null;
              i = this.data[r.$getRealChildrenByNameIt](e, !0, !1);
              o = i.next().value;
              if (o) return o;
              i = this.data[r.$getAttributeIt](e, !0);
              o = i.next().value;
              return o && o[r.$isDataValue]() ? o : null;
            }
            _setProperties(e, t) {
              if (e.hasOwnProperty('setProperty'))
                for (const { ref: a, target: s, connection: c } of e.setProperty.children) {
                  if (c) continue;
                  if (!a) continue;
                  const l = (0, i.searchNode)(this.root, t, a, !1, !1);
                  if (!l) {
                    (0, o.warn)(`XFA - Invalid reference: ${a}.`);
                    continue;
                  }
                  const [h] = l;
                  if (!h[r.$isDescendent](this.data)) {
                    (0, o.warn)('XFA - Invalid node: must be a data node.');
                    continue;
                  }
                  const u = (0, i.searchNode)(this.root, e, s, !1, !1);
                  if (!u) {
                    (0, o.warn)(`XFA - Invalid target: ${s}.`);
                    continue;
                  }
                  const [d] = u;
                  if (!d[r.$isDescendent](e)) {
                    (0, o.warn)('XFA - Invalid target: must be a property or subproperty.');
                    continue;
                  }
                  const f = d[r.$getParent]();
                  if (d instanceof n.SetProperty || f instanceof n.SetProperty) {
                    (0, o.warn)('XFA - Invalid target: cannot be a setProperty or one of its properties.');
                    continue;
                  }
                  if (d instanceof n.BindItems || f instanceof n.BindItems) {
                    (0, o.warn)('XFA - Invalid target: cannot be a bindItems or one of its properties.');
                    continue;
                  }
                  const g = h[r.$text](),
                    p = d[r.$nodeName];
                  if (d instanceof r.XFAAttribute) {
                    const e = Object.create(null);
                    e[p] = g;
                    const t = Reflect.construct(Object.getPrototypeOf(f).constructor, [e]);
                    f[p] = t[p];
                  } else if (d.hasOwnProperty(r.$content)) {
                    d[r.$data] = h;
                    d[r.$content] = g;
                    d[r.$finalize]();
                  } else (0, o.warn)('XFA - Invalid node to use in setProperty');
                }
            }
            _bindItems(e, t) {
              if (!e.hasOwnProperty('items') || !e.hasOwnProperty('bindItems') || e.bindItems.isEmpty()) return;
              for (const t of e.items.children) e[r.$removeChild](t);
              e.items.clear();
              const a = new n.Items({}),
                s = new n.Items({});
              e[r.$appendChild](a);
              e.items.push(a);
              e[r.$appendChild](s);
              e.items.push(s);
              for (const { ref: n, labelRef: c, valueRef: l, connection: h } of e.bindItems.children) {
                if (h) continue;
                if (!n) continue;
                const e = (0, i.searchNode)(this.root, t, n, !1, !1);
                if (e)
                  for (const t of e) {
                    if (!t[r.$isDescendent](this.datasets)) {
                      (0, o.warn)(`XFA - Invalid ref (${n}): must be a datasets child.`);
                      continue;
                    }
                    const e = (0, i.searchNode)(this.root, t, c, !0, !1);
                    if (!e) {
                      (0, o.warn)(`XFA - Invalid label: ${c}.`);
                      continue;
                    }
                    const [h] = e;
                    if (!h[r.$isDescendent](this.datasets)) {
                      (0, o.warn)('XFA - Invalid label: must be a datasets child.');
                      continue;
                    }
                    const u = (0, i.searchNode)(this.root, t, l, !0, !1);
                    if (!u) {
                      (0, o.warn)(`XFA - Invalid value: ${l}.`);
                      continue;
                    }
                    const [d] = u;
                    if (!d[r.$isDescendent](this.datasets)) {
                      (0, o.warn)('XFA - Invalid value: must be a datasets child.');
                      continue;
                    }
                    const f = createText(h[r.$text]()),
                      g = createText(d[r.$text]());
                    a[r.$appendChild](f);
                    a.text.push(f);
                    s[r.$appendChild](g);
                    s.text.push(g);
                  }
                else (0, o.warn)(`XFA - Invalid reference: ${n}.`);
              }
            }
            _bindOccurrences(e, t, a) {
              let n;
              if (t.length > 1) {
                n = e[r.$clone]();
                n[r.$removeChild](n.occur);
                n.occur = null;
              }
              this._bindValue(e, t[0], a);
              this._setProperties(e, t[0]);
              this._bindItems(e, t[0]);
              if (1 === t.length) return;
              const i = e[r.$getParent](),
                s = e[r.$nodeName],
                o = i[r.$indexOf](e);
              for (let e = 1, c = t.length; e < c; e++) {
                const c = t[e],
                  l = n[r.$clone]();
                i[s].push(l);
                i[r.$insertAt](o + e, l);
                this._bindValue(l, c, a);
                this._setProperties(l, c);
                this._bindItems(l, c);
              }
            }
            _createOccurrences(e) {
              if (!this.emptyMerge) return;
              const { occur: t } = e;
              if (!t || t.initial <= 1) return;
              const a = e[r.$getParent](),
                n = e[r.$nodeName];
              if (!(a[n] instanceof r.XFAObjectArray)) return;
              let i;
              i = e.name ? a[n].children.filter((t) => t.name === e.name).length : a[n].children.length;
              const s = a[r.$indexOf](e) + 1,
                o = t.initial - i;
              if (o) {
                const t = e[r.$clone]();
                t[r.$removeChild](t.occur);
                t.occur = null;
                a[n].push(t);
                a[r.$insertAt](s, t);
                for (let e = 1; e < o; e++) {
                  const i = t[r.$clone]();
                  a[n].push(i);
                  a[r.$insertAt](s + e, i);
                }
              }
            }
            _getOccurInfo(e) {
              const { name: t, occur: a } = e;
              if (!a || !t) return [1, 1];
              const r = -1 === a.max ? 1 / 0 : a.max;
              return [a.min, r];
            }
            _setAndBind(e, t) {
              this._setProperties(e, t);
              this._bindItems(e, t);
              this._bindElement(e, t);
            }
            _bindElement(e, t) {
              const a = [];
              this._createOccurrences(e);
              for (const n of e[r.$getChildren]()) {
                if (n[r.$data]) continue;
                if (void 0 === this._mergeMode && 'subform' === n[r.$nodeName]) {
                  this._mergeMode = 'consumeData' === n.mergeMode;
                  const e = t[r.$getChildren]();
                  if (e.length > 0) this._bindOccurrences(n, [e[0]], null);
                  else if (this.emptyMerge) {
                    const e = t[r.$namespaceId] === c ? -1 : t[r.$namespaceId],
                      a = (n[r.$data] = new r.XmlObject(e, n.name || 'root'));
                    t[r.$appendChild](a);
                    this._bindElement(n, a);
                  }
                  continue;
                }
                if (!n[r.$isBindable]()) continue;
                let e = !1,
                  s = null,
                  l = null,
                  h = null;
                if (n.bind) {
                  switch (n.bind.match) {
                    case 'none':
                      this._setAndBind(n, t);
                      continue;
                    case 'global':
                      e = !0;
                      break;
                    case 'dataRef':
                      if (!n.bind.ref) {
                        (0, o.warn)(`XFA - ref is empty in node ${n[r.$nodeName]}.`);
                        this._setAndBind(n, t);
                        continue;
                      }
                      l = n.bind.ref;
                  }
                  n.bind.picture && (s = n.bind.picture[r.$content]);
                }
                const [u, d] = this._getOccurInfo(n);
                if (l) {
                  h = (0, i.searchNode)(this.root, t, l, !0, !1);
                  if (null === h) {
                    h = (0, i.createDataNode)(this.data, t, l);
                    if (!h) continue;
                    this._isConsumeData() && (h[r.$consumed] = !0);
                    this._setAndBind(n, h);
                    continue;
                  }
                  this._isConsumeData() && (h = h.filter((e) => !e[r.$consumed]));
                  h.length > d ? (h = h.slice(0, d)) : 0 === h.length && (h = null);
                  h &&
                    this._isConsumeData() &&
                    h.forEach((e) => {
                      e[r.$consumed] = !0;
                    });
                } else {
                  if (!n.name) {
                    this._setAndBind(n, t);
                    continue;
                  }
                  if (this._isConsumeData()) {
                    const a = [];
                    for (; a.length < d; ) {
                      const i = this._findDataByNameToConsume(n.name, n[r.$hasSettableValue](), t, e);
                      if (!i) break;
                      i[r.$consumed] = !0;
                      a.push(i);
                    }
                    h = a.length > 0 ? a : null;
                  } else {
                    h = t[r.$getRealChildrenByNameIt](n.name, !1, this.emptyMerge).next().value;
                    if (!h) {
                      if (0 === u) {
                        a.push(n);
                        continue;
                      }
                      const e = t[r.$namespaceId] === c ? -1 : t[r.$namespaceId];
                      h = n[r.$data] = new r.XmlObject(e, n.name);
                      this.emptyMerge && (h[r.$consumed] = !0);
                      t[r.$appendChild](h);
                      this._setAndBind(n, h);
                      continue;
                    }
                    this.emptyMerge && (h[r.$consumed] = !0);
                    h = [h];
                  }
                }
                h ? this._bindOccurrences(n, h, s) : u > 0 ? this._setAndBind(n, t) : a.push(n);
              }
              a.forEach((e) => e[r.$getParent]()[r.$removeChild](e));
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Value =
            t.Text =
            t.TemplateNamespace =
            t.Template =
            t.SetProperty =
            t.Items =
            t.Field =
            t.BindItems =
              void 0;
          var r = a(75),
            n = a(77),
            i = a(81),
            s = a(82),
            o = a(76),
            c = a(2),
            l = a(83),
            h = a(3),
            u = a(78);
          const d = n.NamespaceIds.template.id,
            f = 'http://www.w3.org/2000/svg',
            g = /^H(\d+)$/,
            p = new Set([
              'image/gif',
              'image/jpeg',
              'image/jpg',
              'image/pjpeg',
              'image/png',
              'image/apng',
              'image/x-png',
              'image/bmp',
              'image/x-ms-bmp',
              'image/tiff',
              'image/tif',
              'application/octet-stream',
            ]),
            m = [
              [[66, 77], 'image/bmp'],
              [[255, 216, 255], 'image/jpeg'],
              [[73, 73, 42, 0], 'image/tiff'],
              [[77, 77, 0, 42], 'image/tiff'],
              [[71, 73, 70, 56, 57, 97], 'image/gif'],
              [[137, 80, 78, 71, 13, 10, 26, 10], 'image/png'],
            ];
          function getBorderDims(e) {
            if (!e || !e.border) return { w: 0, h: 0 };
            const t = e.border[r.$getExtra]();
            return t
              ? {
                  w: t.widths[0] + t.widths[2] + t.insets[0] + t.insets[2],
                  h: t.widths[1] + t.widths[3] + t.insets[1] + t.insets[3],
                }
              : { w: 0, h: 0 };
          }
          function hasMargin(e) {
            return e.margin && (e.margin.topInset || e.margin.rightInset || e.margin.bottomInset || e.margin.leftInset);
          }
          function _setValue(e, t) {
            if (!e.value) {
              const t = new Value({});
              e[r.$appendChild](t);
              e.value = t;
            }
            e.value[r.$setValue](t);
          }
          function* getContainedChildren(e) {
            for (const t of e[r.$getChildren]())
              t instanceof SubformSet ? yield* t[r.$getContainedChildren]() : yield t;
          }
          function isRequired(e) {
            return e.validate && 'error' === e.validate.nullTest;
          }
          function setTabIndex(e) {
            for (; e; ) {
              if (!e.traversal) {
                e[r.$tabIndex] = e[r.$getParent]()[r.$tabIndex];
                return;
              }
              if (e[r.$tabIndex]) return;
              let t = null;
              for (const a of e.traversal[r.$getChildren]())
                if ('next' === a.operation) {
                  t = a;
                  break;
                }
              if (!t || !t.ref) {
                e[r.$tabIndex] = e[r.$getParent]()[r.$tabIndex];
                return;
              }
              const a = e[r.$getTemplateRoot]();
              e[r.$tabIndex] = ++a[r.$tabIndex];
              const n = a[r.$searchNode](t.ref, e);
              if (!n) return;
              e = n[0];
            }
          }
          function applyAssist(e, t) {
            const a = e.assist;
            if (a) {
              const e = a[r.$toHTML]();
              e && (t.title = e);
              const n = a.role.match(g);
              if (n) {
                const e = 'heading',
                  a = n[1];
                t.role = e;
                t['aria-level'] = a;
              }
            }
            if ('table' === e.layout) t.role = 'table';
            else if ('row' === e.layout) t.role = 'row';
            else {
              const a = e[r.$getParent]();
              'row' === a.layout &&
                (a.assist && 'TH' === a.assist.role ? (t.role = 'columnheader') : (t.role = 'cell'));
            }
          }
          function ariaLabel(e) {
            if (!e.assist) return null;
            const t = e.assist;
            return t.speak && '' !== t.speak[r.$content]
              ? t.speak[r.$content]
              : t.toolTip
              ? t.toolTip[r.$content]
              : null;
          }
          function valueToHtml(e) {
            return o.HTMLResult.success({
              name: 'div',
              attributes: { class: ['xfaRich'], style: Object.create(null) },
              children: [{ name: 'span', attributes: { style: Object.create(null) }, value: e }],
            });
          }
          function setFirstUnsplittable(e) {
            const t = e[r.$getTemplateRoot]();
            if (null === t[r.$extra].firstUnsplittable) {
              t[r.$extra].firstUnsplittable = e;
              t[r.$extra].noLayoutFailure = !0;
            }
          }
          function unsetFirstUnsplittable(e) {
            const t = e[r.$getTemplateRoot]();
            t[r.$extra].firstUnsplittable === e && (t[r.$extra].noLayoutFailure = !1);
          }
          function handleBreak(e) {
            if (e[r.$extra]) return !1;
            e[r.$extra] = Object.create(null);
            if ('auto' === e.targetType) return !1;
            const t = e[r.$getTemplateRoot]();
            let a = null;
            if (e.target) {
              a = t[r.$searchNode](e.target, e[r.$getParent]());
              if (!a) return !1;
              a = a[0];
            }
            const { currentPageArea: n, currentContentArea: i } = t[r.$extra];
            if ('pageArea' === e.targetType) {
              a instanceof PageArea || (a = null);
              if (e.startNew) {
                e[r.$extra].target = a || n;
                return !0;
              }
              if (a && a !== n) {
                e[r.$extra].target = a;
                return !0;
              }
              return !1;
            }
            a instanceof ContentArea || (a = null);
            const s = a && a[r.$getParent]();
            let o,
              c = s;
            if (e.startNew)
              if (a) {
                const e = s.contentArea.children,
                  t = e.indexOf(i),
                  r = e.indexOf(a);
                -1 !== t && t < r && (c = null);
                o = r - 1;
              } else o = n.contentArea.children.indexOf(i);
            else {
              if (!a || a === i) return !1;
              o = s.contentArea.children.indexOf(a) - 1;
              c = s === n ? null : s;
            }
            e[r.$extra].target = c;
            e[r.$extra].index = o;
            return !0;
          }
          function handleOverflow(e, t, a) {
            const n = e[r.$getTemplateRoot](),
              i = n[r.$extra].noLayoutFailure,
              s = t[r.$getSubformParent];
            t[r.$getSubformParent] = () => e;
            n[r.$extra].noLayoutFailure = !0;
            const o = t[r.$toHTML](a);
            e[r.$addHTML](o.html, o.bbox);
            n[r.$extra].noLayoutFailure = i;
            t[r.$getSubformParent] = s;
          }
          class AppearanceFilter extends r.StringObject {
            constructor(e) {
              super(d, 'appearanceFilter');
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Arc extends r.XFAObject {
            constructor(e) {
              super(d, 'arc', !0);
              this.circular = (0, o.getInteger)({ data: e.circular, defaultValue: 0, validate: (e) => 1 === e });
              this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
              this.id = e.id || '';
              this.startAngle = (0, o.getFloat)({ data: e.startAngle, defaultValue: 0, validate: (e) => !0 });
              this.sweepAngle = (0, o.getFloat)({ data: e.sweepAngle, defaultValue: 360, validate: (e) => !0 });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.edge = null;
              this.fill = null;
            }
            [r.$toHTML]() {
              const e = this.edge || new Edge({}),
                t = e[r.$toStyle](),
                a = Object.create(null);
              this.fill && 'visible' === this.fill.presence
                ? Object.assign(a, this.fill[r.$toStyle]())
                : (a.fill = 'transparent');
              a.strokeWidth = (0, s.measureToString)('visible' === e.presence ? e.thickness : 0);
              a.stroke = t.color;
              let n;
              const i = { xmlns: f, style: { width: '100%', height: '100%', overflow: 'visible' } };
              if (360 === this.sweepAngle)
                n = { name: 'ellipse', attributes: { xmlns: f, cx: '50%', cy: '50%', rx: '50%', ry: '50%', style: a } };
              else {
                const e = (this.startAngle * Math.PI) / 180,
                  t = (this.sweepAngle * Math.PI) / 180,
                  r = this.sweepAngle > 180 ? 1 : 0,
                  [s, o, c, l] = [
                    50 * (1 + Math.cos(e)),
                    50 * (1 - Math.sin(e)),
                    50 * (1 + Math.cos(e + t)),
                    50 * (1 - Math.sin(e + t)),
                  ];
                n = {
                  name: 'path',
                  attributes: {
                    xmlns: f,
                    d: `M ${s} ${o} A 50 50 0 ${r} 0 ${c} ${l}`,
                    vectorEffect: 'non-scaling-stroke',
                    style: a,
                  },
                };
                Object.assign(i, { viewBox: '0 0 100 100', preserveAspectRatio: 'none' });
              }
              const c = { name: 'svg', children: [n], attributes: i };
              if (hasMargin(this[r.$getParent]()[r.$getParent]()))
                return o.HTMLResult.success({
                  name: 'div',
                  attributes: { style: { display: 'inline', width: '100%', height: '100%' } },
                  children: [c],
                });
              c.attributes.style.position = 'absolute';
              return o.HTMLResult.success(c);
            }
          }
          class Area extends r.XFAObject {
            constructor(e) {
              super(d, 'area', !0);
              this.colSpan = (0, o.getInteger)({
                data: e.colSpan,
                defaultValue: 1,
                validate: (e) => e >= 1 || -1 === e,
              });
              this.id = e.id || '';
              this.name = e.name || '';
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.x = (0, o.getMeasurement)(e.x, '0pt');
              this.y = (0, o.getMeasurement)(e.y, '0pt');
              this.desc = null;
              this.extras = null;
              this.area = new r.XFAObjectArray();
              this.draw = new r.XFAObjectArray();
              this.exObject = new r.XFAObjectArray();
              this.exclGroup = new r.XFAObjectArray();
              this.field = new r.XFAObjectArray();
              this.subform = new r.XFAObjectArray();
              this.subformSet = new r.XFAObjectArray();
            }
            *[r.$getContainedChildren]() {
              yield* getContainedChildren(this);
            }
            [r.$isTransparent]() {
              return !0;
            }
            [r.$isBindable]() {
              return !0;
            }
            [r.$addHTML](e, t) {
              const [a, n, i, s] = t;
              this[r.$extra].width = Math.max(this[r.$extra].width, a + i);
              this[r.$extra].height = Math.max(this[r.$extra].height, n + s);
              this[r.$extra].children.push(e);
            }
            [r.$getAvailableSpace]() {
              return this[r.$extra].availableSpace;
            }
            [r.$toHTML](e) {
              const t = (0, s.toStyle)(this, 'position'),
                a = { style: t, id: this[r.$uid], class: ['xfaArea'] };
              (0, s.isPrintOnly)(this) && a.class.push('xfaPrintOnly');
              this.name && (a.xfaName = this.name);
              const n = [];
              this[r.$extra] = { children: n, width: 0, height: 0, availableSpace: e };
              const i = this[r.$childrenToHTML]({
                filter: new Set(['area', 'draw', 'field', 'exclGroup', 'subform', 'subformSet']),
                include: !0,
              });
              if (!i.success) {
                if (i.isBreak()) return i;
                delete this[r.$extra];
                return o.HTMLResult.FAILURE;
              }
              t.width = (0, s.measureToString)(this[r.$extra].width);
              t.height = (0, s.measureToString)(this[r.$extra].height);
              const c = { name: 'div', attributes: a, children: n },
                l = [this.x, this.y, this[r.$extra].width, this[r.$extra].height];
              delete this[r.$extra];
              return o.HTMLResult.success(c, l);
            }
          }
          class Assist extends r.XFAObject {
            constructor(e) {
              super(d, 'assist', !0);
              this.id = e.id || '';
              this.role = e.role || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.speak = null;
              this.toolTip = null;
            }
            [r.$toHTML]() {
              return this.toolTip && this.toolTip[r.$content] ? this.toolTip[r.$content] : null;
            }
          }
          class Barcode extends r.XFAObject {
            constructor(e) {
              super(d, 'barcode', !0);
              this.charEncoding = (0, o.getKeyword)({
                data: e.charEncoding ? e.charEncoding.toLowerCase() : '',
                defaultValue: '',
                validate: (e) =>
                  [
                    'utf-8',
                    'big-five',
                    'fontspecific',
                    'gbk',
                    'gb-18030',
                    'gb-2312',
                    'ksc-5601',
                    'none',
                    'shift-jis',
                    'ucs-2',
                    'utf-16',
                  ].includes(e) || e.match(/iso-8859-\d{2}/),
              });
              this.checksum = (0, o.getStringOption)(e.checksum, ['none', '1mod10', '1mod10_1mod11', '2mod10', 'auto']);
              this.dataColumnCount = (0, o.getInteger)({
                data: e.dataColumnCount,
                defaultValue: -1,
                validate: (e) => e >= 0,
              });
              this.dataLength = (0, o.getInteger)({ data: e.dataLength, defaultValue: -1, validate: (e) => e >= 0 });
              this.dataPrep = (0, o.getStringOption)(e.dataPrep, ['none', 'flateCompress']);
              this.dataRowCount = (0, o.getInteger)({
                data: e.dataRowCount,
                defaultValue: -1,
                validate: (e) => e >= 0,
              });
              this.endChar = e.endChar || '';
              this.errorCorrectionLevel = (0, o.getInteger)({
                data: e.errorCorrectionLevel,
                defaultValue: -1,
                validate: (e) => e >= 0 && e <= 8,
              });
              this.id = e.id || '';
              this.moduleHeight = (0, o.getMeasurement)(e.moduleHeight, '5mm');
              this.moduleWidth = (0, o.getMeasurement)(e.moduleWidth, '0.25mm');
              this.printCheckDigit = (0, o.getInteger)({
                data: e.printCheckDigit,
                defaultValue: 0,
                validate: (e) => 1 === e,
              });
              this.rowColumnRatio = (0, o.getRatio)(e.rowColumnRatio);
              this.startChar = e.startChar || '';
              this.textLocation = (0, o.getStringOption)(e.textLocation, [
                'below',
                'above',
                'aboveEmbedded',
                'belowEmbedded',
                'none',
              ]);
              this.truncate = (0, o.getInteger)({ data: e.truncate, defaultValue: 0, validate: (e) => 1 === e });
              this.type = (0, o.getStringOption)(e.type ? e.type.toLowerCase() : '', [
                'aztec',
                'codabar',
                'code2of5industrial',
                'code2of5interleaved',
                'code2of5matrix',
                'code2of5standard',
                'code3of9',
                'code3of9extended',
                'code11',
                'code49',
                'code93',
                'code128',
                'code128a',
                'code128b',
                'code128c',
                'code128sscc',
                'datamatrix',
                'ean8',
                'ean8add2',
                'ean8add5',
                'ean13',
                'ean13add2',
                'ean13add5',
                'ean13pwcd',
                'fim',
                'logmars',
                'maxicode',
                'msi',
                'pdf417',
                'pdf417macro',
                'plessey',
                'postauscust2',
                'postauscust3',
                'postausreplypaid',
                'postausstandard',
                'postukrm4scc',
                'postusdpbc',
                'postusimb',
                'postusstandard',
                'postus5zip',
                'qrcode',
                'rfid',
                'rss14',
                'rss14expanded',
                'rss14limited',
                'rss14stacked',
                'rss14stackedomni',
                'rss14truncated',
                'telepen',
                'ucc128',
                'ucc128random',
                'ucc128sscc',
                'upca',
                'upcaadd2',
                'upcaadd5',
                'upcapwcd',
                'upce',
                'upceadd2',
                'upceadd5',
                'upcean2',
                'upcean5',
                'upsmaxicode',
              ]);
              this.upsMode = (0, o.getStringOption)(e.upsMode, [
                'usCarrier',
                'internationalCarrier',
                'secureSymbol',
                'standardSymbol',
              ]);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.wideNarrowRatio = (0, o.getRatio)(e.wideNarrowRatio);
              this.encrypt = null;
              this.extras = null;
            }
          }
          class Bind extends r.XFAObject {
            constructor(e) {
              super(d, 'bind', !0);
              this.match = (0, o.getStringOption)(e.match, ['once', 'dataRef', 'global', 'none']);
              this.ref = e.ref || '';
              this.picture = null;
            }
          }
          class BindItems extends r.XFAObject {
            constructor(e) {
              super(d, 'bindItems');
              this.connection = e.connection || '';
              this.labelRef = e.labelRef || '';
              this.ref = e.ref || '';
              this.valueRef = e.valueRef || '';
            }
          }
          t.BindItems = BindItems;
          class Bookend extends r.XFAObject {
            constructor(e) {
              super(d, 'bookend');
              this.id = e.id || '';
              this.leader = e.leader || '';
              this.trailer = e.trailer || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class BooleanElement extends r.Option01 {
            constructor(e) {
              super(d, 'boolean');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$toHTML](e) {
              return valueToHtml(1 === this[r.$content] ? '1' : '0');
            }
          }
          class Border extends r.XFAObject {
            constructor(e) {
              super(d, 'border', !0);
              this.break = (0, o.getStringOption)(e.break, ['close', 'open']);
              this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
              this.id = e.id || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.corner = new r.XFAObjectArray(4);
              this.edge = new r.XFAObjectArray(4);
              this.extras = null;
              this.fill = null;
              this.margin = null;
            }
            [r.$getExtra]() {
              if (!this[r.$extra]) {
                const e = this.edge.children.slice();
                if (e.length < 4) {
                  const t = e.at(-1) || new Edge({});
                  for (let a = e.length; a < 4; a++) e.push(t);
                }
                const t = e.map((e) => e.thickness),
                  a = [0, 0, 0, 0];
                if (this.margin) {
                  a[0] = this.margin.topInset;
                  a[1] = this.margin.rightInset;
                  a[2] = this.margin.bottomInset;
                  a[3] = this.margin.leftInset;
                }
                this[r.$extra] = { widths: t, insets: a, edges: e };
              }
              return this[r.$extra];
            }
            [r.$toStyle]() {
              const { edges: e } = this[r.$getExtra](),
                t = e.map((e) => {
                  const t = e[r.$toStyle]();
                  t.color = t.color || '#000000';
                  return t;
                }),
                a = Object.create(null);
              this.margin && Object.assign(a, this.margin[r.$toStyle]());
              this.fill && 'visible' === this.fill.presence && Object.assign(a, this.fill[r.$toStyle]());
              if (this.corner.children.some((e) => 0 !== e.radius)) {
                const e = this.corner.children.map((e) => e[r.$toStyle]());
                if (2 === e.length || 3 === e.length) {
                  const t = e.at(-1);
                  for (let a = e.length; a < 4; a++) e.push(t);
                }
                a.borderRadius = e.map((e) => e.radius).join(' ');
              }
              switch (this.presence) {
                case 'invisible':
                case 'hidden':
                  a.borderStyle = '';
                  break;
                case 'inactive':
                  a.borderStyle = 'none';
                  break;
                default:
                  a.borderStyle = t.map((e) => e.style).join(' ');
              }
              a.borderWidth = t.map((e) => e.width).join(' ');
              a.borderColor = t.map((e) => e.color).join(' ');
              return a;
            }
          }
          class Break extends r.XFAObject {
            constructor(e) {
              super(d, 'break', !0);
              this.after = (0, o.getStringOption)(e.after, ['auto', 'contentArea', 'pageArea', 'pageEven', 'pageOdd']);
              this.afterTarget = e.afterTarget || '';
              this.before = (0, o.getStringOption)(e.before, [
                'auto',
                'contentArea',
                'pageArea',
                'pageEven',
                'pageOdd',
              ]);
              this.beforeTarget = e.beforeTarget || '';
              this.bookendLeader = e.bookendLeader || '';
              this.bookendTrailer = e.bookendTrailer || '';
              this.id = e.id || '';
              this.overflowLeader = e.overflowLeader || '';
              this.overflowTarget = e.overflowTarget || '';
              this.overflowTrailer = e.overflowTrailer || '';
              this.startNew = (0, o.getInteger)({ data: e.startNew, defaultValue: 0, validate: (e) => 1 === e });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
          }
          class BreakAfter extends r.XFAObject {
            constructor(e) {
              super(d, 'breakAfter', !0);
              this.id = e.id || '';
              this.leader = e.leader || '';
              this.startNew = (0, o.getInteger)({ data: e.startNew, defaultValue: 0, validate: (e) => 1 === e });
              this.target = e.target || '';
              this.targetType = (0, o.getStringOption)(e.targetType, ['auto', 'contentArea', 'pageArea']);
              this.trailer = e.trailer || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.script = null;
            }
          }
          class BreakBefore extends r.XFAObject {
            constructor(e) {
              super(d, 'breakBefore', !0);
              this.id = e.id || '';
              this.leader = e.leader || '';
              this.startNew = (0, o.getInteger)({ data: e.startNew, defaultValue: 0, validate: (e) => 1 === e });
              this.target = e.target || '';
              this.targetType = (0, o.getStringOption)(e.targetType, ['auto', 'contentArea', 'pageArea']);
              this.trailer = e.trailer || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.script = null;
            }
            [r.$toHTML](e) {
              this[r.$extra] = {};
              return o.HTMLResult.FAILURE;
            }
          }
          class Button extends r.XFAObject {
            constructor(e) {
              super(d, 'button', !0);
              this.highlight = (0, o.getStringOption)(e.highlight, ['inverted', 'none', 'outline', 'push']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
            [r.$toHTML](e) {
              const t = this[r.$getParent]()[r.$getParent](),
                a = { name: 'button', attributes: { id: this[r.$uid], class: ['xfaButton'], style: {} }, children: [] };
              for (const e of t.event.children) {
                if ('click' !== e.activity || !e.script) continue;
                const t = (0, h.recoverJsURL)(e.script[r.$content]);
                if (!t) continue;
                const n = (0, s.fixURL)(t.url);
                n &&
                  a.children.push({
                    name: 'a',
                    attributes: {
                      id: 'link' + this[r.$uid],
                      href: n,
                      newWindow: t.newWindow,
                      class: ['xfaLink'],
                      style: {},
                    },
                    children: [],
                  });
              }
              return o.HTMLResult.success(a);
            }
          }
          class Calculate extends r.XFAObject {
            constructor(e) {
              super(d, 'calculate', !0);
              this.id = e.id || '';
              this.override = (0, o.getStringOption)(e.override, ['disabled', 'error', 'ignore', 'warning']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.message = null;
              this.script = null;
            }
          }
          class Caption extends r.XFAObject {
            constructor(e) {
              super(d, 'caption', !0);
              this.id = e.id || '';
              this.placement = (0, o.getStringOption)(e.placement, ['left', 'bottom', 'inline', 'right', 'top']);
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.reserve = Math.ceil((0, o.getMeasurement)(e.reserve));
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.font = null;
              this.margin = null;
              this.para = null;
              this.value = null;
            }
            [r.$setValue](e) {
              _setValue(this, e);
            }
            [r.$getExtra](e) {
              if (!this[r.$extra]) {
                let { width: t, height: a } = e;
                switch (this.placement) {
                  case 'left':
                  case 'right':
                  case 'inline':
                    t = this.reserve <= 0 ? t : this.reserve;
                    break;
                  case 'top':
                  case 'bottom':
                    a = this.reserve <= 0 ? a : this.reserve;
                }
                this[r.$extra] = (0, s.layoutNode)(this, { width: t, height: a });
              }
              return this[r.$extra];
            }
            [r.$toHTML](e) {
              if (!this.value) return o.HTMLResult.EMPTY;
              this[r.$pushPara]();
              const t = this.value[r.$toHTML](e).html;
              if (!t) {
                this[r.$popPara]();
                return o.HTMLResult.EMPTY;
              }
              const a = this.reserve;
              if (this.reserve <= 0) {
                const { w: t, h: a } = this[r.$getExtra](e);
                switch (this.placement) {
                  case 'left':
                  case 'right':
                  case 'inline':
                    this.reserve = t;
                    break;
                  case 'top':
                  case 'bottom':
                    this.reserve = a;
                }
              }
              const n = [];
              'string' == typeof t ? n.push({ name: '#text', value: t }) : n.push(t);
              const i = (0, s.toStyle)(this, 'font', 'margin', 'visibility');
              switch (this.placement) {
                case 'left':
                case 'right':
                  this.reserve > 0 && (i.width = (0, s.measureToString)(this.reserve));
                  break;
                case 'top':
                case 'bottom':
                  this.reserve > 0 && (i.height = (0, s.measureToString)(this.reserve));
              }
              (0, s.setPara)(this, null, t);
              this[r.$popPara]();
              this.reserve = a;
              return o.HTMLResult.success({
                name: 'div',
                attributes: { style: i, class: ['xfaCaption'] },
                children: n,
              });
            }
          }
          class Certificate extends r.StringObject {
            constructor(e) {
              super(d, 'certificate');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Certificates extends r.XFAObject {
            constructor(e) {
              super(d, 'certificates', !0);
              this.credentialServerPolicy = (0, o.getStringOption)(e.credentialServerPolicy, ['optional', 'required']);
              this.id = e.id || '';
              this.url = e.url || '';
              this.urlPolicy = e.urlPolicy || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.encryption = null;
              this.issuers = null;
              this.keyUsage = null;
              this.oids = null;
              this.signing = null;
              this.subjectDNs = null;
            }
          }
          class CheckButton extends r.XFAObject {
            constructor(e) {
              super(d, 'checkButton', !0);
              this.id = e.id || '';
              this.mark = (0, o.getStringOption)(e.mark, [
                'default',
                'check',
                'circle',
                'cross',
                'diamond',
                'square',
                'star',
              ]);
              this.shape = (0, o.getStringOption)(e.shape, ['square', 'round']);
              this.size = (0, o.getMeasurement)(e.size, '10pt');
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.extras = null;
              this.margin = null;
            }
            [r.$toHTML](e) {
              const t = (0, s.toStyle)('margin'),
                a = (0, s.measureToString)(this.size);
              t.width = t.height = a;
              let n, i, c;
              const l = this[r.$getParent]()[r.$getParent](),
                h = (l.items.children.length && l.items.children[0][r.$toHTML]().html) || [],
                u = {
                  on: (void 0 !== h[0] ? h[0] : 'on').toString(),
                  off: (void 0 !== h[1] ? h[1] : 'off').toString(),
                },
                d = ((l.value && l.value[r.$text]()) || 'off') === u.on || void 0,
                f = l[r.$getSubformParent](),
                g = l[r.$uid];
              let p;
              if (f instanceof ExclGroup) {
                c = f[r.$uid];
                n = 'radio';
                i = 'xfaRadio';
                p = (f[r.$data] && f[r.$data][r.$uid]) || f[r.$uid];
              } else {
                n = 'checkbox';
                i = 'xfaCheckbox';
                p = (l[r.$data] && l[r.$data][r.$uid]) || l[r.$uid];
              }
              const m = {
                name: 'input',
                attributes: {
                  class: [i],
                  style: t,
                  fieldId: g,
                  dataId: p,
                  type: n,
                  checked: d,
                  xfaOn: u.on,
                  xfaOff: u.off,
                  'aria-label': ariaLabel(l),
                  'aria-required': !1,
                },
              };
              c && (m.attributes.name = c);
              if (isRequired(l)) {
                m.attributes['aria-required'] = !0;
                m.attributes.required = !0;
              }
              return o.HTMLResult.success({ name: 'label', attributes: { class: ['xfaLabel'] }, children: [m] });
            }
          }
          class ChoiceList extends r.XFAObject {
            constructor(e) {
              super(d, 'choiceList', !0);
              this.commitOn = (0, o.getStringOption)(e.commitOn, ['select', 'exit']);
              this.id = e.id || '';
              this.open = (0, o.getStringOption)(e.open, ['userControl', 'always', 'multiSelect', 'onEntry']);
              this.textEntry = (0, o.getInteger)({ data: e.textEntry, defaultValue: 0, validate: (e) => 1 === e });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.extras = null;
              this.margin = null;
            }
            [r.$toHTML](e) {
              const t = (0, s.toStyle)(this, 'border', 'margin'),
                a = this[r.$getParent]()[r.$getParent](),
                n = { fontSize: `calc(${(a.font && a.font.size) || 10}px * var(--scale-factor))` },
                i = [];
              if (a.items.children.length > 0) {
                const e = a.items;
                let t = 0,
                  s = 0;
                if (2 === e.children.length) {
                  t = e.children[0].save;
                  s = 1 - t;
                }
                const o = e.children[t][r.$toHTML]().html,
                  c = e.children[s][r.$toHTML]().html;
                let l = !1;
                const h = (a.value && a.value[r.$text]()) || '';
                for (let e = 0, t = o.length; e < t; e++) {
                  const t = { name: 'option', attributes: { value: c[e] || o[e], style: n }, value: o[e] };
                  c[e] === h && (t.attributes.selected = l = !0);
                  i.push(t);
                }
                l || i.splice(0, 0, { name: 'option', attributes: { hidden: !0, selected: !0 }, value: ' ' });
              }
              const c = {
                class: ['xfaSelect'],
                fieldId: a[r.$uid],
                dataId: (a[r.$data] && a[r.$data][r.$uid]) || a[r.$uid],
                style: t,
                'aria-label': ariaLabel(a),
                'aria-required': !1,
              };
              if (isRequired(a)) {
                c['aria-required'] = !0;
                c.required = !0;
              }
              'multiSelect' === this.open && (c.multiple = !0);
              return o.HTMLResult.success({
                name: 'label',
                attributes: { class: ['xfaLabel'] },
                children: [{ name: 'select', children: i, attributes: c }],
              });
            }
          }
          class Color extends r.XFAObject {
            constructor(e) {
              super(d, 'color', !0);
              this.cSpace = (0, o.getStringOption)(e.cSpace, ['SRGB']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.value = e.value ? (0, o.getColor)(e.value) : '';
              this.extras = null;
            }
            [r.$hasSettableValue]() {
              return !1;
            }
            [r.$toStyle]() {
              return this.value ? c.Util.makeHexColor(this.value.r, this.value.g, this.value.b) : null;
            }
          }
          class Comb extends r.XFAObject {
            constructor(e) {
              super(d, 'comb');
              this.id = e.id || '';
              this.numberOfCells = (0, o.getInteger)({
                data: e.numberOfCells,
                defaultValue: 0,
                validate: (e) => e >= 0,
              });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Connect extends r.XFAObject {
            constructor(e) {
              super(d, 'connect', !0);
              this.connection = e.connection || '';
              this.id = e.id || '';
              this.ref = e.ref || '';
              this.usage = (0, o.getStringOption)(e.usage, ['exportAndImport', 'exportOnly', 'importOnly']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.picture = null;
            }
          }
          class ContentArea extends r.XFAObject {
            constructor(e) {
              super(d, 'contentArea', !0);
              this.h = (0, o.getMeasurement)(e.h);
              this.id = e.id || '';
              this.name = e.name || '';
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.w = (0, o.getMeasurement)(e.w);
              this.x = (0, o.getMeasurement)(e.x, '0pt');
              this.y = (0, o.getMeasurement)(e.y, '0pt');
              this.desc = null;
              this.extras = null;
            }
            [r.$toHTML](e) {
              const t = {
                  left: (0, s.measureToString)(this.x),
                  top: (0, s.measureToString)(this.y),
                  width: (0, s.measureToString)(this.w),
                  height: (0, s.measureToString)(this.h),
                },
                a = ['xfaContentarea'];
              (0, s.isPrintOnly)(this) && a.push('xfaPrintOnly');
              return o.HTMLResult.success({
                name: 'div',
                children: [],
                attributes: { style: t, class: a, id: this[r.$uid] },
              });
            }
          }
          class Corner extends r.XFAObject {
            constructor(e) {
              super(d, 'corner', !0);
              this.id = e.id || '';
              this.inverted = (0, o.getInteger)({ data: e.inverted, defaultValue: 0, validate: (e) => 1 === e });
              this.join = (0, o.getStringOption)(e.join, ['square', 'round']);
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.radius = (0, o.getMeasurement)(e.radius);
              this.stroke = (0, o.getStringOption)(e.stroke, [
                'solid',
                'dashDot',
                'dashDotDot',
                'dashed',
                'dotted',
                'embossed',
                'etched',
                'lowered',
                'raised',
              ]);
              this.thickness = (0, o.getMeasurement)(e.thickness, '0.5pt');
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
            }
            [r.$toStyle]() {
              const e = (0, s.toStyle)(this, 'visibility');
              e.radius = (0, s.measureToString)('square' === this.join ? 0 : this.radius);
              return e;
            }
          }
          class DateElement extends r.ContentObject {
            constructor(e) {
              super(d, 'date');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              const e = this[r.$content].trim();
              this[r.$content] = e ? new Date(e) : null;
            }
            [r.$toHTML](e) {
              return valueToHtml(this[r.$content] ? this[r.$content].toString() : '');
            }
          }
          class DateTime extends r.ContentObject {
            constructor(e) {
              super(d, 'dateTime');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              const e = this[r.$content].trim();
              this[r.$content] = e ? new Date(e) : null;
            }
            [r.$toHTML](e) {
              return valueToHtml(this[r.$content] ? this[r.$content].toString() : '');
            }
          }
          class DateTimeEdit extends r.XFAObject {
            constructor(e) {
              super(d, 'dateTimeEdit', !0);
              this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
              this.id = e.id || '';
              this.picker = (0, o.getStringOption)(e.picker, ['host', 'none']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.comb = null;
              this.extras = null;
              this.margin = null;
            }
            [r.$toHTML](e) {
              const t = (0, s.toStyle)(this, 'border', 'font', 'margin'),
                a = this[r.$getParent]()[r.$getParent](),
                n = {
                  name: 'input',
                  attributes: {
                    type: 'text',
                    fieldId: a[r.$uid],
                    dataId: (a[r.$data] && a[r.$data][r.$uid]) || a[r.$uid],
                    class: ['xfaTextfield'],
                    style: t,
                    'aria-label': ariaLabel(a),
                    'aria-required': !1,
                  },
                };
              if (isRequired(a)) {
                n.attributes['aria-required'] = !0;
                n.attributes.required = !0;
              }
              return o.HTMLResult.success({ name: 'label', attributes: { class: ['xfaLabel'] }, children: [n] });
            }
          }
          class Decimal extends r.ContentObject {
            constructor(e) {
              super(d, 'decimal');
              this.fracDigits = (0, o.getInteger)({ data: e.fracDigits, defaultValue: 2, validate: (e) => !0 });
              this.id = e.id || '';
              this.leadDigits = (0, o.getInteger)({ data: e.leadDigits, defaultValue: -1, validate: (e) => !0 });
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              const e = parseFloat(this[r.$content].trim());
              this[r.$content] = isNaN(e) ? null : e;
            }
            [r.$toHTML](e) {
              return valueToHtml(null !== this[r.$content] ? this[r.$content].toString() : '');
            }
          }
          class DefaultUi extends r.XFAObject {
            constructor(e) {
              super(d, 'defaultUi', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
          }
          class Desc extends r.XFAObject {
            constructor(e) {
              super(d, 'desc', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.boolean = new r.XFAObjectArray();
              this.date = new r.XFAObjectArray();
              this.dateTime = new r.XFAObjectArray();
              this.decimal = new r.XFAObjectArray();
              this.exData = new r.XFAObjectArray();
              this.float = new r.XFAObjectArray();
              this.image = new r.XFAObjectArray();
              this.integer = new r.XFAObjectArray();
              this.text = new r.XFAObjectArray();
              this.time = new r.XFAObjectArray();
            }
          }
          class DigestMethod extends r.OptionObject {
            constructor(e) {
              super(d, 'digestMethod', ['', 'SHA1', 'SHA256', 'SHA512', 'RIPEMD160']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class DigestMethods extends r.XFAObject {
            constructor(e) {
              super(d, 'digestMethods', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.digestMethod = new r.XFAObjectArray();
            }
          }
          class Draw extends r.XFAObject {
            constructor(e) {
              super(d, 'draw', !0);
              this.anchorType = (0, o.getStringOption)(e.anchorType, [
                'topLeft',
                'bottomCenter',
                'bottomLeft',
                'bottomRight',
                'middleCenter',
                'middleLeft',
                'middleRight',
                'topCenter',
                'topRight',
              ]);
              this.colSpan = (0, o.getInteger)({
                data: e.colSpan,
                defaultValue: 1,
                validate: (e) => e >= 1 || -1 === e,
              });
              this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
              this.hAlign = (0, o.getStringOption)(e.hAlign, [
                'left',
                'center',
                'justify',
                'justifyAll',
                'radix',
                'right',
              ]);
              this.id = e.id || '';
              this.locale = e.locale || '';
              this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
              this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
              this.minH = (0, o.getMeasurement)(e.minH, '0pt');
              this.minW = (0, o.getMeasurement)(e.minW, '0pt');
              this.name = e.name || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.rotate = (0, o.getInteger)({ data: e.rotate, defaultValue: 0, validate: (e) => e % 90 == 0 });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
              this.x = (0, o.getMeasurement)(e.x, '0pt');
              this.y = (0, o.getMeasurement)(e.y, '0pt');
              this.assist = null;
              this.border = null;
              this.caption = null;
              this.desc = null;
              this.extras = null;
              this.font = null;
              this.keep = null;
              this.margin = null;
              this.para = null;
              this.traversal = null;
              this.ui = null;
              this.value = null;
              this.setProperty = new r.XFAObjectArray();
            }
            [r.$setValue](e) {
              _setValue(this, e);
            }
            [r.$toHTML](e) {
              setTabIndex(this);
              if ('hidden' === this.presence || 'inactive' === this.presence) return o.HTMLResult.EMPTY;
              (0, s.fixDimensions)(this);
              this[r.$pushPara]();
              const t = this.w,
                a = this.h,
                { w: n, h: c, isBroken: l } = (0, s.layoutNode)(this, e);
              if (n && '' === this.w) {
                if (l && this[r.$getSubformParent]()[r.$isThereMoreWidth]()) {
                  this[r.$popPara]();
                  return o.HTMLResult.FAILURE;
                }
                this.w = n;
              }
              c && '' === this.h && (this.h = c);
              setFirstUnsplittable(this);
              if (!(0, i.checkDimensions)(this, e)) {
                this.w = t;
                this.h = a;
                this[r.$popPara]();
                return o.HTMLResult.FAILURE;
              }
              unsetFirstUnsplittable(this);
              const h = (0, s.toStyle)(
                this,
                'font',
                'hAlign',
                'dimensions',
                'position',
                'presence',
                'rotate',
                'anchorType',
                'border',
                'margin'
              );
              (0, s.setMinMaxDimensions)(this, h);
              if (h.margin) {
                h.padding = h.margin;
                delete h.margin;
              }
              const u = ['xfaDraw'];
              this.font && u.push('xfaFont');
              (0, s.isPrintOnly)(this) && u.push('xfaPrintOnly');
              const d = { style: h, id: this[r.$uid], class: u };
              this.name && (d.xfaName = this.name);
              const f = { name: 'div', attributes: d, children: [] };
              applyAssist(this, d);
              const g = (0, s.computeBbox)(this, f, e),
                p = this.value ? this.value[r.$toHTML](e).html : null;
              if (null === p) {
                this.w = t;
                this.h = a;
                this[r.$popPara]();
                return o.HTMLResult.success((0, s.createWrapper)(this, f), g);
              }
              f.children.push(p);
              (0, s.setPara)(this, h, p);
              this.w = t;
              this.h = a;
              this[r.$popPara]();
              return o.HTMLResult.success((0, s.createWrapper)(this, f), g);
            }
          }
          class Edge extends r.XFAObject {
            constructor(e) {
              super(d, 'edge', !0);
              this.cap = (0, o.getStringOption)(e.cap, ['square', 'butt', 'round']);
              this.id = e.id || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.stroke = (0, o.getStringOption)(e.stroke, [
                'solid',
                'dashDot',
                'dashDotDot',
                'dashed',
                'dotted',
                'embossed',
                'etched',
                'lowered',
                'raised',
              ]);
              this.thickness = (0, o.getMeasurement)(e.thickness, '0.5pt');
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
            }
            [r.$toStyle]() {
              const e = (0, s.toStyle)(this, 'visibility');
              Object.assign(e, {
                linecap: this.cap,
                width: (0, s.measureToString)(this.thickness),
                color: this.color ? this.color[r.$toStyle]() : '#000000',
                style: '',
              });
              if ('visible' !== this.presence) e.style = 'none';
              else
                switch (this.stroke) {
                  case 'solid':
                    e.style = 'solid';
                    break;
                  case 'dashDot':
                  case 'dashDotDot':
                  case 'dashed':
                    e.style = 'dashed';
                    break;
                  case 'dotted':
                    e.style = 'dotted';
                    break;
                  case 'embossed':
                    e.style = 'ridge';
                    break;
                  case 'etched':
                    e.style = 'groove';
                    break;
                  case 'lowered':
                    e.style = 'inset';
                    break;
                  case 'raised':
                    e.style = 'outset';
                }
              return e;
            }
          }
          class Encoding extends r.OptionObject {
            constructor(e) {
              super(d, 'encoding', ['adbe.x509.rsa_sha1', 'adbe.pkcs7.detached', 'adbe.pkcs7.sha1']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Encodings extends r.XFAObject {
            constructor(e) {
              super(d, 'encodings', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.encoding = new r.XFAObjectArray();
            }
          }
          class Encrypt extends r.XFAObject {
            constructor(e) {
              super(d, 'encrypt', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.certificate = null;
            }
          }
          class EncryptData extends r.XFAObject {
            constructor(e) {
              super(d, 'encryptData', !0);
              this.id = e.id || '';
              this.operation = (0, o.getStringOption)(e.operation, ['encrypt', 'decrypt']);
              this.target = e.target || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.filter = null;
              this.manifest = null;
            }
          }
          class Encryption extends r.XFAObject {
            constructor(e) {
              super(d, 'encryption', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.certificate = new r.XFAObjectArray();
            }
          }
          class EncryptionMethod extends r.OptionObject {
            constructor(e) {
              super(d, 'encryptionMethod', ['', 'AES256-CBC', 'TRIPLEDES-CBC', 'AES128-CBC', 'AES192-CBC']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class EncryptionMethods extends r.XFAObject {
            constructor(e) {
              super(d, 'encryptionMethods', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.encryptionMethod = new r.XFAObjectArray();
            }
          }
          class Event extends r.XFAObject {
            constructor(e) {
              super(d, 'event', !0);
              this.activity = (0, o.getStringOption)(e.activity, [
                'click',
                'change',
                'docClose',
                'docReady',
                'enter',
                'exit',
                'full',
                'indexChange',
                'initialize',
                'mouseDown',
                'mouseEnter',
                'mouseExit',
                'mouseUp',
                'postExecute',
                'postOpen',
                'postPrint',
                'postSave',
                'postSign',
                'postSubmit',
                'preExecute',
                'preOpen',
                'prePrint',
                'preSave',
                'preSign',
                'preSubmit',
                'ready',
                'validationState',
              ]);
              this.id = e.id || '';
              this.listen = (0, o.getStringOption)(e.listen, ['refOnly', 'refAndDescendents']);
              this.name = e.name || '';
              this.ref = e.ref || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.encryptData = null;
              this.execute = null;
              this.script = null;
              this.signData = null;
              this.submit = null;
            }
          }
          class ExData extends r.ContentObject {
            constructor(e) {
              super(d, 'exData');
              this.contentType = e.contentType || '';
              this.href = e.href || '';
              this.id = e.id || '';
              this.maxLength = (0, o.getInteger)({ data: e.maxLength, defaultValue: -1, validate: (e) => e >= -1 });
              this.name = e.name || '';
              this.rid = e.rid || '';
              this.transferEncoding = (0, o.getStringOption)(e.transferEncoding, ['none', 'base64', 'package']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$isCDATAXml]() {
              return 'text/html' === this.contentType;
            }
            [r.$onChild](e) {
              if ('text/html' === this.contentType && e[r.$namespaceId] === n.NamespaceIds.xhtml.id) {
                this[r.$content] = e;
                return !0;
              }
              if ('text/xml' === this.contentType) {
                this[r.$content] = e;
                return !0;
              }
              return !1;
            }
            [r.$toHTML](e) {
              return 'text/html' === this.contentType && this[r.$content]
                ? this[r.$content][r.$toHTML](e)
                : o.HTMLResult.EMPTY;
            }
          }
          class ExObject extends r.XFAObject {
            constructor(e) {
              super(d, 'exObject', !0);
              this.archive = e.archive || '';
              this.classId = e.classId || '';
              this.codeBase = e.codeBase || '';
              this.codeType = e.codeType || '';
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.boolean = new r.XFAObjectArray();
              this.date = new r.XFAObjectArray();
              this.dateTime = new r.XFAObjectArray();
              this.decimal = new r.XFAObjectArray();
              this.exData = new r.XFAObjectArray();
              this.exObject = new r.XFAObjectArray();
              this.float = new r.XFAObjectArray();
              this.image = new r.XFAObjectArray();
              this.integer = new r.XFAObjectArray();
              this.text = new r.XFAObjectArray();
              this.time = new r.XFAObjectArray();
            }
          }
          class ExclGroup extends r.XFAObject {
            constructor(e) {
              super(d, 'exclGroup', !0);
              this.access = (0, o.getStringOption)(e.access, ['open', 'nonInteractive', 'protected', 'readOnly']);
              this.accessKey = e.accessKey || '';
              this.anchorType = (0, o.getStringOption)(e.anchorType, [
                'topLeft',
                'bottomCenter',
                'bottomLeft',
                'bottomRight',
                'middleCenter',
                'middleLeft',
                'middleRight',
                'topCenter',
                'topRight',
              ]);
              this.colSpan = (0, o.getInteger)({
                data: e.colSpan,
                defaultValue: 1,
                validate: (e) => e >= 1 || -1 === e,
              });
              this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
              this.hAlign = (0, o.getStringOption)(e.hAlign, [
                'left',
                'center',
                'justify',
                'justifyAll',
                'radix',
                'right',
              ]);
              this.id = e.id || '';
              this.layout = (0, o.getStringOption)(e.layout, [
                'position',
                'lr-tb',
                'rl-row',
                'rl-tb',
                'row',
                'table',
                'tb',
              ]);
              this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
              this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
              this.minH = (0, o.getMeasurement)(e.minH, '0pt');
              this.minW = (0, o.getMeasurement)(e.minW, '0pt');
              this.name = e.name || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
              this.x = (0, o.getMeasurement)(e.x, '0pt');
              this.y = (0, o.getMeasurement)(e.y, '0pt');
              this.assist = null;
              this.bind = null;
              this.border = null;
              this.calculate = null;
              this.caption = null;
              this.desc = null;
              this.extras = null;
              this.margin = null;
              this.para = null;
              this.traversal = null;
              this.validate = null;
              this.connect = new r.XFAObjectArray();
              this.event = new r.XFAObjectArray();
              this.field = new r.XFAObjectArray();
              this.setProperty = new r.XFAObjectArray();
            }
            [r.$isBindable]() {
              return !0;
            }
            [r.$hasSettableValue]() {
              return !0;
            }
            [r.$setValue](e) {
              for (const t of this.field.children) {
                if (!t.value) {
                  const e = new Value({});
                  t[r.$appendChild](e);
                  t.value = e;
                }
                t.value[r.$setValue](e);
              }
            }
            [r.$isThereMoreWidth]() {
              return (
                (this.layout.endsWith('-tb') && 0 === this[r.$extra].attempt && this[r.$extra].numberInLine > 0) ||
                this[r.$getParent]()[r.$isThereMoreWidth]()
              );
            }
            [r.$isSplittable]() {
              const e = this[r.$getSubformParent]();
              if (!e[r.$isSplittable]()) return !1;
              if (void 0 !== this[r.$extra]._isSplittable) return this[r.$extra]._isSplittable;
              if ('position' === this.layout || this.layout.includes('row')) {
                this[r.$extra]._isSplittable = !1;
                return !1;
              }
              if (e.layout && e.layout.endsWith('-tb') && 0 !== e[r.$extra].numberInLine) return !1;
              this[r.$extra]._isSplittable = !0;
              return !0;
            }
            [r.$flushHTML]() {
              return (0, i.flushHTML)(this);
            }
            [r.$addHTML](e, t) {
              (0, i.addHTML)(this, e, t);
            }
            [r.$getAvailableSpace]() {
              return (0, i.getAvailableSpace)(this);
            }
            [r.$toHTML](e) {
              setTabIndex(this);
              if ('hidden' === this.presence || 'inactive' === this.presence || 0 === this.h || 0 === this.w)
                return o.HTMLResult.EMPTY;
              (0, s.fixDimensions)(this);
              const t = [],
                a = { id: this[r.$uid], class: [] };
              (0, s.setAccess)(this, a.class);
              this[r.$extra] || (this[r.$extra] = Object.create(null));
              Object.assign(this[r.$extra], {
                children: t,
                attributes: a,
                attempt: 0,
                line: null,
                numberInLine: 0,
                availableSpace: {
                  width: Math.min(this.w || 1 / 0, e.width),
                  height: Math.min(this.h || 1 / 0, e.height),
                },
                width: 0,
                height: 0,
                prevHeight: 0,
                currentWidth: 0,
              });
              const n = this[r.$isSplittable]();
              n || setFirstUnsplittable(this);
              if (!(0, i.checkDimensions)(this, e)) return o.HTMLResult.FAILURE;
              const c = new Set(['field']);
              if (this.layout.includes('row')) {
                const e = this[r.$getSubformParent]().columnWidths;
                if (Array.isArray(e) && e.length > 0) {
                  this[r.$extra].columnWidths = e;
                  this[r.$extra].currentColumn = 0;
                }
              }
              const l = (0, s.toStyle)(
                  this,
                  'anchorType',
                  'dimensions',
                  'position',
                  'presence',
                  'border',
                  'margin',
                  'hAlign'
                ),
                h = ['xfaExclgroup'],
                u = (0, s.layoutClass)(this);
              u && h.push(u);
              (0, s.isPrintOnly)(this) && h.push('xfaPrintOnly');
              a.style = l;
              a.class = h;
              this.name && (a.xfaName = this.name);
              this[r.$pushPara]();
              const d = 'lr-tb' === this.layout || 'rl-tb' === this.layout,
                f = d ? 2 : 1;
              for (; this[r.$extra].attempt < f; this[r.$extra].attempt++) {
                d && 1 === this[r.$extra].attempt && (this[r.$extra].numberInLine = 0);
                const e = this[r.$childrenToHTML]({ filter: c, include: !0 });
                if (e.success) break;
                if (e.isBreak()) {
                  this[r.$popPara]();
                  return e;
                }
                if (
                  d &&
                  0 === this[r.$extra].attempt &&
                  0 === this[r.$extra].numberInLine &&
                  !this[r.$getTemplateRoot]()[r.$extra].noLayoutFailure
                ) {
                  this[r.$extra].attempt = f;
                  break;
                }
              }
              this[r.$popPara]();
              n || unsetFirstUnsplittable(this);
              if (this[r.$extra].attempt === f) {
                n || delete this[r.$extra];
                return o.HTMLResult.FAILURE;
              }
              let g = 0,
                p = 0;
              if (this.margin) {
                g = this.margin.leftInset + this.margin.rightInset;
                p = this.margin.topInset + this.margin.bottomInset;
              }
              const m = Math.max(this[r.$extra].width + g, this.w || 0),
                b = Math.max(this[r.$extra].height + p, this.h || 0),
                y = [this.x, this.y, m, b];
              '' === this.w && (l.width = (0, s.measureToString)(m));
              '' === this.h && (l.height = (0, s.measureToString)(b));
              const w = { name: 'div', attributes: a, children: t };
              applyAssist(this, a);
              delete this[r.$extra];
              return o.HTMLResult.success((0, s.createWrapper)(this, w), y);
            }
          }
          class Execute extends r.XFAObject {
            constructor(e) {
              super(d, 'execute');
              this.connection = e.connection || '';
              this.executeType = (0, o.getStringOption)(e.executeType, ['import', 'remerge']);
              this.id = e.id || '';
              this.runAt = (0, o.getStringOption)(e.runAt, ['client', 'both', 'server']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Extras extends r.XFAObject {
            constructor(e) {
              super(d, 'extras', !0);
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.boolean = new r.XFAObjectArray();
              this.date = new r.XFAObjectArray();
              this.dateTime = new r.XFAObjectArray();
              this.decimal = new r.XFAObjectArray();
              this.exData = new r.XFAObjectArray();
              this.extras = new r.XFAObjectArray();
              this.float = new r.XFAObjectArray();
              this.image = new r.XFAObjectArray();
              this.integer = new r.XFAObjectArray();
              this.text = new r.XFAObjectArray();
              this.time = new r.XFAObjectArray();
            }
          }
          class Field extends r.XFAObject {
            constructor(e) {
              super(d, 'field', !0);
              this.access = (0, o.getStringOption)(e.access, ['open', 'nonInteractive', 'protected', 'readOnly']);
              this.accessKey = e.accessKey || '';
              this.anchorType = (0, o.getStringOption)(e.anchorType, [
                'topLeft',
                'bottomCenter',
                'bottomLeft',
                'bottomRight',
                'middleCenter',
                'middleLeft',
                'middleRight',
                'topCenter',
                'topRight',
              ]);
              this.colSpan = (0, o.getInteger)({
                data: e.colSpan,
                defaultValue: 1,
                validate: (e) => e >= 1 || -1 === e,
              });
              this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
              this.hAlign = (0, o.getStringOption)(e.hAlign, [
                'left',
                'center',
                'justify',
                'justifyAll',
                'radix',
                'right',
              ]);
              this.id = e.id || '';
              this.locale = e.locale || '';
              this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
              this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
              this.minH = (0, o.getMeasurement)(e.minH, '0pt');
              this.minW = (0, o.getMeasurement)(e.minW, '0pt');
              this.name = e.name || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.rotate = (0, o.getInteger)({ data: e.rotate, defaultValue: 0, validate: (e) => e % 90 == 0 });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
              this.x = (0, o.getMeasurement)(e.x, '0pt');
              this.y = (0, o.getMeasurement)(e.y, '0pt');
              this.assist = null;
              this.bind = null;
              this.border = null;
              this.calculate = null;
              this.caption = null;
              this.desc = null;
              this.extras = null;
              this.font = null;
              this.format = null;
              this.items = new r.XFAObjectArray(2);
              this.keep = null;
              this.margin = null;
              this.para = null;
              this.traversal = null;
              this.ui = null;
              this.validate = null;
              this.value = null;
              this.bindItems = new r.XFAObjectArray();
              this.connect = new r.XFAObjectArray();
              this.event = new r.XFAObjectArray();
              this.setProperty = new r.XFAObjectArray();
            }
            [r.$isBindable]() {
              return !0;
            }
            [r.$setValue](e) {
              _setValue(this, e);
            }
            [r.$toHTML](e) {
              setTabIndex(this);
              if (!this.ui) {
                this.ui = new Ui({});
                this.ui[r.$globalData] = this[r.$globalData];
                this[r.$appendChild](this.ui);
                let e;
                switch (this.items.children.length) {
                  case 0:
                    e = new TextEdit({});
                    this.ui.textEdit = e;
                    break;
                  case 1:
                    e = new CheckButton({});
                    this.ui.checkButton = e;
                    break;
                  case 2:
                    e = new ChoiceList({});
                    this.ui.choiceList = e;
                }
                this.ui[r.$appendChild](e);
              }
              if (
                !this.ui ||
                'hidden' === this.presence ||
                'inactive' === this.presence ||
                0 === this.h ||
                0 === this.w
              )
                return o.HTMLResult.EMPTY;
              this.caption && delete this.caption[r.$extra];
              this[r.$pushPara]();
              const t = this.caption ? this.caption[r.$toHTML](e).html : null,
                a = this.w,
                n = this.h;
              let c = 0,
                h = 0;
              if (this.margin) {
                c = this.margin.leftInset + this.margin.rightInset;
                h = this.margin.topInset + this.margin.bottomInset;
              }
              let u = null;
              if ('' === this.w || '' === this.h) {
                let t = null,
                  a = null,
                  n = 0,
                  i = 0;
                if (this.ui.checkButton) n = i = this.ui.checkButton.size;
                else {
                  const { w: t, h: a } = (0, s.layoutNode)(this, e);
                  if (null !== t) {
                    n = t;
                    i = a;
                  } else i = (0, l.getMetrics)(this.font, !0).lineNoGap;
                }
                u = getBorderDims(this.ui[r.$getExtra]());
                n += u.w;
                i += u.h;
                if (this.caption) {
                  const { w: s, h: c, isBroken: l } = this.caption[r.$getExtra](e);
                  if (l && this[r.$getSubformParent]()[r.$isThereMoreWidth]()) {
                    this[r.$popPara]();
                    return o.HTMLResult.FAILURE;
                  }
                  t = s;
                  a = c;
                  switch (this.caption.placement) {
                    case 'left':
                    case 'right':
                    case 'inline':
                      t += n;
                      break;
                    case 'top':
                    case 'bottom':
                      a += i;
                  }
                } else {
                  t = n;
                  a = i;
                }
                if (t && '' === this.w) {
                  t += c;
                  this.w = Math.min(this.maxW <= 0 ? 1 / 0 : this.maxW, this.minW + 1 < t ? t : this.minW);
                }
                if (a && '' === this.h) {
                  a += h;
                  this.h = Math.min(this.maxH <= 0 ? 1 / 0 : this.maxH, this.minH + 1 < a ? a : this.minH);
                }
              }
              this[r.$popPara]();
              (0, s.fixDimensions)(this);
              setFirstUnsplittable(this);
              if (!(0, i.checkDimensions)(this, e)) {
                this.w = a;
                this.h = n;
                this[r.$popPara]();
                return o.HTMLResult.FAILURE;
              }
              unsetFirstUnsplittable(this);
              const d = (0, s.toStyle)(
                this,
                'font',
                'dimensions',
                'position',
                'rotate',
                'anchorType',
                'presence',
                'margin',
                'hAlign'
              );
              (0, s.setMinMaxDimensions)(this, d);
              const f = ['xfaField'];
              this.font && f.push('xfaFont');
              (0, s.isPrintOnly)(this) && f.push('xfaPrintOnly');
              const g = { style: d, id: this[r.$uid], class: f };
              if (d.margin) {
                d.padding = d.margin;
                delete d.margin;
              }
              (0, s.setAccess)(this, f);
              this.name && (g.xfaName = this.name);
              const p = [],
                m = { name: 'div', attributes: g, children: p };
              applyAssist(this, g);
              const b = this.border ? this.border[r.$toStyle]() : null,
                y = (0, s.computeBbox)(this, m, e),
                w = this.ui[r.$toHTML]().html;
              if (!w) {
                Object.assign(d, b);
                return o.HTMLResult.success((0, s.createWrapper)(this, m), y);
              }
              this[r.$tabIndex] &&
                (w.children && w.children[0]
                  ? (w.children[0].attributes.tabindex = this[r.$tabIndex])
                  : (w.attributes.tabindex = this[r.$tabIndex]));
              w.attributes.style || (w.attributes.style = Object.create(null));
              let S = null;
              if (this.ui.button) {
                1 === w.children.length && ([S] = w.children.splice(0, 1));
                Object.assign(w.attributes.style, b);
              } else Object.assign(d, b);
              p.push(w);
              if (this.value)
                if (this.ui.imageEdit) w.children.push(this.value[r.$toHTML]().html);
                else if (!this.ui.button) {
                  let e = '';
                  if (this.value.exData) e = this.value.exData[r.$text]();
                  else if (this.value.text) e = this.value.text[r.$getExtra]();
                  else {
                    const t = this.value[r.$toHTML]().html;
                    null !== t && (e = t.children[0].value);
                  }
                  this.ui.textEdit &&
                    this.value.text &&
                    this.value.text.maxChars &&
                    (w.children[0].attributes.maxLength = this.value.text.maxChars);
                  if (e) {
                    if (this.ui.numericEdit) {
                      e = parseFloat(e);
                      e = isNaN(e) ? '' : e.toString();
                    }
                    'textarea' === w.children[0].name
                      ? (w.children[0].attributes.textContent = e)
                      : (w.children[0].attributes.value = e);
                  }
                }
              if (!this.ui.imageEdit && w.children && w.children[0] && this.h) {
                u = u || getBorderDims(this.ui[r.$getExtra]());
                let t = 0;
                if (this.caption && ['top', 'bottom'].includes(this.caption.placement)) {
                  t = this.caption.reserve;
                  t <= 0 && (t = this.caption[r.$getExtra](e).h);
                  const a = this.h - t - h - u.h;
                  w.children[0].attributes.style.height = (0, s.measureToString)(a);
                } else w.children[0].attributes.style.height = '100%';
              }
              S && w.children.push(S);
              if (!t) {
                w.attributes.class && w.attributes.class.push('xfaLeft');
                this.w = a;
                this.h = n;
                return o.HTMLResult.success((0, s.createWrapper)(this, m), y);
              }
              if (this.ui.button) {
                d.padding && delete d.padding;
                'div' === t.name && (t.name = 'span');
                w.children.push(t);
                return o.HTMLResult.success(m, y);
              }
              this.ui.checkButton && (t.attributes.class[0] = 'xfaCaptionForCheckButton');
              w.attributes.class || (w.attributes.class = []);
              w.children.splice(0, 0, t);
              switch (this.caption.placement) {
                case 'left':
                case 'inline':
                  w.attributes.class.push('xfaLeft');
                  break;
                case 'right':
                  w.attributes.class.push('xfaRight');
                  break;
                case 'top':
                  w.attributes.class.push('xfaTop');
                  break;
                case 'bottom':
                  w.attributes.class.push('xfaBottom');
              }
              this.w = a;
              this.h = n;
              return o.HTMLResult.success((0, s.createWrapper)(this, m), y);
            }
          }
          t.Field = Field;
          class Fill extends r.XFAObject {
            constructor(e) {
              super(d, 'fill', !0);
              this.id = e.id || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
              this.linear = null;
              this.pattern = null;
              this.radial = null;
              this.solid = null;
              this.stipple = null;
            }
            [r.$toStyle]() {
              const e = this[r.$getParent](),
                t = e[r.$getParent]()[r.$getParent](),
                a = Object.create(null);
              let n = 'color',
                i = n;
              if (e instanceof Border) {
                n = 'background-color';
                i = 'background';
                t instanceof Ui && (a.backgroundColor = 'white');
              }
              if (e instanceof Rectangle || e instanceof Arc) {
                n = i = 'fill';
                a.fill = 'white';
              }
              for (const e of Object.getOwnPropertyNames(this)) {
                if ('extras' === e || 'color' === e) continue;
                const t = this[e];
                if (!(t instanceof r.XFAObject)) continue;
                const s = t[r.$toStyle](this.color);
                s && (a[s.startsWith('#') ? n : i] = s);
                return a;
              }
              if (this.color && this.color.value) {
                const e = this.color[r.$toStyle]();
                a[e.startsWith('#') ? n : i] = e;
              }
              return a;
            }
          }
          class Filter extends r.XFAObject {
            constructor(e) {
              super(d, 'filter', !0);
              this.addRevocationInfo = (0, o.getStringOption)(e.addRevocationInfo, [
                '',
                'required',
                'optional',
                'none',
              ]);
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.version = (0, o.getInteger)({
                data: this.version,
                defaultValue: 5,
                validate: (e) => e >= 1 && e <= 5,
              });
              this.appearanceFilter = null;
              this.certificates = null;
              this.digestMethods = null;
              this.encodings = null;
              this.encryptionMethods = null;
              this.handler = null;
              this.lockDocument = null;
              this.mdp = null;
              this.reasons = null;
              this.timeStamp = null;
            }
          }
          class Float extends r.ContentObject {
            constructor(e) {
              super(d, 'float');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              const e = parseFloat(this[r.$content].trim());
              this[r.$content] = isNaN(e) ? null : e;
            }
            [r.$toHTML](e) {
              return valueToHtml(null !== this[r.$content] ? this[r.$content].toString() : '');
            }
          }
          class Font extends r.XFAObject {
            constructor(e) {
              super(d, 'font', !0);
              this.baselineShift = (0, o.getMeasurement)(e.baselineShift);
              this.fontHorizontalScale = (0, o.getFloat)({
                data: e.fontHorizontalScale,
                defaultValue: 100,
                validate: (e) => e >= 0,
              });
              this.fontVerticalScale = (0, o.getFloat)({
                data: e.fontVerticalScale,
                defaultValue: 100,
                validate: (e) => e >= 0,
              });
              this.id = e.id || '';
              this.kerningMode = (0, o.getStringOption)(e.kerningMode, ['none', 'pair']);
              this.letterSpacing = (0, o.getMeasurement)(e.letterSpacing, '0');
              this.lineThrough = (0, o.getInteger)({
                data: e.lineThrough,
                defaultValue: 0,
                validate: (e) => 1 === e || 2 === e,
              });
              this.lineThroughPeriod = (0, o.getStringOption)(e.lineThroughPeriod, ['all', 'word']);
              this.overline = (0, o.getInteger)({
                data: e.overline,
                defaultValue: 0,
                validate: (e) => 1 === e || 2 === e,
              });
              this.overlinePeriod = (0, o.getStringOption)(e.overlinePeriod, ['all', 'word']);
              this.posture = (0, o.getStringOption)(e.posture, ['normal', 'italic']);
              this.size = (0, o.getMeasurement)(e.size, '10pt');
              this.typeface = e.typeface || 'Courier';
              this.underline = (0, o.getInteger)({
                data: e.underline,
                defaultValue: 0,
                validate: (e) => 1 === e || 2 === e,
              });
              this.underlinePeriod = (0, o.getStringOption)(e.underlinePeriod, ['all', 'word']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.weight = (0, o.getStringOption)(e.weight, ['normal', 'bold']);
              this.extras = null;
              this.fill = null;
            }
            [r.$clean](e) {
              super[r.$clean](e);
              this[r.$globalData].usedTypefaces.add(this.typeface);
            }
            [r.$toStyle]() {
              const e = (0, s.toStyle)(this, 'fill'),
                t = e.color;
              if (t)
                if ('#000000' === t) delete e.color;
                else if (!t.startsWith('#')) {
                  e.background = t;
                  e.backgroundClip = 'text';
                  e.color = 'transparent';
                }
              this.baselineShift && (e.verticalAlign = (0, s.measureToString)(this.baselineShift));
              e.fontKerning = 'none' === this.kerningMode ? 'none' : 'normal';
              e.letterSpacing = (0, s.measureToString)(this.letterSpacing);
              if (0 !== this.lineThrough) {
                e.textDecoration = 'line-through';
                2 === this.lineThrough && (e.textDecorationStyle = 'double');
              }
              if (0 !== this.overline) {
                e.textDecoration = 'overline';
                2 === this.overline && (e.textDecorationStyle = 'double');
              }
              e.fontStyle = this.posture;
              e.fontSize = (0, s.measureToString)(0.99 * this.size);
              (0, s.setFontFamily)(this, this, this[r.$globalData].fontFinder, e);
              if (0 !== this.underline) {
                e.textDecoration = 'underline';
                2 === this.underline && (e.textDecorationStyle = 'double');
              }
              e.fontWeight = this.weight;
              return e;
            }
          }
          class Format extends r.XFAObject {
            constructor(e) {
              super(d, 'format', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.picture = null;
            }
          }
          class Handler extends r.StringObject {
            constructor(e) {
              super(d, 'handler');
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Hyphenation extends r.XFAObject {
            constructor(e) {
              super(d, 'hyphenation');
              this.excludeAllCaps = (0, o.getInteger)({
                data: e.excludeAllCaps,
                defaultValue: 0,
                validate: (e) => 1 === e,
              });
              this.excludeInitialCap = (0, o.getInteger)({
                data: e.excludeInitialCap,
                defaultValue: 0,
                validate: (e) => 1 === e,
              });
              this.hyphenate = (0, o.getInteger)({ data: e.hyphenate, defaultValue: 0, validate: (e) => 1 === e });
              this.id = e.id || '';
              this.pushCharacterCount = (0, o.getInteger)({
                data: e.pushCharacterCount,
                defaultValue: 3,
                validate: (e) => e >= 0,
              });
              this.remainCharacterCount = (0, o.getInteger)({
                data: e.remainCharacterCount,
                defaultValue: 3,
                validate: (e) => e >= 0,
              });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.wordCharacterCount = (0, o.getInteger)({
                data: e.wordCharacterCount,
                defaultValue: 7,
                validate: (e) => e >= 0,
              });
            }
          }
          class Image extends r.StringObject {
            constructor(e) {
              super(d, 'image');
              this.aspect = (0, o.getStringOption)(e.aspect, ['fit', 'actual', 'height', 'none', 'width']);
              this.contentType = e.contentType || '';
              this.href = e.href || '';
              this.id = e.id || '';
              this.name = e.name || '';
              this.transferEncoding = (0, o.getStringOption)(e.transferEncoding, ['base64', 'none', 'package']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$toHTML]() {
              if (this.contentType && !p.has(this.contentType.toLowerCase())) return o.HTMLResult.EMPTY;
              let e = this[r.$globalData].images && this[r.$globalData].images.get(this.href);
              if (!e && (this.href || !this[r.$content])) return o.HTMLResult.EMPTY;
              e || 'base64' !== this.transferEncoding || (e = (0, c.stringToBytes)(atob(this[r.$content])));
              if (!e) return o.HTMLResult.EMPTY;
              if (!this.contentType) {
                for (const [t, a] of m)
                  if (e.length > t.length && t.every((t, a) => t === e[a])) {
                    this.contentType = a;
                    break;
                  }
                if (!this.contentType) return o.HTMLResult.EMPTY;
              }
              const t = new Blob([e], { type: this.contentType });
              let a;
              switch (this.aspect) {
                case 'fit':
                case 'actual':
                  break;
                case 'height':
                  a = { height: '100%', objectFit: 'fill' };
                  break;
                case 'none':
                  a = { width: '100%', height: '100%', objectFit: 'fill' };
                  break;
                case 'width':
                  a = { width: '100%', objectFit: 'fill' };
              }
              const n = this[r.$getParent]();
              return o.HTMLResult.success({
                name: 'img',
                attributes: {
                  class: ['xfaImage'],
                  style: a,
                  src: URL.createObjectURL(t),
                  alt: n ? ariaLabel(n[r.$getParent]()) : null,
                },
              });
            }
          }
          class ImageEdit extends r.XFAObject {
            constructor(e) {
              super(d, 'imageEdit', !0);
              this.data = (0, o.getStringOption)(e.data, ['link', 'embed']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.extras = null;
              this.margin = null;
            }
            [r.$toHTML](e) {
              return 'embed' === this.data
                ? o.HTMLResult.success({ name: 'div', children: [], attributes: {} })
                : o.HTMLResult.EMPTY;
            }
          }
          class Integer extends r.ContentObject {
            constructor(e) {
              super(d, 'integer');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              const e = parseInt(this[r.$content].trim(), 10);
              this[r.$content] = isNaN(e) ? null : e;
            }
            [r.$toHTML](e) {
              return valueToHtml(null !== this[r.$content] ? this[r.$content].toString() : '');
            }
          }
          class Issuers extends r.XFAObject {
            constructor(e) {
              super(d, 'issuers', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.certificate = new r.XFAObjectArray();
            }
          }
          class Items extends r.XFAObject {
            constructor(e) {
              super(d, 'items', !0);
              this.id = e.id || '';
              this.name = e.name || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.ref = e.ref || '';
              this.save = (0, o.getInteger)({ data: e.save, defaultValue: 0, validate: (e) => 1 === e });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.boolean = new r.XFAObjectArray();
              this.date = new r.XFAObjectArray();
              this.dateTime = new r.XFAObjectArray();
              this.decimal = new r.XFAObjectArray();
              this.exData = new r.XFAObjectArray();
              this.float = new r.XFAObjectArray();
              this.image = new r.XFAObjectArray();
              this.integer = new r.XFAObjectArray();
              this.text = new r.XFAObjectArray();
              this.time = new r.XFAObjectArray();
            }
            [r.$toHTML]() {
              const e = [];
              for (const t of this[r.$getChildren]()) e.push(t[r.$text]());
              return o.HTMLResult.success(e);
            }
          }
          t.Items = Items;
          class Keep extends r.XFAObject {
            constructor(e) {
              super(d, 'keep', !0);
              this.id = e.id || '';
              const t = ['none', 'contentArea', 'pageArea'];
              this.intact = (0, o.getStringOption)(e.intact, t);
              this.next = (0, o.getStringOption)(e.next, t);
              this.previous = (0, o.getStringOption)(e.previous, t);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
          }
          class KeyUsage extends r.XFAObject {
            constructor(e) {
              super(d, 'keyUsage');
              const t = ['', 'yes', 'no'];
              this.crlSign = (0, o.getStringOption)(e.crlSign, t);
              this.dataEncipherment = (0, o.getStringOption)(e.dataEncipherment, t);
              this.decipherOnly = (0, o.getStringOption)(e.decipherOnly, t);
              this.digitalSignature = (0, o.getStringOption)(e.digitalSignature, t);
              this.encipherOnly = (0, o.getStringOption)(e.encipherOnly, t);
              this.id = e.id || '';
              this.keyAgreement = (0, o.getStringOption)(e.keyAgreement, t);
              this.keyCertSign = (0, o.getStringOption)(e.keyCertSign, t);
              this.keyEncipherment = (0, o.getStringOption)(e.keyEncipherment, t);
              this.nonRepudiation = (0, o.getStringOption)(e.nonRepudiation, t);
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Line extends r.XFAObject {
            constructor(e) {
              super(d, 'line', !0);
              this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
              this.id = e.id || '';
              this.slope = (0, o.getStringOption)(e.slope, ['\\', '/']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.edge = null;
            }
            [r.$toHTML]() {
              const e = this[r.$getParent]()[r.$getParent](),
                t = this.edge || new Edge({}),
                a = t[r.$toStyle](),
                n = Object.create(null),
                i = 'visible' === t.presence ? t.thickness : 0;
              n.strokeWidth = (0, s.measureToString)(i);
              n.stroke = a.color;
              let c,
                l,
                h,
                u,
                d = '100%',
                g = '100%';
              if (e.w <= i) {
                [c, l, h, u] = ['50%', 0, '50%', '100%'];
                d = n.strokeWidth;
              } else if (e.h <= i) {
                [c, l, h, u] = [0, '50%', '100%', '50%'];
                g = n.strokeWidth;
              } else
                '\\' === this.slope ? ([c, l, h, u] = [0, 0, '100%', '100%']) : ([c, l, h, u] = [0, '100%', '100%', 0]);
              const p = {
                name: 'svg',
                children: [{ name: 'line', attributes: { xmlns: f, x1: c, y1: l, x2: h, y2: u, style: n } }],
                attributes: { xmlns: f, width: d, height: g, style: { overflow: 'visible' } },
              };
              if (hasMargin(e))
                return o.HTMLResult.success({
                  name: 'div',
                  attributes: { style: { display: 'inline', width: '100%', height: '100%' } },
                  children: [p],
                });
              p.attributes.style.position = 'absolute';
              return o.HTMLResult.success(p);
            }
          }
          class Linear extends r.XFAObject {
            constructor(e) {
              super(d, 'linear', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['toRight', 'toBottom', 'toLeft', 'toTop']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
            }
            [r.$toStyle](e) {
              e = e ? e[r.$toStyle]() : '#FFFFFF';
              return `linear-gradient(${this.type.replace(/([RBLT])/, ' $1').toLowerCase()}, ${e}, ${
                this.color ? this.color[r.$toStyle]() : '#000000'
              })`;
            }
          }
          class LockDocument extends r.ContentObject {
            constructor(e) {
              super(d, 'lockDocument');
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              this[r.$content] = (0, o.getStringOption)(this[r.$content], ['auto', '0', '1']);
            }
          }
          class Manifest extends r.XFAObject {
            constructor(e) {
              super(d, 'manifest', !0);
              this.action = (0, o.getStringOption)(e.action, ['include', 'all', 'exclude']);
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.ref = new r.XFAObjectArray();
            }
          }
          class Margin extends r.XFAObject {
            constructor(e) {
              super(d, 'margin', !0);
              this.bottomInset = (0, o.getMeasurement)(e.bottomInset, '0');
              this.id = e.id || '';
              this.leftInset = (0, o.getMeasurement)(e.leftInset, '0');
              this.rightInset = (0, o.getMeasurement)(e.rightInset, '0');
              this.topInset = (0, o.getMeasurement)(e.topInset, '0');
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
            [r.$toStyle]() {
              return {
                margin:
                  (0, s.measureToString)(this.topInset) +
                  ' ' +
                  (0, s.measureToString)(this.rightInset) +
                  ' ' +
                  (0, s.measureToString)(this.bottomInset) +
                  ' ' +
                  (0, s.measureToString)(this.leftInset),
              };
            }
          }
          class Mdp extends r.XFAObject {
            constructor(e) {
              super(d, 'mdp');
              this.id = e.id || '';
              this.permissions = (0, o.getInteger)({
                data: e.permissions,
                defaultValue: 2,
                validate: (e) => 1 === e || 3 === e,
              });
              this.signatureType = (0, o.getStringOption)(e.signatureType, ['filler', 'author']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Medium extends r.XFAObject {
            constructor(e) {
              super(d, 'medium');
              this.id = e.id || '';
              this.imagingBBox = (0, o.getBBox)(e.imagingBBox);
              this.long = (0, o.getMeasurement)(e.long);
              this.orientation = (0, o.getStringOption)(e.orientation, ['portrait', 'landscape']);
              this.short = (0, o.getMeasurement)(e.short);
              this.stock = e.stock || '';
              this.trayIn = (0, o.getStringOption)(e.trayIn, ['auto', 'delegate', 'pageFront']);
              this.trayOut = (0, o.getStringOption)(e.trayOut, ['auto', 'delegate']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Message extends r.XFAObject {
            constructor(e) {
              super(d, 'message', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.text = new r.XFAObjectArray();
            }
          }
          class NumericEdit extends r.XFAObject {
            constructor(e) {
              super(d, 'numericEdit', !0);
              this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.comb = null;
              this.extras = null;
              this.margin = null;
            }
            [r.$toHTML](e) {
              const t = (0, s.toStyle)(this, 'border', 'font', 'margin'),
                a = this[r.$getParent]()[r.$getParent](),
                n = {
                  name: 'input',
                  attributes: {
                    type: 'text',
                    fieldId: a[r.$uid],
                    dataId: (a[r.$data] && a[r.$data][r.$uid]) || a[r.$uid],
                    class: ['xfaTextfield'],
                    style: t,
                    'aria-label': ariaLabel(a),
                    'aria-required': !1,
                  },
                };
              if (isRequired(a)) {
                n.attributes['aria-required'] = !0;
                n.attributes.required = !0;
              }
              return o.HTMLResult.success({ name: 'label', attributes: { class: ['xfaLabel'] }, children: [n] });
            }
          }
          class Occur extends r.XFAObject {
            constructor(e) {
              super(d, 'occur', !0);
              this.id = e.id || '';
              this.initial =
                '' !== e.initial ? (0, o.getInteger)({ data: e.initial, defaultValue: '', validate: (e) => !0 }) : '';
              this.max = '' !== e.max ? (0, o.getInteger)({ data: e.max, defaultValue: 1, validate: (e) => !0 }) : '';
              this.min = '' !== e.min ? (0, o.getInteger)({ data: e.min, defaultValue: 1, validate: (e) => !0 }) : '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
            [r.$clean]() {
              const e = this[r.$getParent](),
                t = this.min;
              '' === this.min && (this.min = e instanceof PageArea || e instanceof PageSet ? 0 : 1);
              '' === this.max &&
                (this.max = '' === t ? (e instanceof PageArea || e instanceof PageSet ? -1 : 1) : this.min);
              -1 !== this.max && this.max < this.min && (this.max = this.min);
              '' === this.initial && (this.initial = e instanceof Template ? 1 : this.min);
            }
          }
          class Oid extends r.StringObject {
            constructor(e) {
              super(d, 'oid');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Oids extends r.XFAObject {
            constructor(e) {
              super(d, 'oids', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.oid = new r.XFAObjectArray();
            }
          }
          class Overflow extends r.XFAObject {
            constructor(e) {
              super(d, 'overflow');
              this.id = e.id || '';
              this.leader = e.leader || '';
              this.target = e.target || '';
              this.trailer = e.trailer || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$getExtra]() {
              if (!this[r.$extra]) {
                const e = this[r.$getParent](),
                  t = this[r.$getTemplateRoot](),
                  a = t[r.$searchNode](this.target, e),
                  n = t[r.$searchNode](this.leader, e),
                  i = t[r.$searchNode](this.trailer, e);
                this[r.$extra] = {
                  target: (a && a[0]) || null,
                  leader: (n && n[0]) || null,
                  trailer: (i && i[0]) || null,
                  addLeader: !1,
                  addTrailer: !1,
                };
              }
              return this[r.$extra];
            }
          }
          class PageArea extends r.XFAObject {
            constructor(e) {
              super(d, 'pageArea', !0);
              this.blankOrNotBlank = (0, o.getStringOption)(e.blankOrNotBlank, ['any', 'blank', 'notBlank']);
              this.id = e.id || '';
              this.initialNumber = (0, o.getInteger)({ data: e.initialNumber, defaultValue: 1, validate: (e) => !0 });
              this.name = e.name || '';
              this.numbered = (0, o.getInteger)({ data: e.numbered, defaultValue: 1, validate: (e) => !0 });
              this.oddOrEven = (0, o.getStringOption)(e.oddOrEven, ['any', 'even', 'odd']);
              this.pagePosition = (0, o.getStringOption)(e.pagePosition, ['any', 'first', 'last', 'only', 'rest']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.desc = null;
              this.extras = null;
              this.medium = null;
              this.occur = null;
              this.area = new r.XFAObjectArray();
              this.contentArea = new r.XFAObjectArray();
              this.draw = new r.XFAObjectArray();
              this.exclGroup = new r.XFAObjectArray();
              this.field = new r.XFAObjectArray();
              this.subform = new r.XFAObjectArray();
            }
            [r.$isUsable]() {
              if (!this[r.$extra]) {
                this[r.$extra] = { numberOfUse: 0 };
                return !0;
              }
              return !this.occur || -1 === this.occur.max || this[r.$extra].numberOfUse < this.occur.max;
            }
            [r.$cleanPage]() {
              delete this[r.$extra];
            }
            [r.$getNextPage]() {
              this[r.$extra] || (this[r.$extra] = { numberOfUse: 0 });
              const e = this[r.$getParent]();
              if ('orderedOccurrence' === e.relation && this[r.$isUsable]()) {
                this[r.$extra].numberOfUse += 1;
                return this;
              }
              return e[r.$getNextPage]();
            }
            [r.$getAvailableSpace]() {
              return this[r.$extra].space || { width: 0, height: 0 };
            }
            [r.$toHTML]() {
              this[r.$extra] || (this[r.$extra] = { numberOfUse: 1 });
              const e = [];
              this[r.$extra].children = e;
              const t = Object.create(null);
              if (this.medium && this.medium.short && this.medium.long) {
                t.width = (0, s.measureToString)(this.medium.short);
                t.height = (0, s.measureToString)(this.medium.long);
                this[r.$extra].space = { width: this.medium.short, height: this.medium.long };
                if ('landscape' === this.medium.orientation) {
                  const e = t.width;
                  t.width = t.height;
                  t.height = e;
                  this[r.$extra].space = { width: this.medium.long, height: this.medium.short };
                }
              } else (0, c.warn)('XFA - No medium specified in pageArea: please file a bug.');
              this[r.$childrenToHTML]({ filter: new Set(['area', 'draw', 'field', 'subform']), include: !0 });
              this[r.$childrenToHTML]({ filter: new Set(['contentArea']), include: !0 });
              return o.HTMLResult.success({
                name: 'div',
                children: e,
                attributes: { class: ['xfaPage'], id: this[r.$uid], style: t, xfaName: this.name },
              });
            }
          }
          class PageSet extends r.XFAObject {
            constructor(e) {
              super(d, 'pageSet', !0);
              this.duplexImposition = (0, o.getStringOption)(e.duplexImposition, ['longEdge', 'shortEdge']);
              this.id = e.id || '';
              this.name = e.name || '';
              this.relation = (0, o.getStringOption)(e.relation, [
                'orderedOccurrence',
                'duplexPaginated',
                'simplexPaginated',
              ]);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.occur = null;
              this.pageArea = new r.XFAObjectArray();
              this.pageSet = new r.XFAObjectArray();
            }
            [r.$cleanPage]() {
              for (const e of this.pageArea.children) e[r.$cleanPage]();
              for (const e of this.pageSet.children) e[r.$cleanPage]();
            }
            [r.$isUsable]() {
              return !this.occur || -1 === this.occur.max || this[r.$extra].numberOfUse < this.occur.max;
            }
            [r.$getNextPage]() {
              this[r.$extra] || (this[r.$extra] = { numberOfUse: 1, pageIndex: -1, pageSetIndex: -1 });
              if ('orderedOccurrence' === this.relation) {
                if (this[r.$extra].pageIndex + 1 < this.pageArea.children.length) {
                  this[r.$extra].pageIndex += 1;
                  return this.pageArea.children[this[r.$extra].pageIndex][r.$getNextPage]();
                }
                if (this[r.$extra].pageSetIndex + 1 < this.pageSet.children.length) {
                  this[r.$extra].pageSetIndex += 1;
                  return this.pageSet.children[this[r.$extra].pageSetIndex][r.$getNextPage]();
                }
                if (this[r.$isUsable]()) {
                  this[r.$extra].numberOfUse += 1;
                  this[r.$extra].pageIndex = -1;
                  this[r.$extra].pageSetIndex = -1;
                  return this[r.$getNextPage]();
                }
                const e = this[r.$getParent]();
                if (e instanceof PageSet) return e[r.$getNextPage]();
                this[r.$cleanPage]();
                return this[r.$getNextPage]();
              }
              const e = this[r.$getTemplateRoot]()[r.$extra].pageNumber,
                t = e % 2 == 0 ? 'even' : 'odd',
                a = 0 === e ? 'first' : 'rest';
              let n = this.pageArea.children.find((e) => e.oddOrEven === t && e.pagePosition === a);
              if (n) return n;
              n = this.pageArea.children.find((e) => 'any' === e.oddOrEven && e.pagePosition === a);
              if (n) return n;
              n = this.pageArea.children.find((e) => 'any' === e.oddOrEven && 'any' === e.pagePosition);
              return n || this.pageArea.children[0];
            }
          }
          class Para extends r.XFAObject {
            constructor(e) {
              super(d, 'para', !0);
              this.hAlign = (0, o.getStringOption)(e.hAlign, [
                'left',
                'center',
                'justify',
                'justifyAll',
                'radix',
                'right',
              ]);
              this.id = e.id || '';
              this.lineHeight = e.lineHeight ? (0, o.getMeasurement)(e.lineHeight, '0pt') : '';
              this.marginLeft = e.marginLeft ? (0, o.getMeasurement)(e.marginLeft, '0pt') : '';
              this.marginRight = e.marginRight ? (0, o.getMeasurement)(e.marginRight, '0pt') : '';
              this.orphans = (0, o.getInteger)({ data: e.orphans, defaultValue: 0, validate: (e) => e >= 0 });
              this.preserve = e.preserve || '';
              this.radixOffset = e.radixOffset ? (0, o.getMeasurement)(e.radixOffset, '0pt') : '';
              this.spaceAbove = e.spaceAbove ? (0, o.getMeasurement)(e.spaceAbove, '0pt') : '';
              this.spaceBelow = e.spaceBelow ? (0, o.getMeasurement)(e.spaceBelow, '0pt') : '';
              this.tabDefault = e.tabDefault ? (0, o.getMeasurement)(this.tabDefault) : '';
              this.tabStops = (e.tabStops || '')
                .trim()
                .split(/\s+/)
                .map((e, t) => (t % 2 == 1 ? (0, o.getMeasurement)(e) : e));
              this.textIndent = e.textIndent ? (0, o.getMeasurement)(e.textIndent, '0pt') : '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.vAlign = (0, o.getStringOption)(e.vAlign, ['top', 'bottom', 'middle']);
              this.widows = (0, o.getInteger)({ data: e.widows, defaultValue: 0, validate: (e) => e >= 0 });
              this.hyphenation = null;
            }
            [r.$toStyle]() {
              const e = (0, s.toStyle)(this, 'hAlign');
              '' !== this.marginLeft && (e.paddingLeft = (0, s.measureToString)(this.marginLeft));
              '' !== this.marginRight && (e.paddingight = (0, s.measureToString)(this.marginRight));
              '' !== this.spaceAbove && (e.paddingTop = (0, s.measureToString)(this.spaceAbove));
              '' !== this.spaceBelow && (e.paddingBottom = (0, s.measureToString)(this.spaceBelow));
              if ('' !== this.textIndent) {
                e.textIndent = (0, s.measureToString)(this.textIndent);
                (0, s.fixTextIndent)(e);
              }
              this.lineHeight > 0 && (e.lineHeight = (0, s.measureToString)(this.lineHeight));
              '' !== this.tabDefault && (e.tabSize = (0, s.measureToString)(this.tabDefault));
              this.tabStops.length;
              this.hyphenatation && Object.assign(e, this.hyphenatation[r.$toStyle]());
              return e;
            }
          }
          class PasswordEdit extends r.XFAObject {
            constructor(e) {
              super(d, 'passwordEdit', !0);
              this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
              this.id = e.id || '';
              this.passwordChar = e.passwordChar || '*';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.extras = null;
              this.margin = null;
            }
          }
          class Pattern extends r.XFAObject {
            constructor(e) {
              super(d, 'pattern', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, [
                'crossHatch',
                'crossDiagonal',
                'diagonalLeft',
                'diagonalRight',
                'horizontal',
                'vertical',
              ]);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
            }
            [r.$toStyle](e) {
              e = e ? e[r.$toStyle]() : '#FFFFFF';
              const t = this.color ? this.color[r.$toStyle]() : '#000000',
                a = 'repeating-linear-gradient',
                n = `${e},${e} 5px,${t} 5px,${t} 10px`;
              switch (this.type) {
                case 'crossHatch':
                  return `${a}(to top,${n}) ${a}(to right,${n})`;
                case 'crossDiagonal':
                  return `${a}(45deg,${n}) ${a}(-45deg,${n})`;
                case 'diagonalLeft':
                  return `${a}(45deg,${n})`;
                case 'diagonalRight':
                  return `${a}(-45deg,${n})`;
                case 'horizontal':
                  return `${a}(to top,${n})`;
                case 'vertical':
                  return `${a}(to right,${n})`;
              }
              return '';
            }
          }
          class Picture extends r.StringObject {
            constructor(e) {
              super(d, 'picture');
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Proto extends r.XFAObject {
            constructor(e) {
              super(d, 'proto', !0);
              this.appearanceFilter = new r.XFAObjectArray();
              this.arc = new r.XFAObjectArray();
              this.area = new r.XFAObjectArray();
              this.assist = new r.XFAObjectArray();
              this.barcode = new r.XFAObjectArray();
              this.bindItems = new r.XFAObjectArray();
              this.bookend = new r.XFAObjectArray();
              this.boolean = new r.XFAObjectArray();
              this.border = new r.XFAObjectArray();
              this.break = new r.XFAObjectArray();
              this.breakAfter = new r.XFAObjectArray();
              this.breakBefore = new r.XFAObjectArray();
              this.button = new r.XFAObjectArray();
              this.calculate = new r.XFAObjectArray();
              this.caption = new r.XFAObjectArray();
              this.certificate = new r.XFAObjectArray();
              this.certificates = new r.XFAObjectArray();
              this.checkButton = new r.XFAObjectArray();
              this.choiceList = new r.XFAObjectArray();
              this.color = new r.XFAObjectArray();
              this.comb = new r.XFAObjectArray();
              this.connect = new r.XFAObjectArray();
              this.contentArea = new r.XFAObjectArray();
              this.corner = new r.XFAObjectArray();
              this.date = new r.XFAObjectArray();
              this.dateTime = new r.XFAObjectArray();
              this.dateTimeEdit = new r.XFAObjectArray();
              this.decimal = new r.XFAObjectArray();
              this.defaultUi = new r.XFAObjectArray();
              this.desc = new r.XFAObjectArray();
              this.digestMethod = new r.XFAObjectArray();
              this.digestMethods = new r.XFAObjectArray();
              this.draw = new r.XFAObjectArray();
              this.edge = new r.XFAObjectArray();
              this.encoding = new r.XFAObjectArray();
              this.encodings = new r.XFAObjectArray();
              this.encrypt = new r.XFAObjectArray();
              this.encryptData = new r.XFAObjectArray();
              this.encryption = new r.XFAObjectArray();
              this.encryptionMethod = new r.XFAObjectArray();
              this.encryptionMethods = new r.XFAObjectArray();
              this.event = new r.XFAObjectArray();
              this.exData = new r.XFAObjectArray();
              this.exObject = new r.XFAObjectArray();
              this.exclGroup = new r.XFAObjectArray();
              this.execute = new r.XFAObjectArray();
              this.extras = new r.XFAObjectArray();
              this.field = new r.XFAObjectArray();
              this.fill = new r.XFAObjectArray();
              this.filter = new r.XFAObjectArray();
              this.float = new r.XFAObjectArray();
              this.font = new r.XFAObjectArray();
              this.format = new r.XFAObjectArray();
              this.handler = new r.XFAObjectArray();
              this.hyphenation = new r.XFAObjectArray();
              this.image = new r.XFAObjectArray();
              this.imageEdit = new r.XFAObjectArray();
              this.integer = new r.XFAObjectArray();
              this.issuers = new r.XFAObjectArray();
              this.items = new r.XFAObjectArray();
              this.keep = new r.XFAObjectArray();
              this.keyUsage = new r.XFAObjectArray();
              this.line = new r.XFAObjectArray();
              this.linear = new r.XFAObjectArray();
              this.lockDocument = new r.XFAObjectArray();
              this.manifest = new r.XFAObjectArray();
              this.margin = new r.XFAObjectArray();
              this.mdp = new r.XFAObjectArray();
              this.medium = new r.XFAObjectArray();
              this.message = new r.XFAObjectArray();
              this.numericEdit = new r.XFAObjectArray();
              this.occur = new r.XFAObjectArray();
              this.oid = new r.XFAObjectArray();
              this.oids = new r.XFAObjectArray();
              this.overflow = new r.XFAObjectArray();
              this.pageArea = new r.XFAObjectArray();
              this.pageSet = new r.XFAObjectArray();
              this.para = new r.XFAObjectArray();
              this.passwordEdit = new r.XFAObjectArray();
              this.pattern = new r.XFAObjectArray();
              this.picture = new r.XFAObjectArray();
              this.radial = new r.XFAObjectArray();
              this.reason = new r.XFAObjectArray();
              this.reasons = new r.XFAObjectArray();
              this.rectangle = new r.XFAObjectArray();
              this.ref = new r.XFAObjectArray();
              this.script = new r.XFAObjectArray();
              this.setProperty = new r.XFAObjectArray();
              this.signData = new r.XFAObjectArray();
              this.signature = new r.XFAObjectArray();
              this.signing = new r.XFAObjectArray();
              this.solid = new r.XFAObjectArray();
              this.speak = new r.XFAObjectArray();
              this.stipple = new r.XFAObjectArray();
              this.subform = new r.XFAObjectArray();
              this.subformSet = new r.XFAObjectArray();
              this.subjectDN = new r.XFAObjectArray();
              this.subjectDNs = new r.XFAObjectArray();
              this.submit = new r.XFAObjectArray();
              this.text = new r.XFAObjectArray();
              this.textEdit = new r.XFAObjectArray();
              this.time = new r.XFAObjectArray();
              this.timeStamp = new r.XFAObjectArray();
              this.toolTip = new r.XFAObjectArray();
              this.traversal = new r.XFAObjectArray();
              this.traverse = new r.XFAObjectArray();
              this.ui = new r.XFAObjectArray();
              this.validate = new r.XFAObjectArray();
              this.value = new r.XFAObjectArray();
              this.variables = new r.XFAObjectArray();
            }
          }
          class Radial extends r.XFAObject {
            constructor(e) {
              super(d, 'radial', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['toEdge', 'toCenter']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
            }
            [r.$toStyle](e) {
              e = e ? e[r.$toStyle]() : '#FFFFFF';
              const t = this.color ? this.color[r.$toStyle]() : '#000000';
              return `radial-gradient(circle at center, ${'toEdge' === this.type ? `${e},${t}` : `${t},${e}`})`;
            }
          }
          class Reason extends r.StringObject {
            constructor(e) {
              super(d, 'reason');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Reasons extends r.XFAObject {
            constructor(e) {
              super(d, 'reasons', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.reason = new r.XFAObjectArray();
            }
          }
          class Rectangle extends r.XFAObject {
            constructor(e) {
              super(d, 'rectangle', !0);
              this.hand = (0, o.getStringOption)(e.hand, ['even', 'left', 'right']);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.corner = new r.XFAObjectArray(4);
              this.edge = new r.XFAObjectArray(4);
              this.fill = null;
            }
            [r.$toHTML]() {
              const e = this.edge.children.length ? this.edge.children[0] : new Edge({}),
                t = e[r.$toStyle](),
                a = Object.create(null);
              this.fill && 'visible' === this.fill.presence
                ? Object.assign(a, this.fill[r.$toStyle]())
                : (a.fill = 'transparent');
              a.strokeWidth = (0, s.measureToString)('visible' === e.presence ? e.thickness : 0);
              a.stroke = t.color;
              const n = (this.corner.children.length ? this.corner.children[0] : new Corner({}))[r.$toStyle](),
                i = {
                  name: 'svg',
                  children: [
                    {
                      name: 'rect',
                      attributes: {
                        xmlns: f,
                        width: '100%',
                        height: '100%',
                        x: 0,
                        y: 0,
                        rx: n.radius,
                        ry: n.radius,
                        style: a,
                      },
                    },
                  ],
                  attributes: { xmlns: f, style: { overflow: 'visible' }, width: '100%', height: '100%' },
                };
              if (hasMargin(this[r.$getParent]()[r.$getParent]()))
                return o.HTMLResult.success({
                  name: 'div',
                  attributes: { style: { display: 'inline', width: '100%', height: '100%' } },
                  children: [i],
                });
              i.attributes.style.position = 'absolute';
              return o.HTMLResult.success(i);
            }
          }
          class RefElement extends r.StringObject {
            constructor(e) {
              super(d, 'ref');
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Script extends r.StringObject {
            constructor(e) {
              super(d, 'script');
              this.binding = e.binding || '';
              this.contentType = e.contentType || '';
              this.id = e.id || '';
              this.name = e.name || '';
              this.runAt = (0, o.getStringOption)(e.runAt, ['client', 'both', 'server']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class SetProperty extends r.XFAObject {
            constructor(e) {
              super(d, 'setProperty');
              this.connection = e.connection || '';
              this.ref = e.ref || '';
              this.target = e.target || '';
            }
          }
          t.SetProperty = SetProperty;
          class SignData extends r.XFAObject {
            constructor(e) {
              super(d, 'signData', !0);
              this.id = e.id || '';
              this.operation = (0, o.getStringOption)(e.operation, ['sign', 'clear', 'verify']);
              this.ref = e.ref || '';
              this.target = e.target || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.filter = null;
              this.manifest = null;
            }
          }
          class Signature extends r.XFAObject {
            constructor(e) {
              super(d, 'signature', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['PDF1.3', 'PDF1.6']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.border = null;
              this.extras = null;
              this.filter = null;
              this.manifest = null;
              this.margin = null;
            }
          }
          class Signing extends r.XFAObject {
            constructor(e) {
              super(d, 'signing', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.certificate = new r.XFAObjectArray();
            }
          }
          class Solid extends r.XFAObject {
            constructor(e) {
              super(d, 'solid', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
            }
            [r.$toStyle](e) {
              return e ? e[r.$toStyle]() : '#FFFFFF';
            }
          }
          class Speak extends r.StringObject {
            constructor(e) {
              super(d, 'speak');
              this.disable = (0, o.getInteger)({ data: e.disable, defaultValue: 0, validate: (e) => 1 === e });
              this.id = e.id || '';
              this.priority = (0, o.getStringOption)(e.priority, ['custom', 'caption', 'name', 'toolTip']);
              this.rid = e.rid || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Stipple extends r.XFAObject {
            constructor(e) {
              super(d, 'stipple', !0);
              this.id = e.id || '';
              this.rate = (0, o.getInteger)({ data: e.rate, defaultValue: 50, validate: (e) => e >= 0 && e <= 100 });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.color = null;
              this.extras = null;
            }
            [r.$toStyle](e) {
              const t = this.rate / 100;
              return c.Util.makeHexColor(
                Math.round(e.value.r * (1 - t) + this.value.r * t),
                Math.round(e.value.g * (1 - t) + this.value.g * t),
                Math.round(e.value.b * (1 - t) + this.value.b * t)
              );
            }
          }
          class Subform extends r.XFAObject {
            constructor(e) {
              super(d, 'subform', !0);
              this.access = (0, o.getStringOption)(e.access, ['open', 'nonInteractive', 'protected', 'readOnly']);
              this.allowMacro = (0, o.getInteger)({ data: e.allowMacro, defaultValue: 0, validate: (e) => 1 === e });
              this.anchorType = (0, o.getStringOption)(e.anchorType, [
                'topLeft',
                'bottomCenter',
                'bottomLeft',
                'bottomRight',
                'middleCenter',
                'middleLeft',
                'middleRight',
                'topCenter',
                'topRight',
              ]);
              this.colSpan = (0, o.getInteger)({
                data: e.colSpan,
                defaultValue: 1,
                validate: (e) => e >= 1 || -1 === e,
              });
              this.columnWidths = (e.columnWidths || '')
                .trim()
                .split(/\s+/)
                .map((e) => ('-1' === e ? -1 : (0, o.getMeasurement)(e)));
              this.h = e.h ? (0, o.getMeasurement)(e.h) : '';
              this.hAlign = (0, o.getStringOption)(e.hAlign, [
                'left',
                'center',
                'justify',
                'justifyAll',
                'radix',
                'right',
              ]);
              this.id = e.id || '';
              this.layout = (0, o.getStringOption)(e.layout, [
                'position',
                'lr-tb',
                'rl-row',
                'rl-tb',
                'row',
                'table',
                'tb',
              ]);
              this.locale = e.locale || '';
              this.maxH = (0, o.getMeasurement)(e.maxH, '0pt');
              this.maxW = (0, o.getMeasurement)(e.maxW, '0pt');
              this.mergeMode = (0, o.getStringOption)(e.mergeMode, ['consumeData', 'matchTemplate']);
              this.minH = (0, o.getMeasurement)(e.minH, '0pt');
              this.minW = (0, o.getMeasurement)(e.minW, '0pt');
              this.name = e.name || '';
              this.presence = (0, o.getStringOption)(e.presence, ['visible', 'hidden', 'inactive', 'invisible']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.restoreState = (0, o.getStringOption)(e.restoreState, ['manual', 'auto']);
              this.scope = (0, o.getStringOption)(e.scope, ['name', 'none']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.w = e.w ? (0, o.getMeasurement)(e.w) : '';
              this.x = (0, o.getMeasurement)(e.x, '0pt');
              this.y = (0, o.getMeasurement)(e.y, '0pt');
              this.assist = null;
              this.bind = null;
              this.bookend = null;
              this.border = null;
              this.break = null;
              this.calculate = null;
              this.desc = null;
              this.extras = null;
              this.keep = null;
              this.margin = null;
              this.occur = null;
              this.overflow = null;
              this.pageSet = null;
              this.para = null;
              this.traversal = null;
              this.validate = null;
              this.variables = null;
              this.area = new r.XFAObjectArray();
              this.breakAfter = new r.XFAObjectArray();
              this.breakBefore = new r.XFAObjectArray();
              this.connect = new r.XFAObjectArray();
              this.draw = new r.XFAObjectArray();
              this.event = new r.XFAObjectArray();
              this.exObject = new r.XFAObjectArray();
              this.exclGroup = new r.XFAObjectArray();
              this.field = new r.XFAObjectArray();
              this.proto = new r.XFAObjectArray();
              this.setProperty = new r.XFAObjectArray();
              this.subform = new r.XFAObjectArray();
              this.subformSet = new r.XFAObjectArray();
            }
            [r.$getSubformParent]() {
              const e = this[r.$getParent]();
              return e instanceof SubformSet ? e[r.$getSubformParent]() : e;
            }
            [r.$isBindable]() {
              return !0;
            }
            [r.$isThereMoreWidth]() {
              return (
                (this.layout.endsWith('-tb') && 0 === this[r.$extra].attempt && this[r.$extra].numberInLine > 0) ||
                this[r.$getParent]()[r.$isThereMoreWidth]()
              );
            }
            *[r.$getContainedChildren]() {
              yield* getContainedChildren(this);
            }
            [r.$flushHTML]() {
              return (0, i.flushHTML)(this);
            }
            [r.$addHTML](e, t) {
              (0, i.addHTML)(this, e, t);
            }
            [r.$getAvailableSpace]() {
              return (0, i.getAvailableSpace)(this);
            }
            [r.$isSplittable]() {
              const e = this[r.$getSubformParent]();
              if (!e[r.$isSplittable]()) return !1;
              if (void 0 !== this[r.$extra]._isSplittable) return this[r.$extra]._isSplittable;
              if ('position' === this.layout || this.layout.includes('row')) {
                this[r.$extra]._isSplittable = !1;
                return !1;
              }
              if (this.keep && 'none' !== this.keep.intact) {
                this[r.$extra]._isSplittable = !1;
                return !1;
              }
              if (e.layout && e.layout.endsWith('-tb') && 0 !== e[r.$extra].numberInLine) return !1;
              this[r.$extra]._isSplittable = !0;
              return !0;
            }
            [r.$toHTML](e) {
              setTabIndex(this);
              if (this.break) {
                if ('auto' !== this.break.after || '' !== this.break.afterTarget) {
                  const e = new BreakAfter({
                    targetType: this.break.after,
                    target: this.break.afterTarget,
                    startNew: this.break.startNew.toString(),
                  });
                  e[r.$globalData] = this[r.$globalData];
                  this[r.$appendChild](e);
                  this.breakAfter.push(e);
                }
                if ('auto' !== this.break.before || '' !== this.break.beforeTarget) {
                  const e = new BreakBefore({
                    targetType: this.break.before,
                    target: this.break.beforeTarget,
                    startNew: this.break.startNew.toString(),
                  });
                  e[r.$globalData] = this[r.$globalData];
                  this[r.$appendChild](e);
                  this.breakBefore.push(e);
                }
                if ('' !== this.break.overflowTarget) {
                  const e = new Overflow({
                    target: this.break.overflowTarget,
                    leader: this.break.overflowLeader,
                    trailer: this.break.overflowTrailer,
                  });
                  e[r.$globalData] = this[r.$globalData];
                  this[r.$appendChild](e);
                  this.overflow.push(e);
                }
                this[r.$removeChild](this.break);
                this.break = null;
              }
              if ('hidden' === this.presence || 'inactive' === this.presence) return o.HTMLResult.EMPTY;
              (this.breakBefore.children.length > 1 || this.breakAfter.children.length > 1) &&
                (0, c.warn)('XFA - Several breakBefore or breakAfter in subforms: please file a bug.');
              if (this.breakBefore.children.length >= 1) {
                const e = this.breakBefore.children[0];
                if (handleBreak(e)) return o.HTMLResult.breakNode(e);
              }
              if (this[r.$extra] && this[r.$extra].afterBreakAfter) return o.HTMLResult.EMPTY;
              (0, s.fixDimensions)(this);
              const t = [],
                a = { id: this[r.$uid], class: [] };
              (0, s.setAccess)(this, a.class);
              this[r.$extra] || (this[r.$extra] = Object.create(null));
              Object.assign(this[r.$extra], {
                children: t,
                line: null,
                attributes: a,
                attempt: 0,
                numberInLine: 0,
                availableSpace: {
                  width: Math.min(this.w || 1 / 0, e.width),
                  height: Math.min(this.h || 1 / 0, e.height),
                },
                width: 0,
                height: 0,
                prevHeight: 0,
                currentWidth: 0,
              });
              const n = this[r.$getTemplateRoot](),
                l = n[r.$extra].noLayoutFailure,
                h = this[r.$isSplittable]();
              h || setFirstUnsplittable(this);
              if (!(0, i.checkDimensions)(this, e)) return o.HTMLResult.FAILURE;
              const u = new Set(['area', 'draw', 'exclGroup', 'field', 'subform', 'subformSet']);
              if (this.layout.includes('row')) {
                const e = this[r.$getSubformParent]().columnWidths;
                if (Array.isArray(e) && e.length > 0) {
                  this[r.$extra].columnWidths = e;
                  this[r.$extra].currentColumn = 0;
                }
              }
              const d = (0, s.toStyle)(
                  this,
                  'anchorType',
                  'dimensions',
                  'position',
                  'presence',
                  'border',
                  'margin',
                  'hAlign'
                ),
                f = ['xfaSubform'],
                g = (0, s.layoutClass)(this);
              g && f.push(g);
              a.style = d;
              a.class = f;
              this.name && (a.xfaName = this.name);
              if (this.overflow) {
                const t = this.overflow[r.$getExtra]();
                if (t.addLeader) {
                  t.addLeader = !1;
                  handleOverflow(this, t.leader, e);
                }
              }
              this[r.$pushPara]();
              const p = 'lr-tb' === this.layout || 'rl-tb' === this.layout,
                m = p ? 2 : 1;
              for (; this[r.$extra].attempt < m; this[r.$extra].attempt++) {
                p && 1 === this[r.$extra].attempt && (this[r.$extra].numberInLine = 0);
                const e = this[r.$childrenToHTML]({ filter: u, include: !0 });
                if (e.success) break;
                if (e.isBreak()) {
                  this[r.$popPara]();
                  return e;
                }
                if (
                  p &&
                  0 === this[r.$extra].attempt &&
                  0 === this[r.$extra].numberInLine &&
                  !n[r.$extra].noLayoutFailure
                ) {
                  this[r.$extra].attempt = m;
                  break;
                }
              }
              this[r.$popPara]();
              h || unsetFirstUnsplittable(this);
              n[r.$extra].noLayoutFailure = l;
              if (this[r.$extra].attempt === m) {
                this.overflow && (this[r.$getTemplateRoot]()[r.$extra].overflowNode = this.overflow);
                h || delete this[r.$extra];
                return o.HTMLResult.FAILURE;
              }
              if (this.overflow) {
                const t = this.overflow[r.$getExtra]();
                if (t.addTrailer) {
                  t.addTrailer = !1;
                  handleOverflow(this, t.trailer, e);
                }
              }
              let b = 0,
                y = 0;
              if (this.margin) {
                b = this.margin.leftInset + this.margin.rightInset;
                y = this.margin.topInset + this.margin.bottomInset;
              }
              const w = Math.max(this[r.$extra].width + b, this.w || 0),
                S = Math.max(this[r.$extra].height + y, this.h || 0),
                x = [this.x, this.y, w, S];
              '' === this.w && (d.width = (0, s.measureToString)(w));
              '' === this.h && (d.height = (0, s.measureToString)(S));
              if (('0px' === d.width || '0px' === d.height) && 0 === t.length) return o.HTMLResult.EMPTY;
              const C = { name: 'div', attributes: a, children: t };
              applyAssist(this, a);
              const k = o.HTMLResult.success((0, s.createWrapper)(this, C), x);
              if (this.breakAfter.children.length >= 1) {
                const e = this.breakAfter.children[0];
                if (handleBreak(e)) {
                  this[r.$extra].afterBreakAfter = k;
                  return o.HTMLResult.breakNode(e);
                }
              }
              delete this[r.$extra];
              return k;
            }
          }
          class SubformSet extends r.XFAObject {
            constructor(e) {
              super(d, 'subformSet', !0);
              this.id = e.id || '';
              this.name = e.name || '';
              this.relation = (0, o.getStringOption)(e.relation, ['ordered', 'choice', 'unordered']);
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.bookend = null;
              this.break = null;
              this.desc = null;
              this.extras = null;
              this.occur = null;
              this.overflow = null;
              this.breakAfter = new r.XFAObjectArray();
              this.breakBefore = new r.XFAObjectArray();
              this.subform = new r.XFAObjectArray();
              this.subformSet = new r.XFAObjectArray();
            }
            *[r.$getContainedChildren]() {
              yield* getContainedChildren(this);
            }
            [r.$getSubformParent]() {
              let e = this[r.$getParent]();
              for (; !(e instanceof Subform); ) e = e[r.$getParent]();
              return e;
            }
            [r.$isBindable]() {
              return !0;
            }
          }
          class SubjectDN extends r.ContentObject {
            constructor(e) {
              super(d, 'subjectDN');
              this.delimiter = e.delimiter || ',';
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              this[r.$content] = new Map(
                this[r.$content].split(this.delimiter).map((e) => {
                  (e = e.split('=', 2))[0] = e[0].trim();
                  return e;
                })
              );
            }
          }
          class SubjectDNs extends r.XFAObject {
            constructor(e) {
              super(d, 'subjectDNs', !0);
              this.id = e.id || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.subjectDN = new r.XFAObjectArray();
            }
          }
          class Submit extends r.XFAObject {
            constructor(e) {
              super(d, 'submit', !0);
              this.embedPDF = (0, o.getInteger)({ data: e.embedPDF, defaultValue: 0, validate: (e) => 1 === e });
              this.format = (0, o.getStringOption)(e.format, ['xdp', 'formdata', 'pdf', 'urlencoded', 'xfd', 'xml']);
              this.id = e.id || '';
              this.target = e.target || '';
              this.textEncoding = (0, o.getKeyword)({
                data: e.textEncoding ? e.textEncoding.toLowerCase() : '',
                defaultValue: '',
                validate: (e) =>
                  [
                    'utf-8',
                    'big-five',
                    'fontspecific',
                    'gbk',
                    'gb-18030',
                    'gb-2312',
                    'ksc-5601',
                    'none',
                    'shift-jis',
                    'ucs-2',
                    'utf-16',
                  ].includes(e) || e.match(/iso-8859-\d{2}/),
              });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.xdpContent = e.xdpContent || '';
              this.encrypt = null;
              this.encryptData = new r.XFAObjectArray();
              this.signData = new r.XFAObjectArray();
            }
          }
          class Template extends r.XFAObject {
            constructor(e) {
              super(d, 'template', !0);
              this.baseProfile = (0, o.getStringOption)(e.baseProfile, ['full', 'interactiveForms']);
              this.extras = null;
              this.subform = new r.XFAObjectArray();
            }
            [r.$finalize]() {
              0 === this.subform.children.length && (0, c.warn)('XFA - No subforms in template node.');
              this.subform.children.length >= 2 &&
                (0, c.warn)('XFA - Several subforms in template node: please file a bug.');
              this[r.$tabIndex] = 5e3;
            }
            [r.$isSplittable]() {
              return !0;
            }
            [r.$searchNode](e, t) {
              return e.startsWith('#') ? [this[r.$ids].get(e.slice(1))] : (0, u.searchNode)(this, t, e, !0, !0);
            }
            *[r.$toPages]() {
              if (!this.subform.children.length) return o.HTMLResult.success({ name: 'div', children: [] });
              this[r.$extra] = {
                overflowNode: null,
                firstUnsplittable: null,
                currentContentArea: null,
                currentPageArea: null,
                noLayoutFailure: !1,
                pageNumber: 1,
                pagePosition: 'first',
                oddOrEven: 'odd',
                blankOrNotBlank: 'nonBlank',
                paraStack: [],
              };
              const e = this.subform.children[0];
              e.pageSet[r.$cleanPage]();
              const t = e.pageSet.pageArea.children,
                a = { name: 'div', children: [] };
              let n = null,
                i = null,
                s = null;
              if (e.breakBefore.children.length >= 1) {
                i = e.breakBefore.children[0];
                s = i.target;
              } else if (e.subform.children.length >= 1 && e.subform.children[0].breakBefore.children.length >= 1) {
                i = e.subform.children[0].breakBefore.children[0];
                s = i.target;
              } else if (e.break && e.break.beforeTarget) {
                i = e.break;
                s = i.beforeTarget;
              } else if (
                e.subform.children.length >= 1 &&
                e.subform.children[0].break &&
                e.subform.children[0].break.beforeTarget
              ) {
                i = e.subform.children[0].break;
                s = i.beforeTarget;
              }
              if (i) {
                const e = this[r.$searchNode](s, i[r.$getParent]());
                if (e instanceof PageArea) {
                  n = e;
                  i[r.$extra] = {};
                }
              }
              n || (n = t[0]);
              n[r.$extra] = { numberOfUse: 1 };
              const l = n[r.$getParent]();
              l[r.$extra] = { numberOfUse: 1, pageIndex: l.pageArea.children.indexOf(n), pageSetIndex: 0 };
              let h,
                u = null,
                d = null,
                f = !0,
                g = 0,
                p = 0;
              for (;;) {
                if (f) g = 0;
                else {
                  a.children.pop();
                  if (3 == ++g) {
                    (0, c.warn)('XFA - Something goes wrong: please file a bug.');
                    return a;
                  }
                }
                h = null;
                this[r.$extra].currentPageArea = n;
                const t = n[r.$toHTML]().html;
                a.children.push(t);
                if (u) {
                  this[r.$extra].noLayoutFailure = !0;
                  t.children.push(u[r.$toHTML](n[r.$extra].space).html);
                  u = null;
                }
                if (d) {
                  this[r.$extra].noLayoutFailure = !0;
                  t.children.push(d[r.$toHTML](n[r.$extra].space).html);
                  d = null;
                }
                const i = n.contentArea.children,
                  s = t.children.filter((e) => e.attributes.class.includes('xfaContentarea'));
                f = !1;
                this[r.$extra].firstUnsplittable = null;
                this[r.$extra].noLayoutFailure = !1;
                const flush = (t) => {
                  const a = e[r.$flushHTML]();
                  if (a) {
                    f = f || (a.children && 0 !== a.children.length);
                    s[t].children.push(a);
                  }
                };
                for (let t = p, n = i.length; t < n; t++) {
                  const n = (this[r.$extra].currentContentArea = i[t]),
                    o = { width: n.w, height: n.h };
                  p = 0;
                  if (u) {
                    s[t].children.push(u[r.$toHTML](o).html);
                    u = null;
                  }
                  if (d) {
                    s[t].children.push(d[r.$toHTML](o).html);
                    d = null;
                  }
                  const c = e[r.$toHTML](o);
                  if (c.success) {
                    if (c.html) {
                      f = f || (c.html.children && 0 !== c.html.children.length);
                      s[t].children.push(c.html);
                    } else !f && a.children.length > 1 && a.children.pop();
                    return a;
                  }
                  if (c.isBreak()) {
                    const e = c.breakNode;
                    flush(t);
                    if ('auto' === e.targetType) continue;
                    if (e.leader) {
                      u = this[r.$searchNode](e.leader, e[r.$getParent]());
                      u = u ? u[0] : null;
                    }
                    if (e.trailer) {
                      d = this[r.$searchNode](e.trailer, e[r.$getParent]());
                      d = d ? d[0] : null;
                    }
                    if ('pageArea' === e.targetType) {
                      h = e[r.$extra].target;
                      t = 1 / 0;
                    } else if (e[r.$extra].target) {
                      h = e[r.$extra].target;
                      p = e[r.$extra].index + 1;
                      t = 1 / 0;
                    } else t = e[r.$extra].index;
                  } else if (this[r.$extra].overflowNode) {
                    const e = this[r.$extra].overflowNode;
                    this[r.$extra].overflowNode = null;
                    const a = e[r.$getExtra](),
                      n = a.target;
                    a.addLeader = null !== a.leader;
                    a.addTrailer = null !== a.trailer;
                    flush(t);
                    const s = t;
                    t = 1 / 0;
                    if (n instanceof PageArea) h = n;
                    else if (n instanceof ContentArea) {
                      const e = i.indexOf(n);
                      if (-1 !== e) e > s ? (t = e - 1) : (p = e);
                      else {
                        h = n[r.$getParent]();
                        p = h.contentArea.children.indexOf(n);
                      }
                    }
                  } else flush(t);
                }
                this[r.$extra].pageNumber += 1;
                h && (h[r.$isUsable]() ? (h[r.$extra].numberOfUse += 1) : (h = null));
                n = h || n[r.$getNextPage]();
                yield null;
              }
            }
          }
          t.Template = Template;
          class Text extends r.ContentObject {
            constructor(e) {
              super(d, 'text');
              this.id = e.id || '';
              this.maxChars = (0, o.getInteger)({ data: e.maxChars, defaultValue: 0, validate: (e) => e >= 0 });
              this.name = e.name || '';
              this.rid = e.rid || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$acceptWhitespace]() {
              return !0;
            }
            [r.$onChild](e) {
              if (e[r.$namespaceId] === n.NamespaceIds.xhtml.id) {
                this[r.$content] = e;
                return !0;
              }
              (0, c.warn)(`XFA - Invalid content in Text: ${e[r.$nodeName]}.`);
              return !1;
            }
            [r.$onText](e) {
              this[r.$content] instanceof r.XFAObject || super[r.$onText](e);
            }
            [r.$finalize]() {
              'string' == typeof this[r.$content] && (this[r.$content] = this[r.$content].replace(/\r\n/g, '\n'));
            }
            [r.$getExtra]() {
              return 'string' == typeof this[r.$content]
                ? this[r.$content]
                    .split(/[\u2029\u2028\n]/)
                    .reduce((e, t) => {
                      t && e.push(t);
                      return e;
                    }, [])
                    .join('\n')
                : this[r.$content][r.$text]();
            }
            [r.$toHTML](e) {
              if ('string' == typeof this[r.$content]) {
                const e = valueToHtml(this[r.$content]).html;
                if (this[r.$content].includes('\u2029')) {
                  e.name = 'div';
                  e.children = [];
                  this[r.$content]
                    .split('\u2029')
                    .map((e) =>
                      e.split(/[\u2028\n]/).reduce((e, t) => {
                        e.push({ name: 'span', value: t }, { name: 'br' });
                        return e;
                      }, [])
                    )
                    .forEach((t) => {
                      e.children.push({ name: 'p', children: t });
                    });
                } else if (/[\u2028\n]/.test(this[r.$content])) {
                  e.name = 'div';
                  e.children = [];
                  this[r.$content].split(/[\u2028\n]/).forEach((t) => {
                    e.children.push({ name: 'span', value: t }, { name: 'br' });
                  });
                }
                return o.HTMLResult.success(e);
              }
              return this[r.$content][r.$toHTML](e);
            }
          }
          t.Text = Text;
          class TextEdit extends r.XFAObject {
            constructor(e) {
              super(d, 'textEdit', !0);
              this.allowRichText = (0, o.getInteger)({
                data: e.allowRichText,
                defaultValue: 0,
                validate: (e) => 1 === e,
              });
              this.hScrollPolicy = (0, o.getStringOption)(e.hScrollPolicy, ['auto', 'off', 'on']);
              this.id = e.id || '';
              this.multiLine = (0, o.getInteger)({
                data: e.multiLine,
                defaultValue: '',
                validate: (e) => 0 === e || 1 === e,
              });
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.vScrollPolicy = (0, o.getStringOption)(e.vScrollPolicy, ['auto', 'off', 'on']);
              this.border = null;
              this.comb = null;
              this.extras = null;
              this.margin = null;
            }
            [r.$toHTML](e) {
              const t = (0, s.toStyle)(this, 'border', 'font', 'margin');
              let a;
              const n = this[r.$getParent]()[r.$getParent]();
              '' === this.multiLine && (this.multiLine = n instanceof Draw ? 1 : 0);
              a =
                1 === this.multiLine
                  ? {
                      name: 'textarea',
                      attributes: {
                        dataId: (n[r.$data] && n[r.$data][r.$uid]) || n[r.$uid],
                        fieldId: n[r.$uid],
                        class: ['xfaTextfield'],
                        style: t,
                        'aria-label': ariaLabel(n),
                        'aria-required': !1,
                      },
                    }
                  : {
                      name: 'input',
                      attributes: {
                        type: 'text',
                        dataId: (n[r.$data] && n[r.$data][r.$uid]) || n[r.$uid],
                        fieldId: n[r.$uid],
                        class: ['xfaTextfield'],
                        style: t,
                        'aria-label': ariaLabel(n),
                        'aria-required': !1,
                      },
                    };
              if (isRequired(n)) {
                a.attributes['aria-required'] = !0;
                a.attributes.required = !0;
              }
              return o.HTMLResult.success({ name: 'label', attributes: { class: ['xfaLabel'] }, children: [a] });
            }
          }
          class Time extends r.StringObject {
            constructor(e) {
              super(d, 'time');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
            [r.$finalize]() {
              const e = this[r.$content].trim();
              this[r.$content] = e ? new Date(e) : null;
            }
            [r.$toHTML](e) {
              return valueToHtml(this[r.$content] ? this[r.$content].toString() : '');
            }
          }
          class TimeStamp extends r.XFAObject {
            constructor(e) {
              super(d, 'timeStamp');
              this.id = e.id || '';
              this.server = e.server || '';
              this.type = (0, o.getStringOption)(e.type, ['optional', 'required']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class ToolTip extends r.StringObject {
            constructor(e) {
              super(d, 'toolTip');
              this.id = e.id || '';
              this.rid = e.rid || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Traversal extends r.XFAObject {
            constructor(e) {
              super(d, 'traversal', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.traverse = new r.XFAObjectArray();
            }
          }
          class Traverse extends r.XFAObject {
            constructor(e) {
              super(d, 'traverse', !0);
              this.id = e.id || '';
              this.operation = (0, o.getStringOption)(e.operation, [
                'next',
                'back',
                'down',
                'first',
                'left',
                'right',
                'up',
              ]);
              this.ref = e.ref || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.script = null;
            }
            get name() {
              return this.operation;
            }
            [r.$isTransparent]() {
              return !1;
            }
          }
          class Ui extends r.XFAObject {
            constructor(e) {
              super(d, 'ui', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.picture = null;
              this.barcode = null;
              this.button = null;
              this.checkButton = null;
              this.choiceList = null;
              this.dateTimeEdit = null;
              this.defaultUi = null;
              this.imageEdit = null;
              this.numericEdit = null;
              this.passwordEdit = null;
              this.signature = null;
              this.textEdit = null;
            }
            [r.$getExtra]() {
              if (void 0 === this[r.$extra]) {
                for (const e of Object.getOwnPropertyNames(this)) {
                  if ('extras' === e || 'picture' === e) continue;
                  const t = this[e];
                  if (t instanceof r.XFAObject) {
                    this[r.$extra] = t;
                    return t;
                  }
                }
                this[r.$extra] = null;
              }
              return this[r.$extra];
            }
            [r.$toHTML](e) {
              const t = this[r.$getExtra]();
              return t ? t[r.$toHTML](e) : o.HTMLResult.EMPTY;
            }
          }
          class Validate extends r.XFAObject {
            constructor(e) {
              super(d, 'validate', !0);
              this.formatTest = (0, o.getStringOption)(e.formatTest, ['warning', 'disabled', 'error']);
              this.id = e.id || '';
              this.nullTest = (0, o.getStringOption)(e.nullTest, ['disabled', 'error', 'warning']);
              this.scriptTest = (0, o.getStringOption)(e.scriptTest, ['error', 'disabled', 'warning']);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.extras = null;
              this.message = null;
              this.picture = null;
              this.script = null;
            }
          }
          class Value extends r.XFAObject {
            constructor(e) {
              super(d, 'value', !0);
              this.id = e.id || '';
              this.override = (0, o.getInteger)({ data: e.override, defaultValue: 0, validate: (e) => 1 === e });
              this.relevant = (0, o.getRelevant)(e.relevant);
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.arc = null;
              this.boolean = null;
              this.date = null;
              this.dateTime = null;
              this.decimal = null;
              this.exData = null;
              this.float = null;
              this.image = null;
              this.integer = null;
              this.line = null;
              this.rectangle = null;
              this.text = null;
              this.time = null;
            }
            [r.$setValue](e) {
              const t = this[r.$getParent]();
              if (t instanceof Field && t.ui && t.ui.imageEdit) {
                if (!this.image) {
                  this.image = new Image({});
                  this[r.$appendChild](this.image);
                }
                this.image[r.$content] = e[r.$content];
                return;
              }
              const a = e[r.$nodeName];
              if (null === this[a]) {
                for (const e of Object.getOwnPropertyNames(this)) {
                  const t = this[e];
                  if (t instanceof r.XFAObject) {
                    this[e] = null;
                    this[r.$removeChild](t);
                  }
                }
                this[e[r.$nodeName]] = e;
                this[r.$appendChild](e);
              } else this[a][r.$content] = e[r.$content];
            }
            [r.$text]() {
              if (this.exData)
                return 'string' == typeof this.exData[r.$content]
                  ? this.exData[r.$content].trim()
                  : this.exData[r.$content][r.$text]().trim();
              for (const e of Object.getOwnPropertyNames(this)) {
                if ('image' === e) continue;
                const t = this[e];
                if (t instanceof r.XFAObject) return (t[r.$content] || '').toString().trim();
              }
              return null;
            }
            [r.$toHTML](e) {
              for (const t of Object.getOwnPropertyNames(this)) {
                const a = this[t];
                if (a instanceof r.XFAObject) return a[r.$toHTML](e);
              }
              return o.HTMLResult.EMPTY;
            }
          }
          t.Value = Value;
          class Variables extends r.XFAObject {
            constructor(e) {
              super(d, 'variables', !0);
              this.id = e.id || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
              this.boolean = new r.XFAObjectArray();
              this.date = new r.XFAObjectArray();
              this.dateTime = new r.XFAObjectArray();
              this.decimal = new r.XFAObjectArray();
              this.exData = new r.XFAObjectArray();
              this.float = new r.XFAObjectArray();
              this.image = new r.XFAObjectArray();
              this.integer = new r.XFAObjectArray();
              this.manifest = new r.XFAObjectArray();
              this.script = new r.XFAObjectArray();
              this.text = new r.XFAObjectArray();
              this.time = new r.XFAObjectArray();
            }
            [r.$isTransparent]() {
              return !0;
            }
          }
          class TemplateNamespace {
            static [n.$buildXFAObject](e, t) {
              if (TemplateNamespace.hasOwnProperty(e)) {
                const a = TemplateNamespace[e](t);
                a[r.$setSetAttributes](t);
                return a;
              }
            }
            static appearanceFilter(e) {
              return new AppearanceFilter(e);
            }
            static arc(e) {
              return new Arc(e);
            }
            static area(e) {
              return new Area(e);
            }
            static assist(e) {
              return new Assist(e);
            }
            static barcode(e) {
              return new Barcode(e);
            }
            static bind(e) {
              return new Bind(e);
            }
            static bindItems(e) {
              return new BindItems(e);
            }
            static bookend(e) {
              return new Bookend(e);
            }
            static boolean(e) {
              return new BooleanElement(e);
            }
            static border(e) {
              return new Border(e);
            }
            static break(e) {
              return new Break(e);
            }
            static breakAfter(e) {
              return new BreakAfter(e);
            }
            static breakBefore(e) {
              return new BreakBefore(e);
            }
            static button(e) {
              return new Button(e);
            }
            static calculate(e) {
              return new Calculate(e);
            }
            static caption(e) {
              return new Caption(e);
            }
            static certificate(e) {
              return new Certificate(e);
            }
            static certificates(e) {
              return new Certificates(e);
            }
            static checkButton(e) {
              return new CheckButton(e);
            }
            static choiceList(e) {
              return new ChoiceList(e);
            }
            static color(e) {
              return new Color(e);
            }
            static comb(e) {
              return new Comb(e);
            }
            static connect(e) {
              return new Connect(e);
            }
            static contentArea(e) {
              return new ContentArea(e);
            }
            static corner(e) {
              return new Corner(e);
            }
            static date(e) {
              return new DateElement(e);
            }
            static dateTime(e) {
              return new DateTime(e);
            }
            static dateTimeEdit(e) {
              return new DateTimeEdit(e);
            }
            static decimal(e) {
              return new Decimal(e);
            }
            static defaultUi(e) {
              return new DefaultUi(e);
            }
            static desc(e) {
              return new Desc(e);
            }
            static digestMethod(e) {
              return new DigestMethod(e);
            }
            static digestMethods(e) {
              return new DigestMethods(e);
            }
            static draw(e) {
              return new Draw(e);
            }
            static edge(e) {
              return new Edge(e);
            }
            static encoding(e) {
              return new Encoding(e);
            }
            static encodings(e) {
              return new Encodings(e);
            }
            static encrypt(e) {
              return new Encrypt(e);
            }
            static encryptData(e) {
              return new EncryptData(e);
            }
            static encryption(e) {
              return new Encryption(e);
            }
            static encryptionMethod(e) {
              return new EncryptionMethod(e);
            }
            static encryptionMethods(e) {
              return new EncryptionMethods(e);
            }
            static event(e) {
              return new Event(e);
            }
            static exData(e) {
              return new ExData(e);
            }
            static exObject(e) {
              return new ExObject(e);
            }
            static exclGroup(e) {
              return new ExclGroup(e);
            }
            static execute(e) {
              return new Execute(e);
            }
            static extras(e) {
              return new Extras(e);
            }
            static field(e) {
              return new Field(e);
            }
            static fill(e) {
              return new Fill(e);
            }
            static filter(e) {
              return new Filter(e);
            }
            static float(e) {
              return new Float(e);
            }
            static font(e) {
              return new Font(e);
            }
            static format(e) {
              return new Format(e);
            }
            static handler(e) {
              return new Handler(e);
            }
            static hyphenation(e) {
              return new Hyphenation(e);
            }
            static image(e) {
              return new Image(e);
            }
            static imageEdit(e) {
              return new ImageEdit(e);
            }
            static integer(e) {
              return new Integer(e);
            }
            static issuers(e) {
              return new Issuers(e);
            }
            static items(e) {
              return new Items(e);
            }
            static keep(e) {
              return new Keep(e);
            }
            static keyUsage(e) {
              return new KeyUsage(e);
            }
            static line(e) {
              return new Line(e);
            }
            static linear(e) {
              return new Linear(e);
            }
            static lockDocument(e) {
              return new LockDocument(e);
            }
            static manifest(e) {
              return new Manifest(e);
            }
            static margin(e) {
              return new Margin(e);
            }
            static mdp(e) {
              return new Mdp(e);
            }
            static medium(e) {
              return new Medium(e);
            }
            static message(e) {
              return new Message(e);
            }
            static numericEdit(e) {
              return new NumericEdit(e);
            }
            static occur(e) {
              return new Occur(e);
            }
            static oid(e) {
              return new Oid(e);
            }
            static oids(e) {
              return new Oids(e);
            }
            static overflow(e) {
              return new Overflow(e);
            }
            static pageArea(e) {
              return new PageArea(e);
            }
            static pageSet(e) {
              return new PageSet(e);
            }
            static para(e) {
              return new Para(e);
            }
            static passwordEdit(e) {
              return new PasswordEdit(e);
            }
            static pattern(e) {
              return new Pattern(e);
            }
            static picture(e) {
              return new Picture(e);
            }
            static proto(e) {
              return new Proto(e);
            }
            static radial(e) {
              return new Radial(e);
            }
            static reason(e) {
              return new Reason(e);
            }
            static reasons(e) {
              return new Reasons(e);
            }
            static rectangle(e) {
              return new Rectangle(e);
            }
            static ref(e) {
              return new RefElement(e);
            }
            static script(e) {
              return new Script(e);
            }
            static setProperty(e) {
              return new SetProperty(e);
            }
            static signData(e) {
              return new SignData(e);
            }
            static signature(e) {
              return new Signature(e);
            }
            static signing(e) {
              return new Signing(e);
            }
            static solid(e) {
              return new Solid(e);
            }
            static speak(e) {
              return new Speak(e);
            }
            static stipple(e) {
              return new Stipple(e);
            }
            static subform(e) {
              return new Subform(e);
            }
            static subformSet(e) {
              return new SubformSet(e);
            }
            static subjectDN(e) {
              return new SubjectDN(e);
            }
            static subjectDNs(e) {
              return new SubjectDNs(e);
            }
            static submit(e) {
              return new Submit(e);
            }
            static template(e) {
              return new Template(e);
            }
            static text(e) {
              return new Text(e);
            }
            static textEdit(e) {
              return new TextEdit(e);
            }
            static time(e) {
              return new Time(e);
            }
            static timeStamp(e) {
              return new TimeStamp(e);
            }
            static toolTip(e) {
              return new ToolTip(e);
            }
            static traversal(e) {
              return new Traversal(e);
            }
            static traverse(e) {
              return new Traverse(e);
            }
            static ui(e) {
              return new Ui(e);
            }
            static validate(e) {
              return new Validate(e);
            }
            static value(e) {
              return new Value(e);
            }
            static variables(e) {
              return new Variables(e);
            }
          }
          t.TemplateNamespace = TemplateNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.addHTML = function addHTML(e, t, a) {
            const i = e[r.$extra],
              s = i.availableSpace,
              [o, c, l, h] = a;
            switch (e.layout) {
              case 'position':
                i.width = Math.max(i.width, o + l);
                i.height = Math.max(i.height, c + h);
                i.children.push(t);
                break;
              case 'lr-tb':
              case 'rl-tb':
                if (!i.line || 1 === i.attempt) {
                  i.line = createLine(e, []);
                  i.children.push(i.line);
                  i.numberInLine = 0;
                }
                i.numberInLine += 1;
                i.line.children.push(t);
                if (0 === i.attempt) {
                  i.currentWidth += l;
                  i.height = Math.max(i.height, i.prevHeight + h);
                } else {
                  i.currentWidth = l;
                  i.prevHeight = i.height;
                  i.height += h;
                  i.attempt = 0;
                }
                i.width = Math.max(i.width, i.currentWidth);
                break;
              case 'rl-row':
              case 'row': {
                i.children.push(t);
                i.width += l;
                i.height = Math.max(i.height, h);
                const e = (0, n.measureToString)(i.height);
                for (const t of i.children) t.attributes.style.height = e;
                break;
              }
              case 'table':
              case 'tb':
                i.width = Math.min(s.width, Math.max(i.width, l));
                i.height += h;
                i.children.push(t);
            }
          };
          t.checkDimensions = function checkDimensions(e, t) {
            if (null === e[r.$getTemplateRoot]()[r.$extra].firstUnsplittable) return !0;
            if (0 === e.w || 0 === e.h) return !0;
            const a = e[r.$getSubformParent](),
              n = (a[r.$extra] && a[r.$extra].attempt) || 0,
              [, i, s, o] = (function getTransformedBBox(e) {
                let t,
                  a,
                  r = '' === e.w ? NaN : e.w,
                  n = '' === e.h ? NaN : e.h,
                  [i, s] = [0, 0];
                switch (e.anchorType || '') {
                  case 'bottomCenter':
                    [i, s] = [r / 2, n];
                    break;
                  case 'bottomLeft':
                    [i, s] = [0, n];
                    break;
                  case 'bottomRight':
                    [i, s] = [r, n];
                    break;
                  case 'middleCenter':
                    [i, s] = [r / 2, n / 2];
                    break;
                  case 'middleLeft':
                    [i, s] = [0, n / 2];
                    break;
                  case 'middleRight':
                    [i, s] = [r, n / 2];
                    break;
                  case 'topCenter':
                    [i, s] = [r / 2, 0];
                    break;
                  case 'topRight':
                    [i, s] = [r, 0];
                }
                switch (e.rotate || 0) {
                  case 0:
                    [t, a] = [-i, -s];
                    break;
                  case 90:
                    [t, a] = [-s, i];
                    [r, n] = [n, -r];
                    break;
                  case 180:
                    [t, a] = [i, s];
                    [r, n] = [-r, -n];
                    break;
                  case 270:
                    [t, a] = [s, -i];
                    [r, n] = [-n, r];
                }
                return [e.x + t + Math.min(0, r), e.y + a + Math.min(0, n), Math.abs(r), Math.abs(n)];
              })(e);
            switch (a.layout) {
              case 'lr-tb':
              case 'rl-tb':
                return 0 === n
                  ? e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure
                    ? '' !== e.w
                      ? Math.round(s - t.width) <= 2
                      : t.width > 2
                    : !('' !== e.h && Math.round(o - t.height) > 2) &&
                      ('' !== e.w
                        ? Math.round(s - t.width) <= 2 || (0 === a[r.$extra].numberInLine && t.height > 2)
                        : t.width > 2)
                  : !!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure ||
                      (!('' !== e.h && Math.round(o - t.height) > 2) &&
                        ('' === e.w || Math.round(s - t.width) <= 2 || !a[r.$isThereMoreWidth]()) &&
                        t.height > 2);
              case 'table':
              case 'tb':
                return (
                  !!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure ||
                  ('' === e.h || e[r.$isSplittable]()
                    ? ('' === e.w || Math.round(s - t.width) <= 2 || !a[r.$isThereMoreWidth]()) && t.height > 2
                    : Math.round(o - t.height) <= 2)
                );
              case 'position':
                if (e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure) return !0;
                if ('' === e.h || Math.round(o + i - t.height) <= 2) return !0;
                return o + i > e[r.$getTemplateRoot]()[r.$extra].currentContentArea.h;
              case 'rl-row':
              case 'row':
                return (
                  !!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure || '' === e.h || Math.round(o - t.height) <= 2
                );
              default:
                return !0;
            }
          };
          t.flushHTML = function flushHTML(e) {
            if (!e[r.$extra]) return null;
            const t = { name: 'div', attributes: e[r.$extra].attributes, children: e[r.$extra].children };
            if (e[r.$extra].failingNode) {
              const a = e[r.$extra].failingNode[r.$flushHTML]();
              a && (e.layout.endsWith('-tb') ? t.children.push(createLine(e, [a])) : t.children.push(a));
            }
            if (0 === t.children.length) return null;
            return t;
          };
          t.getAvailableSpace = function getAvailableSpace(e) {
            const t = e[r.$extra].availableSpace,
              a = e.margin ? e.margin.topInset + e.margin.bottomInset : 0,
              n = e.margin ? e.margin.leftInset + e.margin.rightInset : 0;
            switch (e.layout) {
              case 'lr-tb':
              case 'rl-tb':
                return 0 === e[r.$extra].attempt
                  ? { width: t.width - n - e[r.$extra].currentWidth, height: t.height - a - e[r.$extra].prevHeight }
                  : { width: t.width - n, height: t.height - a - e[r.$extra].height };
              case 'rl-row':
              case 'row':
                return {
                  width: e[r.$extra].columnWidths.slice(e[r.$extra].currentColumn).reduce((e, t) => e + t),
                  height: t.height - n,
                };
              case 'table':
              case 'tb':
                return { width: t.width - n, height: t.height - a - e[r.$extra].height };
              default:
                return t;
            }
          };
          var r = a(75),
            n = a(82);
          function createLine(e, t) {
            return { name: 'div', attributes: { class: ['lr-tb' === e.layout ? 'xfaLr' : 'xfaRl'] }, children: t };
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.computeBbox = function computeBbox(e, t, a) {
            let n;
            if ('' !== e.w && '' !== e.h) n = [e.x, e.y, e.w, e.h];
            else {
              if (!a) return null;
              let i = e.w;
              if ('' === i) {
                if (0 === e.maxW) {
                  const t = e[r.$getSubformParent]();
                  i = 'position' === t.layout && '' !== t.w ? 0 : e.minW;
                } else i = Math.min(e.maxW, a.width);
                t.attributes.style.width = measureToString(i);
              }
              let s = e.h;
              if ('' === s) {
                if (0 === e.maxH) {
                  const t = e[r.$getSubformParent]();
                  s = 'position' === t.layout && '' !== t.h ? 0 : e.minH;
                } else s = Math.min(e.maxH, a.height);
                t.attributes.style.height = measureToString(s);
              }
              n = [e.x, e.y, i, s];
            }
            return n;
          };
          t.createWrapper = function createWrapper(e, t) {
            const { attributes: a } = t,
              { style: n } = a,
              i = { name: 'div', attributes: { class: ['xfaWrapper'], style: Object.create(null) }, children: [] };
            a.class.push('xfaWrapped');
            if (e.border) {
              const { widths: a, insets: s } = e.border[r.$extra];
              let o,
                c,
                l = s[0],
                h = s[3];
              const u = s[0] + s[2],
                d = s[1] + s[3];
              switch (e.border.hand) {
                case 'even':
                  l -= a[0] / 2;
                  h -= a[3] / 2;
                  o = `calc(100% + ${(a[1] + a[3]) / 2 - d}px)`;
                  c = `calc(100% + ${(a[0] + a[2]) / 2 - u}px)`;
                  break;
                case 'left':
                  l -= a[0];
                  h -= a[3];
                  o = `calc(100% + ${a[1] + a[3] - d}px)`;
                  c = `calc(100% + ${a[0] + a[2] - u}px)`;
                  break;
                case 'right':
                  o = d ? `calc(100% - ${d}px)` : '100%';
                  c = u ? `calc(100% - ${u}px)` : '100%';
              }
              const f = ['xfaBorder'];
              isPrintOnly(e.border) && f.push('xfaPrintOnly');
              const g = {
                name: 'div',
                attributes: { class: f, style: { top: `${l}px`, left: `${h}px`, width: o, height: c } },
                children: [],
              };
              for (const e of ['border', 'borderWidth', 'borderColor', 'borderRadius', 'borderStyle'])
                if (void 0 !== n[e]) {
                  g.attributes.style[e] = n[e];
                  delete n[e];
                }
              i.children.push(g, t);
            } else i.children.push(t);
            for (const e of [
              'background',
              'backgroundClip',
              'top',
              'left',
              'width',
              'height',
              'minWidth',
              'minHeight',
              'maxWidth',
              'maxHeight',
              'transform',
              'transformOrigin',
              'visibility',
            ])
              if (void 0 !== n[e]) {
                i.attributes.style[e] = n[e];
                delete n[e];
              }
            'absolute' === n.position
              ? (i.attributes.style.position = 'absolute')
              : (i.attributes.style.position = 'relative');
            delete n.position;
            if (n.alignSelf) {
              i.attributes.style.alignSelf = n.alignSelf;
              delete n.alignSelf;
            }
            return i;
          };
          t.fixDimensions = function fixDimensions(e) {
            const t = e[r.$getSubformParent]();
            if (t.layout && t.layout.includes('row')) {
              const a = t[r.$extra],
                n = e.colSpan;
              let i;
              i =
                -1 === n
                  ? a.columnWidths.slice(a.currentColumn).reduce((e, t) => e + t, 0)
                  : a.columnWidths.slice(a.currentColumn, a.currentColumn + n).reduce((e, t) => e + t, 0);
              isNaN(i) || (e.w = i);
            }
            t.layout && 'position' !== t.layout && (e.x = e.y = 0);
            'table' === e.layout &&
              '' === e.w &&
              Array.isArray(e.columnWidths) &&
              (e.w = e.columnWidths.reduce((e, t) => e + t, 0));
          };
          t.fixTextIndent = function fixTextIndent(e) {
            const t = (0, i.getMeasurement)(e.textIndent, '0px');
            if (t >= 0) return;
            const a = 'padding' + ('left' == ('right' === e.textAlign ? 'right' : 'left') ? 'Left' : 'Right'),
              r = (0, i.getMeasurement)(e[a], '0px');
            e[a] = r - t + 'px';
          };
          t.fixURL = function fixURL(e) {
            const t = (0, n.createValidAbsoluteUrl)(e, null, { addDefaultProtocol: !0, tryConvertEncoding: !0 });
            return t ? t.href : null;
          };
          t.isPrintOnly = isPrintOnly;
          t.layoutClass = function layoutClass(e) {
            switch (e.layout) {
              case 'position':
              default:
                return 'xfaPosition';
              case 'lr-tb':
                return 'xfaLrTb';
              case 'rl-row':
                return 'xfaRlRow';
              case 'rl-tb':
                return 'xfaRlTb';
              case 'row':
                return 'xfaRow';
              case 'table':
                return 'xfaTable';
              case 'tb':
                return 'xfaTb';
            }
          };
          t.layoutNode = function layoutNode(e, t) {
            let a = null,
              n = null,
              i = !1;
            if ((!e.w || !e.h) && e.value) {
              let s = 0,
                o = 0;
              if (e.margin) {
                s = e.margin.leftInset + e.margin.rightInset;
                o = e.margin.topInset + e.margin.bottomInset;
              }
              let c = null,
                l = null;
              if (e.para) {
                l = Object.create(null);
                c = '' === e.para.lineHeight ? null : e.para.lineHeight;
                l.top = '' === e.para.spaceAbove ? 0 : e.para.spaceAbove;
                l.bottom = '' === e.para.spaceBelow ? 0 : e.para.spaceBelow;
                l.left = '' === e.para.marginLeft ? 0 : e.para.marginLeft;
                l.right = '' === e.para.marginRight ? 0 : e.para.marginRight;
              }
              let h = e.font;
              if (!h) {
                const t = e[r.$getTemplateRoot]();
                let a = e[r.$getParent]();
                for (; a && a !== t; ) {
                  if (a.font) {
                    h = a.font;
                    break;
                  }
                  a = a[r.$getParent]();
                }
              }
              const u = (e.w || t.width) - s,
                d = e[r.$globalData].fontFinder;
              if (e.value.exData && e.value.exData[r.$content] && 'text/html' === e.value.exData.contentType) {
                const t = layoutText(e.value.exData[r.$content], h, l, c, d, u);
                n = t.width;
                a = t.height;
                i = t.isBroken;
              } else {
                const t = e.value[r.$text]();
                if (t) {
                  const e = layoutText(t, h, l, c, d, u);
                  n = e.width;
                  a = e.height;
                  i = e.isBroken;
                }
              }
              null === n || e.w || (n += s);
              null === a || e.h || (a += o);
            }
            return { w: n, h: a, isBroken: i };
          };
          t.measureToString = measureToString;
          t.setAccess = function setAccess(e, t) {
            switch (e.access) {
              case 'nonInteractive':
                t.push('xfaNonInteractive');
                break;
              case 'readOnly':
                t.push('xfaReadOnly');
                break;
              case 'protected':
                t.push('xfaDisabled');
            }
          };
          t.setFontFamily = function setFontFamily(e, t, a, r) {
            if (!a) {
              delete r.fontFamily;
              return;
            }
            const n = (0, i.stripQuotes)(e.typeface);
            r.fontFamily = `"${n}"`;
            const o = a.find(n);
            if (o) {
              const { fontFamily: a } = o.regular.cssFontInfo;
              a !== n && (r.fontFamily = `"${a}"`);
              const i = getCurrentPara(t);
              if (i && '' !== i.lineHeight) return;
              if (r.lineHeight) return;
              const c = (0, s.selectFont)(e, o);
              c && (r.lineHeight = Math.max(1.2, c.lineHeight));
            }
          };
          t.setMinMaxDimensions = function setMinMaxDimensions(e, t) {
            if ('position' === e[r.$getSubformParent]().layout) {
              e.minW > 0 && (t.minWidth = measureToString(e.minW));
              e.maxW > 0 && (t.maxWidth = measureToString(e.maxW));
              e.minH > 0 && (t.minHeight = measureToString(e.minH));
              e.maxH > 0 && (t.maxHeight = measureToString(e.maxH));
            }
          };
          t.setPara = function setPara(e, t, a) {
            if (a.attributes.class && a.attributes.class.includes('xfaRich')) {
              if (t) {
                '' === e.h && (t.height = 'auto');
                '' === e.w && (t.width = 'auto');
              }
              const n = getCurrentPara(e);
              if (n) {
                const e = a.attributes.style;
                e.display = 'flex';
                e.flexDirection = 'column';
                switch (n.vAlign) {
                  case 'top':
                    e.justifyContent = 'start';
                    break;
                  case 'bottom':
                    e.justifyContent = 'end';
                    break;
                  case 'middle':
                    e.justifyContent = 'center';
                }
                const t = n[r.$toStyle]();
                for (const [a, r] of Object.entries(t)) a in e || (e[a] = r);
              }
            }
          };
          t.toStyle = function toStyle(e, ...t) {
            const a = Object.create(null);
            for (const i of t) {
              const t = e[i];
              if (null !== t)
                if (c.hasOwnProperty(i)) c[i](e, a);
                else if (t instanceof r.XFAObject) {
                  const e = t[r.$toStyle]();
                  e ? Object.assign(a, e) : (0, n.warn)(`(DEBUG) - XFA - style for ${i} not implemented yet`);
                }
            }
            return a;
          };
          var r = a(75),
            n = a(2),
            i = a(76),
            s = a(83),
            o = a(84);
          function measureToString(e) {
            return 'string' == typeof e ? '0px' : Number.isInteger(e) ? `${e}px` : `${e.toFixed(2)}px`;
          }
          const c = {
            anchorType(e, t) {
              const a = e[r.$getSubformParent]();
              if (a && (!a.layout || 'position' === a.layout)) {
                'transform' in t || (t.transform = '');
                switch (e.anchorType) {
                  case 'bottomCenter':
                    t.transform += 'translate(-50%, -100%)';
                    break;
                  case 'bottomLeft':
                    t.transform += 'translate(0,-100%)';
                    break;
                  case 'bottomRight':
                    t.transform += 'translate(-100%,-100%)';
                    break;
                  case 'middleCenter':
                    t.transform += 'translate(-50%,-50%)';
                    break;
                  case 'middleLeft':
                    t.transform += 'translate(0,-50%)';
                    break;
                  case 'middleRight':
                    t.transform += 'translate(-100%,-50%)';
                    break;
                  case 'topCenter':
                    t.transform += 'translate(-50%,0)';
                    break;
                  case 'topRight':
                    t.transform += 'translate(-100%,0)';
                }
              }
            },
            dimensions(e, t) {
              const a = e[r.$getSubformParent]();
              let n = e.w;
              const i = e.h;
              if (a.layout && a.layout.includes('row')) {
                const t = a[r.$extra],
                  i = e.colSpan;
                let s;
                if (-1 === i) {
                  s = t.columnWidths.slice(t.currentColumn).reduce((e, t) => e + t, 0);
                  t.currentColumn = 0;
                } else {
                  s = t.columnWidths.slice(t.currentColumn, t.currentColumn + i).reduce((e, t) => e + t, 0);
                  t.currentColumn = (t.currentColumn + e.colSpan) % t.columnWidths.length;
                }
                isNaN(s) || (n = e.w = s);
              }
              t.width = '' !== n ? measureToString(n) : 'auto';
              t.height = '' !== i ? measureToString(i) : 'auto';
            },
            position(e, t) {
              const a = e[r.$getSubformParent]();
              if (!a || !a.layout || 'position' === a.layout) {
                t.position = 'absolute';
                t.left = measureToString(e.x);
                t.top = measureToString(e.y);
              }
            },
            rotate(e, t) {
              if (e.rotate) {
                'transform' in t || (t.transform = '');
                t.transform += `rotate(-${e.rotate}deg)`;
                t.transformOrigin = 'top left';
              }
            },
            presence(e, t) {
              switch (e.presence) {
                case 'invisible':
                  t.visibility = 'hidden';
                  break;
                case 'hidden':
                case 'inactive':
                  t.display = 'none';
              }
            },
            hAlign(e, t) {
              if ('para' === e[r.$nodeName])
                switch (e.hAlign) {
                  case 'justifyAll':
                    t.textAlign = 'justify-all';
                    break;
                  case 'radix':
                    t.textAlign = 'left';
                    break;
                  default:
                    t.textAlign = e.hAlign;
                }
              else
                switch (e.hAlign) {
                  case 'left':
                    t.alignSelf = 'start';
                    break;
                  case 'center':
                    t.alignSelf = 'center';
                    break;
                  case 'right':
                    t.alignSelf = 'end';
                }
            },
            margin(e, t) {
              e.margin && (t.margin = e.margin[r.$toStyle]().margin);
            },
          };
          function layoutText(e, t, a, n, i, s) {
            const c = new o.TextMeasure(t, a, n, i);
            'string' == typeof e ? c.addString(e) : e[r.$pushGlyphs](c);
            return c.compute(s);
          }
          function isPrintOnly(e) {
            return e.relevant.length > 0 && !e.relevant[0].excluded && 'print' === e.relevant[0].viewname;
          }
          function getCurrentPara(e) {
            const t = e[r.$getTemplateRoot]()[r.$extra].paraStack;
            return t.length ? t.at(-1) : null;
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.FontFinder = void 0;
          t.getMetrics = function getMetrics(e, t = !1) {
            let a = null;
            if (e) {
              const t = (0, n.stripQuotes)(e.typeface),
                i = e[r.$globalData].fontFinder.find(t);
              a = selectFont(e, i);
            }
            if (!a) return { lineHeight: 12, lineGap: 2, lineNoGap: 10 };
            const i = e.size || 10,
              s = a.lineHeight ? Math.max(t ? 0 : 1.2, a.lineHeight) : 1.2,
              o = void 0 === a.lineGap ? 0.2 : a.lineGap;
            return { lineHeight: s * i, lineGap: o * i, lineNoGap: Math.max(1, s - o) * i };
          };
          t.selectFont = selectFont;
          var r = a(75),
            n = a(76),
            i = a(2);
          t.FontFinder = class FontFinder {
            constructor(e) {
              this.fonts = new Map();
              this.cache = new Map();
              this.warned = new Set();
              this.defaultFont = null;
              this.add(e);
            }
            add(e, t = null) {
              for (const t of e) this.addPdfFont(t);
              for (const e of this.fonts.values()) e.regular || (e.regular = e.italic || e.bold || e.bolditalic);
              if (!t || 0 === t.size) return;
              const a = this.fonts.get('PdfJS-Fallback-PdfJS-XFA');
              for (const e of t) this.fonts.set(e, a);
            }
            addPdfFont(e) {
              const t = e.cssFontInfo,
                a = t.fontFamily;
              let r = this.fonts.get(a);
              if (!r) {
                r = Object.create(null);
                this.fonts.set(a, r);
                this.defaultFont || (this.defaultFont = r);
              }
              let n = '';
              const i = parseFloat(t.fontWeight);
              0 !== parseFloat(t.italicAngle) ? (n = i >= 700 ? 'bolditalic' : 'italic') : i >= 700 && (n = 'bold');
              if (!n) {
                (e.name.includes('Bold') || (e.psName && e.psName.includes('Bold'))) && (n = 'bold');
                (e.name.includes('Italic') ||
                  e.name.endsWith('It') ||
                  (e.psName && (e.psName.includes('Italic') || e.psName.endsWith('It')))) &&
                  (n += 'italic');
              }
              n || (n = 'regular');
              r[n] = e;
            }
            getDefault() {
              return this.defaultFont;
            }
            find(e, t = !0) {
              let a = this.fonts.get(e) || this.cache.get(e);
              if (a) return a;
              const r = /,|-|_| |bolditalic|bold|italic|regular|it/gi;
              let n = e.replace(r, '');
              a = this.fonts.get(n);
              if (a) {
                this.cache.set(e, a);
                return a;
              }
              n = n.toLowerCase();
              const s = [];
              for (const [e, t] of this.fonts.entries()) e.replace(r, '').toLowerCase().startsWith(n) && s.push(t);
              if (0 === s.length)
                for (const [, e] of this.fonts.entries())
                  e.regular.name && e.regular.name.replace(r, '').toLowerCase().startsWith(n) && s.push(e);
              if (0 === s.length) {
                n = n.replace(/psmt|mt/gi, '');
                for (const [e, t] of this.fonts.entries()) e.replace(r, '').toLowerCase().startsWith(n) && s.push(t);
              }
              if (0 === s.length)
                for (const e of this.fonts.values())
                  e.regular.name && e.regular.name.replace(r, '').toLowerCase().startsWith(n) && s.push(e);
              if (s.length >= 1) {
                1 !== s.length && t && (0, i.warn)(`XFA - Too many choices to guess the correct font: ${e}`);
                this.cache.set(e, s[0]);
                return s[0];
              }
              if (t && !this.warned.has(e)) {
                this.warned.add(e);
                (0, i.warn)(`XFA - Cannot find the font: ${e}`);
              }
              return null;
            }
          };
          function selectFont(e, t) {
            return 'italic' === e.posture
              ? 'bold' === e.weight
                ? t.bolditalic
                : t.italic
              : 'bold' === e.weight
              ? t.bold
              : t.regular;
          }
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.TextMeasure = void 0;
          var r = a(83);
          class FontInfo {
            constructor(e, t, a, n) {
              this.lineHeight = a;
              this.paraMargin = t || { top: 0, bottom: 0, left: 0, right: 0 };
              if (!e) {
                [this.pdfFont, this.xfaFont] = this.defaultFont(n);
                return;
              }
              this.xfaFont = {
                typeface: e.typeface,
                posture: e.posture,
                weight: e.weight,
                size: e.size,
                letterSpacing: e.letterSpacing,
              };
              const i = n.find(e.typeface);
              if (i) {
                this.pdfFont = (0, r.selectFont)(e, i);
                this.pdfFont || ([this.pdfFont, this.xfaFont] = this.defaultFont(n));
              } else [this.pdfFont, this.xfaFont] = this.defaultFont(n);
            }
            defaultFont(e) {
              const t = e.find('Helvetica', !1) || e.find('Myriad Pro', !1) || e.find('Arial', !1) || e.getDefault();
              if (t && t.regular) {
                const e = t.regular;
                return [
                  e,
                  {
                    typeface: e.cssFontInfo.fontFamily,
                    posture: 'normal',
                    weight: 'normal',
                    size: 10,
                    letterSpacing: 0,
                  },
                ];
              }
              return [null, { typeface: 'Courier', posture: 'normal', weight: 'normal', size: 10, letterSpacing: 0 }];
            }
          }
          class FontSelector {
            constructor(e, t, a, r) {
              this.fontFinder = r;
              this.stack = [new FontInfo(e, t, a, r)];
            }
            pushData(e, t, a) {
              const r = this.stack.at(-1);
              for (const t of ['typeface', 'posture', 'weight', 'size', 'letterSpacing']) e[t] || (e[t] = r.xfaFont[t]);
              for (const e of ['top', 'bottom', 'left', 'right']) isNaN(t[e]) && (t[e] = r.paraMargin[e]);
              const n = new FontInfo(e, t, a || r.lineHeight, this.fontFinder);
              n.pdfFont || (n.pdfFont = r.pdfFont);
              this.stack.push(n);
            }
            popFont() {
              this.stack.pop();
            }
            topFont() {
              return this.stack.at(-1);
            }
          }
          t.TextMeasure = class TextMeasure {
            constructor(e, t, a, r) {
              this.glyphs = [];
              this.fontSelector = new FontSelector(e, t, a, r);
              this.extraHeight = 0;
            }
            pushData(e, t, a) {
              this.fontSelector.pushData(e, t, a);
            }
            popFont(e) {
              return this.fontSelector.popFont();
            }
            addPara() {
              const e = this.fontSelector.topFont();
              this.extraHeight += e.paraMargin.top + e.paraMargin.bottom;
            }
            addString(e) {
              if (!e) return;
              const t = this.fontSelector.topFont(),
                a = t.xfaFont.size;
              if (t.pdfFont) {
                const r = t.xfaFont.letterSpacing,
                  n = t.pdfFont,
                  i = n.lineHeight || 1.2,
                  s = t.lineHeight || Math.max(1.2, i) * a,
                  o = i - (void 0 === n.lineGap ? 0.2 : n.lineGap),
                  c = Math.max(1, o) * a,
                  l = a / 1e3,
                  h = n.defaultWidth || n.charsToGlyphs(' ')[0].width;
                for (const t of e.split(/[\u2029\n]/)) {
                  const e = n.encodeString(t).join(''),
                    a = n.charsToGlyphs(e);
                  for (const e of a) {
                    const t = e.width || h;
                    this.glyphs.push([t * l + r, s, c, e.unicode, !1]);
                  }
                  this.glyphs.push([0, 0, 0, '\n', !0]);
                }
                this.glyphs.pop();
              } else {
                for (const t of e.split(/[\u2029\n]/)) {
                  for (const e of t.split('')) this.glyphs.push([a, 1.2 * a, a, e, !1]);
                  this.glyphs.push([0, 0, 0, '\n', !0]);
                }
                this.glyphs.pop();
              }
            }
            compute(e) {
              let t = -1,
                a = 0,
                r = 0,
                n = 0,
                i = 0,
                s = 0,
                o = !1,
                c = !0;
              for (let l = 0, h = this.glyphs.length; l < h; l++) {
                const [h, u, d, f, g] = this.glyphs[l],
                  p = ' ' === f,
                  m = c ? d : u;
                if (g) {
                  r = Math.max(r, i);
                  i = 0;
                  n += s;
                  s = m;
                  t = -1;
                  a = 0;
                  c = !1;
                } else if (p)
                  if (i + h > e) {
                    r = Math.max(r, i);
                    i = 0;
                    n += s;
                    s = m;
                    t = -1;
                    a = 0;
                    o = !0;
                    c = !1;
                  } else {
                    s = Math.max(m, s);
                    a = i;
                    i += h;
                    t = l;
                  }
                else if (i + h > e) {
                  n += s;
                  s = m;
                  if (-1 !== t) {
                    l = t;
                    r = Math.max(r, a);
                    i = 0;
                    t = -1;
                    a = 0;
                  } else {
                    r = Math.max(r, i);
                    i = h;
                  }
                  o = !0;
                  c = !1;
                } else {
                  i += h;
                  s = Math.max(m, s);
                }
              }
              r = Math.max(r, i);
              n += s + this.extraHeight;
              return { width: 1.02 * r, height: n, isBroken: o };
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.DataHandler = void 0;
          var r = a(75);
          t.DataHandler = class DataHandler {
            constructor(e, t) {
              this.data = t;
              this.dataset = e.datasets || null;
            }
            serialize(e) {
              const t = [[-1, this.data[r.$getChildren]()]];
              for (; t.length > 0; ) {
                const a = t.at(-1),
                  [n, i] = a;
                if (n + 1 === i.length) {
                  t.pop();
                  continue;
                }
                const s = i[++a[0]],
                  o = e.get(s[r.$uid]);
                if (o) s[r.$setValue](o);
                else {
                  const t = s[r.$getAttributes]();
                  for (const a of t.values()) {
                    const t = e.get(a[r.$uid]);
                    if (t) {
                      a[r.$setValue](t);
                      break;
                    }
                  }
                }
                const c = s[r.$getChildren]();
                c.length > 0 && t.push([-1, c]);
              }
              const a = ['<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">'];
              if (this.dataset)
                for (const e of this.dataset[r.$getChildren]()) 'data' !== e[r.$nodeName] && e[r.$toString](a);
              this.data[r.$toString](a);
              a.push('</xfa:datasets>');
              return a.join('');
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XFAParser = void 0;
          var r = a(75),
            n = a(64),
            i = a(87),
            s = a(2);
          class XFAParser extends n.XMLParserBase {
            constructor(e = null, t = !1) {
              super();
              this._builder = new i.Builder(e);
              this._stack = [];
              this._globalData = { usedTypefaces: new Set() };
              this._ids = new Map();
              this._current = this._builder.buildRoot(this._ids);
              this._errorCode = n.XMLParserErrorCode.NoError;
              this._whiteRegex = /^\s+$/;
              this._nbsps = /\xa0+/g;
              this._richText = t;
            }
            parse(e) {
              this.parseXml(e);
              if (this._errorCode === n.XMLParserErrorCode.NoError) {
                this._current[r.$finalize]();
                return this._current.element;
              }
            }
            onText(e) {
              e = e.replace(this._nbsps, (e) => e.slice(1) + ' ');
              this._richText || this._current[r.$acceptWhitespace]()
                ? this._current[r.$onText](e, this._richText)
                : this._whiteRegex.test(e) || this._current[r.$onText](e.trim());
            }
            onCdata(e) {
              this._current[r.$onText](e);
            }
            _mkAttributes(e, t) {
              let a = null,
                n = null;
              const i = Object.create({});
              for (const { name: o, value: c } of e)
                if ('xmlns' === o) a ? (0, s.warn)(`XFA - multiple namespace definition in <${t}>`) : (a = c);
                else if (o.startsWith('xmlns:')) {
                  const e = o.substring('xmlns:'.length);
                  n || (n = []);
                  n.push({ prefix: e, value: c });
                } else {
                  const e = o.indexOf(':');
                  if (-1 === e) i[o] = c;
                  else {
                    let t = i[r.$nsAttributes];
                    t || (t = i[r.$nsAttributes] = Object.create(null));
                    const [a, n] = [o.slice(0, e), o.slice(e + 1)];
                    let s = t[a];
                    s || (s = t[a] = Object.create(null));
                    s[n] = c;
                  }
                }
              return [a, n, i];
            }
            _getNameAndPrefix(e, t) {
              const a = e.indexOf(':');
              return -1 === a ? [e, null] : [e.substring(a + 1), t ? '' : e.substring(0, a)];
            }
            onBeginElement(e, t, a) {
              const [n, i, s] = this._mkAttributes(t, e),
                [o, c] = this._getNameAndPrefix(e, this._builder.isNsAgnostic()),
                l = this._builder.build({ nsPrefix: c, name: o, attributes: s, namespace: n, prefixes: i });
              l[r.$globalData] = this._globalData;
              if (a) {
                l[r.$finalize]();
                this._current[r.$onChild](l) && l[r.$setId](this._ids);
                l[r.$clean](this._builder);
              } else {
                this._stack.push(this._current);
                this._current = l;
              }
            }
            onEndElement(e) {
              const t = this._current;
              if (t[r.$isCDATAXml]() && 'string' == typeof t[r.$content]) {
                const e = new XFAParser();
                e._globalData = this._globalData;
                const a = e.parse(t[r.$content]);
                t[r.$content] = null;
                t[r.$onChild](a);
              }
              t[r.$finalize]();
              this._current = this._stack.pop();
              this._current[r.$onChild](t) && t[r.$setId](this._ids);
              t[r.$clean](this._builder);
            }
            onError(e) {
              this._errorCode = e;
            }
          }
          t.XFAParser = XFAParser;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.Builder = void 0;
          var r = a(77),
            n = a(75),
            i = a(88),
            s = a(80),
            o = a(97),
            c = a(2);
          class Root extends n.XFAObject {
            constructor(e) {
              super(-1, 'root', Object.create(null));
              this.element = null;
              this[n.$ids] = e;
            }
            [n.$onChild](e) {
              this.element = e;
              return !0;
            }
            [n.$finalize]() {
              super[n.$finalize]();
              if (this.element.template instanceof s.Template) {
                this[n.$ids].set(n.$root, this.element);
                this.element.template[n.$resolvePrototypes](this[n.$ids]);
                this.element.template[n.$ids] = this[n.$ids];
              }
            }
          }
          class Empty extends n.XFAObject {
            constructor() {
              super(-1, '', Object.create(null));
            }
            [n.$onChild](e) {
              return !1;
            }
          }
          t.Builder = class Builder {
            constructor(e = null) {
              this._namespaceStack = [];
              this._nsAgnosticLevel = 0;
              this._namespacePrefixes = new Map();
              this._namespaces = new Map();
              this._nextNsId = Math.max(...Object.values(r.NamespaceIds).map(({ id: e }) => e));
              this._currentNamespace = e || new o.UnknownNamespace(++this._nextNsId);
            }
            buildRoot(e) {
              return new Root(e);
            }
            build({ nsPrefix: e, name: t, attributes: a, namespace: s, prefixes: o }) {
              const c = null !== s;
              if (c) {
                this._namespaceStack.push(this._currentNamespace);
                this._currentNamespace = this._searchNamespace(s);
              }
              o && this._addNamespacePrefix(o);
              if (a.hasOwnProperty(n.$nsAttributes)) {
                const e = i.NamespaceSetUp.datasets,
                  t = a[n.$nsAttributes];
                let r = null;
                for (const [a, n] of Object.entries(t)) {
                  if (this._getNamespaceToUse(a) === e) {
                    r = { xfa: n };
                    break;
                  }
                }
                r ? (a[n.$nsAttributes] = r) : delete a[n.$nsAttributes];
              }
              const l = this._getNamespaceToUse(e),
                h = (l && l[r.$buildXFAObject](t, a)) || new Empty();
              h[n.$isNsAgnostic]() && this._nsAgnosticLevel++;
              (c || o || h[n.$isNsAgnostic]()) &&
                (h[n.$cleanup] = { hasNamespace: c, prefixes: o, nsAgnostic: h[n.$isNsAgnostic]() });
              return h;
            }
            isNsAgnostic() {
              return this._nsAgnosticLevel > 0;
            }
            _searchNamespace(e) {
              let t = this._namespaces.get(e);
              if (t) return t;
              for (const [a, { check: n }] of Object.entries(r.NamespaceIds))
                if (n(e)) {
                  t = i.NamespaceSetUp[a];
                  if (t) {
                    this._namespaces.set(e, t);
                    return t;
                  }
                  break;
                }
              t = new o.UnknownNamespace(++this._nextNsId);
              this._namespaces.set(e, t);
              return t;
            }
            _addNamespacePrefix(e) {
              for (const { prefix: t, value: a } of e) {
                const e = this._searchNamespace(a);
                let r = this._namespacePrefixes.get(t);
                if (!r) {
                  r = [];
                  this._namespacePrefixes.set(t, r);
                }
                r.push(e);
              }
            }
            _getNamespaceToUse(e) {
              if (!e) return this._currentNamespace;
              const t = this._namespacePrefixes.get(e);
              if (t && t.length > 0) return t.at(-1);
              (0, c.warn)(`Unknown namespace prefix: ${e}.`);
              return null;
            }
            clean(e) {
              const { hasNamespace: t, prefixes: a, nsAgnostic: r } = e;
              t && (this._currentNamespace = this._namespaceStack.pop());
              a &&
                a.forEach(({ prefix: e }) => {
                  this._namespacePrefixes.get(e).pop();
                });
              r && this._nsAgnosticLevel--;
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.NamespaceSetUp = void 0;
          var r = a(89),
            n = a(90),
            i = a(91),
            s = a(92),
            o = a(93),
            c = a(94),
            l = a(80),
            h = a(95),
            u = a(96);
          const d = {
            config: r.ConfigNamespace,
            connection: n.ConnectionSetNamespace,
            datasets: i.DatasetsNamespace,
            localeSet: s.LocaleSetNamespace,
            signature: o.SignatureNamespace,
            stylesheet: c.StylesheetNamespace,
            template: l.TemplateNamespace,
            xdp: h.XdpNamespace,
            xhtml: u.XhtmlNamespace,
          };
          t.NamespaceSetUp = d;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ConfigNamespace = void 0;
          var r = a(77),
            n = a(75),
            i = a(76),
            s = a(2);
          const o = r.NamespaceIds.config.id;
          class Acrobat extends n.XFAObject {
            constructor(e) {
              super(o, 'acrobat', !0);
              this.acrobat7 = null;
              this.autoSave = null;
              this.common = null;
              this.validate = null;
              this.validateApprovalSignatures = null;
              this.submitUrl = new n.XFAObjectArray();
            }
          }
          class Acrobat7 extends n.XFAObject {
            constructor(e) {
              super(o, 'acrobat7', !0);
              this.dynamicRender = null;
            }
          }
          class ADBE_JSConsole extends n.OptionObject {
            constructor(e) {
              super(o, 'ADBE_JSConsole', ['delegate', 'Enable', 'Disable']);
            }
          }
          class ADBE_JSDebugger extends n.OptionObject {
            constructor(e) {
              super(o, 'ADBE_JSDebugger', ['delegate', 'Enable', 'Disable']);
            }
          }
          class AddSilentPrint extends n.Option01 {
            constructor(e) {
              super(o, 'addSilentPrint');
            }
          }
          class AddViewerPreferences extends n.Option01 {
            constructor(e) {
              super(o, 'addViewerPreferences');
            }
          }
          class AdjustData extends n.Option10 {
            constructor(e) {
              super(o, 'adjustData');
            }
          }
          class AdobeExtensionLevel extends n.IntegerObject {
            constructor(e) {
              super(o, 'adobeExtensionLevel', 0, (e) => e >= 1 && e <= 8);
            }
          }
          class Agent extends n.XFAObject {
            constructor(e) {
              super(o, 'agent', !0);
              this.name = e.name ? e.name.trim() : '';
              this.common = new n.XFAObjectArray();
            }
          }
          class AlwaysEmbed extends n.ContentObject {
            constructor(e) {
              super(o, 'alwaysEmbed');
            }
          }
          class Amd extends n.StringObject {
            constructor(e) {
              super(o, 'amd');
            }
          }
          class Area extends n.XFAObject {
            constructor(e) {
              super(o, 'area');
              this.level = (0, i.getInteger)({ data: e.level, defaultValue: 0, validate: (e) => e >= 1 && e <= 3 });
              this.name = (0, i.getStringOption)(e.name, [
                '',
                'barcode',
                'coreinit',
                'deviceDriver',
                'font',
                'general',
                'layout',
                'merge',
                'script',
                'signature',
                'sourceSet',
                'templateCache',
              ]);
            }
          }
          class Attributes extends n.OptionObject {
            constructor(e) {
              super(o, 'attributes', ['preserve', 'delegate', 'ignore']);
            }
          }
          class AutoSave extends n.OptionObject {
            constructor(e) {
              super(o, 'autoSave', ['disabled', 'enabled']);
            }
          }
          class Base extends n.StringObject {
            constructor(e) {
              super(o, 'base');
            }
          }
          class BatchOutput extends n.XFAObject {
            constructor(e) {
              super(o, 'batchOutput');
              this.format = (0, i.getStringOption)(e.format, ['none', 'concat', 'zip', 'zipCompress']);
            }
          }
          class BehaviorOverride extends n.ContentObject {
            constructor(e) {
              super(o, 'behaviorOverride');
            }
            [n.$finalize]() {
              this[n.$content] = new Map(
                this[n.$content]
                  .trim()
                  .split(/\s+/)
                  .filter((e) => e.includes(':'))
                  .map((e) => e.split(':', 2))
              );
            }
          }
          class Cache extends n.XFAObject {
            constructor(e) {
              super(o, 'cache', !0);
              this.templateCache = null;
            }
          }
          class Change extends n.Option01 {
            constructor(e) {
              super(o, 'change');
            }
          }
          class Common extends n.XFAObject {
            constructor(e) {
              super(o, 'common', !0);
              this.data = null;
              this.locale = null;
              this.localeSet = null;
              this.messaging = null;
              this.suppressBanner = null;
              this.template = null;
              this.validationMessaging = null;
              this.versionControl = null;
              this.log = new n.XFAObjectArray();
            }
          }
          class Compress extends n.XFAObject {
            constructor(e) {
              super(o, 'compress');
              this.scope = (0, i.getStringOption)(e.scope, ['imageOnly', 'document']);
            }
          }
          class CompressLogicalStructure extends n.Option01 {
            constructor(e) {
              super(o, 'compressLogicalStructure');
            }
          }
          class CompressObjectStream extends n.Option10 {
            constructor(e) {
              super(o, 'compressObjectStream');
            }
          }
          class Compression extends n.XFAObject {
            constructor(e) {
              super(o, 'compression', !0);
              this.compressLogicalStructure = null;
              this.compressObjectStream = null;
              this.level = null;
              this.type = null;
            }
          }
          class Config extends n.XFAObject {
            constructor(e) {
              super(o, 'config', !0);
              this.acrobat = null;
              this.present = null;
              this.trace = null;
              this.agent = new n.XFAObjectArray();
            }
          }
          class Conformance extends n.OptionObject {
            constructor(e) {
              super(o, 'conformance', ['A', 'B']);
            }
          }
          class ContentCopy extends n.Option01 {
            constructor(e) {
              super(o, 'contentCopy');
            }
          }
          class Copies extends n.IntegerObject {
            constructor(e) {
              super(o, 'copies', 1, (e) => e >= 1);
            }
          }
          class Creator extends n.StringObject {
            constructor(e) {
              super(o, 'creator');
            }
          }
          class CurrentPage extends n.IntegerObject {
            constructor(e) {
              super(o, 'currentPage', 0, (e) => e >= 0);
            }
          }
          class Data extends n.XFAObject {
            constructor(e) {
              super(o, 'data', !0);
              this.adjustData = null;
              this.attributes = null;
              this.incrementalLoad = null;
              this.outputXSL = null;
              this.range = null;
              this.record = null;
              this.startNode = null;
              this.uri = null;
              this.window = null;
              this.xsl = null;
              this.excludeNS = new n.XFAObjectArray();
              this.transform = new n.XFAObjectArray();
            }
          }
          class Debug extends n.XFAObject {
            constructor(e) {
              super(o, 'debug', !0);
              this.uri = null;
            }
          }
          class DefaultTypeface extends n.ContentObject {
            constructor(e) {
              super(o, 'defaultTypeface');
              this.writingScript = (0, i.getStringOption)(e.writingScript, [
                '*',
                'Arabic',
                'Cyrillic',
                'EastEuropeanRoman',
                'Greek',
                'Hebrew',
                'Japanese',
                'Korean',
                'Roman',
                'SimplifiedChinese',
                'Thai',
                'TraditionalChinese',
                'Vietnamese',
              ]);
            }
          }
          class Destination extends n.OptionObject {
            constructor(e) {
              super(o, 'destination', ['pdf', 'pcl', 'ps', 'webClient', 'zpl']);
            }
          }
          class DocumentAssembly extends n.Option01 {
            constructor(e) {
              super(o, 'documentAssembly');
            }
          }
          class Driver extends n.XFAObject {
            constructor(e) {
              super(o, 'driver', !0);
              this.name = e.name ? e.name.trim() : '';
              this.fontInfo = null;
              this.xdc = null;
            }
          }
          class DuplexOption extends n.OptionObject {
            constructor(e) {
              super(o, 'duplexOption', ['simplex', 'duplexFlipLongEdge', 'duplexFlipShortEdge']);
            }
          }
          class DynamicRender extends n.OptionObject {
            constructor(e) {
              super(o, 'dynamicRender', ['forbidden', 'required']);
            }
          }
          class Embed extends n.Option01 {
            constructor(e) {
              super(o, 'embed');
            }
          }
          class Encrypt extends n.Option01 {
            constructor(e) {
              super(o, 'encrypt');
            }
          }
          class Encryption extends n.XFAObject {
            constructor(e) {
              super(o, 'encryption', !0);
              this.encrypt = null;
              this.encryptionLevel = null;
              this.permissions = null;
            }
          }
          class EncryptionLevel extends n.OptionObject {
            constructor(e) {
              super(o, 'encryptionLevel', ['40bit', '128bit']);
            }
          }
          class Enforce extends n.StringObject {
            constructor(e) {
              super(o, 'enforce');
            }
          }
          class Equate extends n.XFAObject {
            constructor(e) {
              super(o, 'equate');
              this.force = (0, i.getInteger)({ data: e.force, defaultValue: 1, validate: (e) => 0 === e });
              this.from = e.from || '';
              this.to = e.to || '';
            }
          }
          class EquateRange extends n.XFAObject {
            constructor(e) {
              super(o, 'equateRange');
              this.from = e.from || '';
              this.to = e.to || '';
              this._unicodeRange = e.unicodeRange || '';
            }
            get unicodeRange() {
              const e = [],
                t = /U\+([0-9a-fA-F]+)/,
                a = this._unicodeRange;
              for (let r of a
                .split(',')
                .map((e) => e.trim())
                .filter((e) => !!e)) {
                r = r.split('-', 2).map((e) => {
                  const a = e.match(t);
                  return a ? parseInt(a[1], 16) : 0;
                });
                1 === r.length && r.push(r[0]);
                e.push(r);
              }
              return (0, s.shadow)(this, 'unicodeRange', e);
            }
          }
          class Exclude extends n.ContentObject {
            constructor(e) {
              super(o, 'exclude');
            }
            [n.$finalize]() {
              this[n.$content] = this[n.$content]
                .trim()
                .split(/\s+/)
                .filter(
                  (e) => e && ['calculate', 'close', 'enter', 'exit', 'initialize', 'ready', 'validate'].includes(e)
                );
            }
          }
          class ExcludeNS extends n.StringObject {
            constructor(e) {
              super(o, 'excludeNS');
            }
          }
          class FlipLabel extends n.OptionObject {
            constructor(e) {
              super(o, 'flipLabel', ['usePrinterSetting', 'on', 'off']);
            }
          }
          class FontInfo extends n.XFAObject {
            constructor(e) {
              super(o, 'fontInfo', !0);
              this.embed = null;
              this.map = null;
              this.subsetBelow = null;
              this.alwaysEmbed = new n.XFAObjectArray();
              this.defaultTypeface = new n.XFAObjectArray();
              this.neverEmbed = new n.XFAObjectArray();
            }
          }
          class FormFieldFilling extends n.Option01 {
            constructor(e) {
              super(o, 'formFieldFilling');
            }
          }
          class GroupParent extends n.StringObject {
            constructor(e) {
              super(o, 'groupParent');
            }
          }
          class IfEmpty extends n.OptionObject {
            constructor(e) {
              super(o, 'ifEmpty', ['dataValue', 'dataGroup', 'ignore', 'remove']);
            }
          }
          class IncludeXDPContent extends n.StringObject {
            constructor(e) {
              super(o, 'includeXDPContent');
            }
          }
          class IncrementalLoad extends n.OptionObject {
            constructor(e) {
              super(o, 'incrementalLoad', ['none', 'forwardOnly']);
            }
          }
          class IncrementalMerge extends n.Option01 {
            constructor(e) {
              super(o, 'incrementalMerge');
            }
          }
          class Interactive extends n.Option01 {
            constructor(e) {
              super(o, 'interactive');
            }
          }
          class Jog extends n.OptionObject {
            constructor(e) {
              super(o, 'jog', ['usePrinterSetting', 'none', 'pageSet']);
            }
          }
          class LabelPrinter extends n.XFAObject {
            constructor(e) {
              super(o, 'labelPrinter', !0);
              this.name = (0, i.getStringOption)(e.name, ['zpl', 'dpl', 'ipl', 'tcpl']);
              this.batchOutput = null;
              this.flipLabel = null;
              this.fontInfo = null;
              this.xdc = null;
            }
          }
          class Layout extends n.OptionObject {
            constructor(e) {
              super(o, 'layout', ['paginate', 'panel']);
            }
          }
          class Level extends n.IntegerObject {
            constructor(e) {
              super(o, 'level', 0, (e) => e > 0);
            }
          }
          class Linearized extends n.Option01 {
            constructor(e) {
              super(o, 'linearized');
            }
          }
          class Locale extends n.StringObject {
            constructor(e) {
              super(o, 'locale');
            }
          }
          class LocaleSet extends n.StringObject {
            constructor(e) {
              super(o, 'localeSet');
            }
          }
          class Log extends n.XFAObject {
            constructor(e) {
              super(o, 'log', !0);
              this.mode = null;
              this.threshold = null;
              this.to = null;
              this.uri = null;
            }
          }
          class MapElement extends n.XFAObject {
            constructor(e) {
              super(o, 'map', !0);
              this.equate = new n.XFAObjectArray();
              this.equateRange = new n.XFAObjectArray();
            }
          }
          class MediumInfo extends n.XFAObject {
            constructor(e) {
              super(o, 'mediumInfo', !0);
              this.map = null;
            }
          }
          class Message extends n.XFAObject {
            constructor(e) {
              super(o, 'message', !0);
              this.msgId = null;
              this.severity = null;
            }
          }
          class Messaging extends n.XFAObject {
            constructor(e) {
              super(o, 'messaging', !0);
              this.message = new n.XFAObjectArray();
            }
          }
          class Mode extends n.OptionObject {
            constructor(e) {
              super(o, 'mode', ['append', 'overwrite']);
            }
          }
          class ModifyAnnots extends n.Option01 {
            constructor(e) {
              super(o, 'modifyAnnots');
            }
          }
          class MsgId extends n.IntegerObject {
            constructor(e) {
              super(o, 'msgId', 1, (e) => e >= 1);
            }
          }
          class NameAttr extends n.StringObject {
            constructor(e) {
              super(o, 'nameAttr');
            }
          }
          class NeverEmbed extends n.ContentObject {
            constructor(e) {
              super(o, 'neverEmbed');
            }
          }
          class NumberOfCopies extends n.IntegerObject {
            constructor(e) {
              super(o, 'numberOfCopies', null, (e) => e >= 2 && e <= 5);
            }
          }
          class OpenAction extends n.XFAObject {
            constructor(e) {
              super(o, 'openAction', !0);
              this.destination = null;
            }
          }
          class Output extends n.XFAObject {
            constructor(e) {
              super(o, 'output', !0);
              this.to = null;
              this.type = null;
              this.uri = null;
            }
          }
          class OutputBin extends n.StringObject {
            constructor(e) {
              super(o, 'outputBin');
            }
          }
          class OutputXSL extends n.XFAObject {
            constructor(e) {
              super(o, 'outputXSL', !0);
              this.uri = null;
            }
          }
          class Overprint extends n.OptionObject {
            constructor(e) {
              super(o, 'overprint', ['none', 'both', 'draw', 'field']);
            }
          }
          class Packets extends n.StringObject {
            constructor(e) {
              super(o, 'packets');
            }
            [n.$finalize]() {
              '*' !== this[n.$content] &&
                (this[n.$content] = this[n.$content]
                  .trim()
                  .split(/\s+/)
                  .filter((e) => ['config', 'datasets', 'template', 'xfdf', 'xslt'].includes(e)));
            }
          }
          class PageOffset extends n.XFAObject {
            constructor(e) {
              super(o, 'pageOffset');
              this.x = (0, i.getInteger)({ data: e.x, defaultValue: 'useXDCSetting', validate: (e) => !0 });
              this.y = (0, i.getInteger)({ data: e.y, defaultValue: 'useXDCSetting', validate: (e) => !0 });
            }
          }
          class PageRange extends n.StringObject {
            constructor(e) {
              super(o, 'pageRange');
            }
            [n.$finalize]() {
              const e = this[n.$content]
                  .trim()
                  .split(/\s+/)
                  .map((e) => parseInt(e, 10)),
                t = [];
              for (let a = 0, r = e.length; a < r; a += 2) t.push(e.slice(a, a + 2));
              this[n.$content] = t;
            }
          }
          class Pagination extends n.OptionObject {
            constructor(e) {
              super(o, 'pagination', ['simplex', 'duplexShortEdge', 'duplexLongEdge']);
            }
          }
          class PaginationOverride extends n.OptionObject {
            constructor(e) {
              super(o, 'paginationOverride', [
                'none',
                'forceDuplex',
                'forceDuplexLongEdge',
                'forceDuplexShortEdge',
                'forceSimplex',
              ]);
            }
          }
          class Part extends n.IntegerObject {
            constructor(e) {
              super(o, 'part', 1, (e) => !1);
            }
          }
          class Pcl extends n.XFAObject {
            constructor(e) {
              super(o, 'pcl', !0);
              this.name = e.name || '';
              this.batchOutput = null;
              this.fontInfo = null;
              this.jog = null;
              this.mediumInfo = null;
              this.outputBin = null;
              this.pageOffset = null;
              this.staple = null;
              this.xdc = null;
            }
          }
          class Pdf extends n.XFAObject {
            constructor(e) {
              super(o, 'pdf', !0);
              this.name = e.name || '';
              this.adobeExtensionLevel = null;
              this.batchOutput = null;
              this.compression = null;
              this.creator = null;
              this.encryption = null;
              this.fontInfo = null;
              this.interactive = null;
              this.linearized = null;
              this.openAction = null;
              this.pdfa = null;
              this.producer = null;
              this.renderPolicy = null;
              this.scriptModel = null;
              this.silentPrint = null;
              this.submitFormat = null;
              this.tagged = null;
              this.version = null;
              this.viewerPreferences = null;
              this.xdc = null;
            }
          }
          class Pdfa extends n.XFAObject {
            constructor(e) {
              super(o, 'pdfa', !0);
              this.amd = null;
              this.conformance = null;
              this.includeXDPContent = null;
              this.part = null;
            }
          }
          class Permissions extends n.XFAObject {
            constructor(e) {
              super(o, 'permissions', !0);
              this.accessibleContent = null;
              this.change = null;
              this.contentCopy = null;
              this.documentAssembly = null;
              this.formFieldFilling = null;
              this.modifyAnnots = null;
              this.plaintextMetadata = null;
              this.print = null;
              this.printHighQuality = null;
            }
          }
          class PickTrayByPDFSize extends n.Option01 {
            constructor(e) {
              super(o, 'pickTrayByPDFSize');
            }
          }
          class Picture extends n.StringObject {
            constructor(e) {
              super(o, 'picture');
            }
          }
          class PlaintextMetadata extends n.Option01 {
            constructor(e) {
              super(o, 'plaintextMetadata');
            }
          }
          class Presence extends n.OptionObject {
            constructor(e) {
              super(o, 'presence', ['preserve', 'dissolve', 'dissolveStructure', 'ignore', 'remove']);
            }
          }
          class Present extends n.XFAObject {
            constructor(e) {
              super(o, 'present', !0);
              this.behaviorOverride = null;
              this.cache = null;
              this.common = null;
              this.copies = null;
              this.destination = null;
              this.incrementalMerge = null;
              this.layout = null;
              this.output = null;
              this.overprint = null;
              this.pagination = null;
              this.paginationOverride = null;
              this.script = null;
              this.validate = null;
              this.xdp = null;
              this.driver = new n.XFAObjectArray();
              this.labelPrinter = new n.XFAObjectArray();
              this.pcl = new n.XFAObjectArray();
              this.pdf = new n.XFAObjectArray();
              this.ps = new n.XFAObjectArray();
              this.submitUrl = new n.XFAObjectArray();
              this.webClient = new n.XFAObjectArray();
              this.zpl = new n.XFAObjectArray();
            }
          }
          class Print extends n.Option01 {
            constructor(e) {
              super(o, 'print');
            }
          }
          class PrintHighQuality extends n.Option01 {
            constructor(e) {
              super(o, 'printHighQuality');
            }
          }
          class PrintScaling extends n.OptionObject {
            constructor(e) {
              super(o, 'printScaling', ['appdefault', 'noScaling']);
            }
          }
          class PrinterName extends n.StringObject {
            constructor(e) {
              super(o, 'printerName');
            }
          }
          class Producer extends n.StringObject {
            constructor(e) {
              super(o, 'producer');
            }
          }
          class Ps extends n.XFAObject {
            constructor(e) {
              super(o, 'ps', !0);
              this.name = e.name || '';
              this.batchOutput = null;
              this.fontInfo = null;
              this.jog = null;
              this.mediumInfo = null;
              this.outputBin = null;
              this.staple = null;
              this.xdc = null;
            }
          }
          class Range extends n.ContentObject {
            constructor(e) {
              super(o, 'range');
            }
            [n.$finalize]() {
              this[n.$content] = this[n.$content]
                .trim()
                .split(/\s*,\s*/, 2)
                .map((e) => e.split('-').map((e) => parseInt(e.trim(), 10)))
                .filter((e) => e.every((e) => !isNaN(e)))
                .map((e) => {
                  1 === e.length && e.push(e[0]);
                  return e;
                });
            }
          }
          class Record extends n.ContentObject {
            constructor(e) {
              super(o, 'record');
            }
            [n.$finalize]() {
              this[n.$content] = this[n.$content].trim();
              const e = parseInt(this[n.$content], 10);
              !isNaN(e) && e >= 0 && (this[n.$content] = e);
            }
          }
          class Relevant extends n.ContentObject {
            constructor(e) {
              super(o, 'relevant');
            }
            [n.$finalize]() {
              this[n.$content] = this[n.$content].trim().split(/\s+/);
            }
          }
          class Rename extends n.ContentObject {
            constructor(e) {
              super(o, 'rename');
            }
            [n.$finalize]() {
              this[n.$content] = this[n.$content].trim();
              (this[n.$content].toLowerCase().startsWith('xml') ||
                new RegExp('[\\p{L}_][\\p{L}\\d._\\p{M}-]*', 'u').test(this[n.$content])) &&
                (0, s.warn)('XFA - Rename: invalid XFA name');
            }
          }
          class RenderPolicy extends n.OptionObject {
            constructor(e) {
              super(o, 'renderPolicy', ['server', 'client']);
            }
          }
          class RunScripts extends n.OptionObject {
            constructor(e) {
              super(o, 'runScripts', ['both', 'client', 'none', 'server']);
            }
          }
          class Script extends n.XFAObject {
            constructor(e) {
              super(o, 'script', !0);
              this.currentPage = null;
              this.exclude = null;
              this.runScripts = null;
            }
          }
          class ScriptModel extends n.OptionObject {
            constructor(e) {
              super(o, 'scriptModel', ['XFA', 'none']);
            }
          }
          class Severity extends n.OptionObject {
            constructor(e) {
              super(o, 'severity', ['ignore', 'error', 'information', 'trace', 'warning']);
            }
          }
          class SilentPrint extends n.XFAObject {
            constructor(e) {
              super(o, 'silentPrint', !0);
              this.addSilentPrint = null;
              this.printerName = null;
            }
          }
          class Staple extends n.XFAObject {
            constructor(e) {
              super(o, 'staple');
              this.mode = (0, i.getStringOption)(e.mode, ['usePrinterSetting', 'on', 'off']);
            }
          }
          class StartNode extends n.StringObject {
            constructor(e) {
              super(o, 'startNode');
            }
          }
          class StartPage extends n.IntegerObject {
            constructor(e) {
              super(o, 'startPage', 0, (e) => !0);
            }
          }
          class SubmitFormat extends n.OptionObject {
            constructor(e) {
              super(o, 'submitFormat', ['html', 'delegate', 'fdf', 'xml', 'pdf']);
            }
          }
          class SubmitUrl extends n.StringObject {
            constructor(e) {
              super(o, 'submitUrl');
            }
          }
          class SubsetBelow extends n.IntegerObject {
            constructor(e) {
              super(o, 'subsetBelow', 100, (e) => e >= 0 && e <= 100);
            }
          }
          class SuppressBanner extends n.Option01 {
            constructor(e) {
              super(o, 'suppressBanner');
            }
          }
          class Tagged extends n.Option01 {
            constructor(e) {
              super(o, 'tagged');
            }
          }
          class Template extends n.XFAObject {
            constructor(e) {
              super(o, 'template', !0);
              this.base = null;
              this.relevant = null;
              this.startPage = null;
              this.uri = null;
              this.xsl = null;
            }
          }
          class Threshold extends n.OptionObject {
            constructor(e) {
              super(o, 'threshold', ['trace', 'error', 'information', 'warning']);
            }
          }
          class To extends n.OptionObject {
            constructor(e) {
              super(o, 'to', ['null', 'memory', 'stderr', 'stdout', 'system', 'uri']);
            }
          }
          class TemplateCache extends n.XFAObject {
            constructor(e) {
              super(o, 'templateCache');
              this.maxEntries = (0, i.getInteger)({ data: e.maxEntries, defaultValue: 5, validate: (e) => e >= 0 });
            }
          }
          class Trace extends n.XFAObject {
            constructor(e) {
              super(o, 'trace', !0);
              this.area = new n.XFAObjectArray();
            }
          }
          class Transform extends n.XFAObject {
            constructor(e) {
              super(o, 'transform', !0);
              this.groupParent = null;
              this.ifEmpty = null;
              this.nameAttr = null;
              this.picture = null;
              this.presence = null;
              this.rename = null;
              this.whitespace = null;
            }
          }
          class Type extends n.OptionObject {
            constructor(e) {
              super(o, 'type', [
                'none',
                'ascii85',
                'asciiHex',
                'ccittfax',
                'flate',
                'lzw',
                'runLength',
                'native',
                'xdp',
                'mergedXDP',
              ]);
            }
          }
          class Uri extends n.StringObject {
            constructor(e) {
              super(o, 'uri');
            }
          }
          class Validate extends n.OptionObject {
            constructor(e) {
              super(o, 'validate', ['preSubmit', 'prePrint', 'preExecute', 'preSave']);
            }
          }
          class ValidateApprovalSignatures extends n.ContentObject {
            constructor(e) {
              super(o, 'validateApprovalSignatures');
            }
            [n.$finalize]() {
              this[n.$content] = this[n.$content]
                .trim()
                .split(/\s+/)
                .filter((e) => ['docReady', 'postSign'].includes(e));
            }
          }
          class ValidationMessaging extends n.OptionObject {
            constructor(e) {
              super(o, 'validationMessaging', [
                'allMessagesIndividually',
                'allMessagesTogether',
                'firstMessageOnly',
                'noMessages',
              ]);
            }
          }
          class Version extends n.OptionObject {
            constructor(e) {
              super(o, 'version', ['1.7', '1.6', '1.5', '1.4', '1.3', '1.2']);
            }
          }
          class VersionControl extends n.XFAObject {
            constructor(e) {
              super(o, 'VersionControl');
              this.outputBelow = (0, i.getStringOption)(e.outputBelow, ['warn', 'error', 'update']);
              this.sourceAbove = (0, i.getStringOption)(e.sourceAbove, ['warn', 'error']);
              this.sourceBelow = (0, i.getStringOption)(e.sourceBelow, ['update', 'maintain']);
            }
          }
          class ViewerPreferences extends n.XFAObject {
            constructor(e) {
              super(o, 'viewerPreferences', !0);
              this.ADBE_JSConsole = null;
              this.ADBE_JSDebugger = null;
              this.addViewerPreferences = null;
              this.duplexOption = null;
              this.enforce = null;
              this.numberOfCopies = null;
              this.pageRange = null;
              this.pickTrayByPDFSize = null;
              this.printScaling = null;
            }
          }
          class WebClient extends n.XFAObject {
            constructor(e) {
              super(o, 'webClient', !0);
              this.name = e.name ? e.name.trim() : '';
              this.fontInfo = null;
              this.xdc = null;
            }
          }
          class Whitespace extends n.OptionObject {
            constructor(e) {
              super(o, 'whitespace', ['preserve', 'ltrim', 'normalize', 'rtrim', 'trim']);
            }
          }
          class Window extends n.ContentObject {
            constructor(e) {
              super(o, 'window');
            }
            [n.$finalize]() {
              const e = this[n.$content]
                .trim()
                .split(/\s*,\s*/, 2)
                .map((e) => parseInt(e, 10));
              if (e.some((e) => isNaN(e))) this[n.$content] = [0, 0];
              else {
                1 === e.length && e.push(e[0]);
                this[n.$content] = e;
              }
            }
          }
          class Xdc extends n.XFAObject {
            constructor(e) {
              super(o, 'xdc', !0);
              this.uri = new n.XFAObjectArray();
              this.xsl = new n.XFAObjectArray();
            }
          }
          class Xdp extends n.XFAObject {
            constructor(e) {
              super(o, 'xdp', !0);
              this.packets = null;
            }
          }
          class Xsl extends n.XFAObject {
            constructor(e) {
              super(o, 'xsl', !0);
              this.debug = null;
              this.uri = null;
            }
          }
          class Zpl extends n.XFAObject {
            constructor(e) {
              super(o, 'zpl', !0);
              this.name = e.name ? e.name.trim() : '';
              this.batchOutput = null;
              this.flipLabel = null;
              this.fontInfo = null;
              this.xdc = null;
            }
          }
          class ConfigNamespace {
            static [r.$buildXFAObject](e, t) {
              if (ConfigNamespace.hasOwnProperty(e)) return ConfigNamespace[e](t);
            }
            static acrobat(e) {
              return new Acrobat(e);
            }
            static acrobat7(e) {
              return new Acrobat7(e);
            }
            static ADBE_JSConsole(e) {
              return new ADBE_JSConsole(e);
            }
            static ADBE_JSDebugger(e) {
              return new ADBE_JSDebugger(e);
            }
            static addSilentPrint(e) {
              return new AddSilentPrint(e);
            }
            static addViewerPreferences(e) {
              return new AddViewerPreferences(e);
            }
            static adjustData(e) {
              return new AdjustData(e);
            }
            static adobeExtensionLevel(e) {
              return new AdobeExtensionLevel(e);
            }
            static agent(e) {
              return new Agent(e);
            }
            static alwaysEmbed(e) {
              return new AlwaysEmbed(e);
            }
            static amd(e) {
              return new Amd(e);
            }
            static area(e) {
              return new Area(e);
            }
            static attributes(e) {
              return new Attributes(e);
            }
            static autoSave(e) {
              return new AutoSave(e);
            }
            static base(e) {
              return new Base(e);
            }
            static batchOutput(e) {
              return new BatchOutput(e);
            }
            static behaviorOverride(e) {
              return new BehaviorOverride(e);
            }
            static cache(e) {
              return new Cache(e);
            }
            static change(e) {
              return new Change(e);
            }
            static common(e) {
              return new Common(e);
            }
            static compress(e) {
              return new Compress(e);
            }
            static compressLogicalStructure(e) {
              return new CompressLogicalStructure(e);
            }
            static compressObjectStream(e) {
              return new CompressObjectStream(e);
            }
            static compression(e) {
              return new Compression(e);
            }
            static config(e) {
              return new Config(e);
            }
            static conformance(e) {
              return new Conformance(e);
            }
            static contentCopy(e) {
              return new ContentCopy(e);
            }
            static copies(e) {
              return new Copies(e);
            }
            static creator(e) {
              return new Creator(e);
            }
            static currentPage(e) {
              return new CurrentPage(e);
            }
            static data(e) {
              return new Data(e);
            }
            static debug(e) {
              return new Debug(e);
            }
            static defaultTypeface(e) {
              return new DefaultTypeface(e);
            }
            static destination(e) {
              return new Destination(e);
            }
            static documentAssembly(e) {
              return new DocumentAssembly(e);
            }
            static driver(e) {
              return new Driver(e);
            }
            static duplexOption(e) {
              return new DuplexOption(e);
            }
            static dynamicRender(e) {
              return new DynamicRender(e);
            }
            static embed(e) {
              return new Embed(e);
            }
            static encrypt(e) {
              return new Encrypt(e);
            }
            static encryption(e) {
              return new Encryption(e);
            }
            static encryptionLevel(e) {
              return new EncryptionLevel(e);
            }
            static enforce(e) {
              return new Enforce(e);
            }
            static equate(e) {
              return new Equate(e);
            }
            static equateRange(e) {
              return new EquateRange(e);
            }
            static exclude(e) {
              return new Exclude(e);
            }
            static excludeNS(e) {
              return new ExcludeNS(e);
            }
            static flipLabel(e) {
              return new FlipLabel(e);
            }
            static fontInfo(e) {
              return new FontInfo(e);
            }
            static formFieldFilling(e) {
              return new FormFieldFilling(e);
            }
            static groupParent(e) {
              return new GroupParent(e);
            }
            static ifEmpty(e) {
              return new IfEmpty(e);
            }
            static includeXDPContent(e) {
              return new IncludeXDPContent(e);
            }
            static incrementalLoad(e) {
              return new IncrementalLoad(e);
            }
            static incrementalMerge(e) {
              return new IncrementalMerge(e);
            }
            static interactive(e) {
              return new Interactive(e);
            }
            static jog(e) {
              return new Jog(e);
            }
            static labelPrinter(e) {
              return new LabelPrinter(e);
            }
            static layout(e) {
              return new Layout(e);
            }
            static level(e) {
              return new Level(e);
            }
            static linearized(e) {
              return new Linearized(e);
            }
            static locale(e) {
              return new Locale(e);
            }
            static localeSet(e) {
              return new LocaleSet(e);
            }
            static log(e) {
              return new Log(e);
            }
            static map(e) {
              return new MapElement(e);
            }
            static mediumInfo(e) {
              return new MediumInfo(e);
            }
            static message(e) {
              return new Message(e);
            }
            static messaging(e) {
              return new Messaging(e);
            }
            static mode(e) {
              return new Mode(e);
            }
            static modifyAnnots(e) {
              return new ModifyAnnots(e);
            }
            static msgId(e) {
              return new MsgId(e);
            }
            static nameAttr(e) {
              return new NameAttr(e);
            }
            static neverEmbed(e) {
              return new NeverEmbed(e);
            }
            static numberOfCopies(e) {
              return new NumberOfCopies(e);
            }
            static openAction(e) {
              return new OpenAction(e);
            }
            static output(e) {
              return new Output(e);
            }
            static outputBin(e) {
              return new OutputBin(e);
            }
            static outputXSL(e) {
              return new OutputXSL(e);
            }
            static overprint(e) {
              return new Overprint(e);
            }
            static packets(e) {
              return new Packets(e);
            }
            static pageOffset(e) {
              return new PageOffset(e);
            }
            static pageRange(e) {
              return new PageRange(e);
            }
            static pagination(e) {
              return new Pagination(e);
            }
            static paginationOverride(e) {
              return new PaginationOverride(e);
            }
            static part(e) {
              return new Part(e);
            }
            static pcl(e) {
              return new Pcl(e);
            }
            static pdf(e) {
              return new Pdf(e);
            }
            static pdfa(e) {
              return new Pdfa(e);
            }
            static permissions(e) {
              return new Permissions(e);
            }
            static pickTrayByPDFSize(e) {
              return new PickTrayByPDFSize(e);
            }
            static picture(e) {
              return new Picture(e);
            }
            static plaintextMetadata(e) {
              return new PlaintextMetadata(e);
            }
            static presence(e) {
              return new Presence(e);
            }
            static present(e) {
              return new Present(e);
            }
            static print(e) {
              return new Print(e);
            }
            static printHighQuality(e) {
              return new PrintHighQuality(e);
            }
            static printScaling(e) {
              return new PrintScaling(e);
            }
            static printerName(e) {
              return new PrinterName(e);
            }
            static producer(e) {
              return new Producer(e);
            }
            static ps(e) {
              return new Ps(e);
            }
            static range(e) {
              return new Range(e);
            }
            static record(e) {
              return new Record(e);
            }
            static relevant(e) {
              return new Relevant(e);
            }
            static rename(e) {
              return new Rename(e);
            }
            static renderPolicy(e) {
              return new RenderPolicy(e);
            }
            static runScripts(e) {
              return new RunScripts(e);
            }
            static script(e) {
              return new Script(e);
            }
            static scriptModel(e) {
              return new ScriptModel(e);
            }
            static severity(e) {
              return new Severity(e);
            }
            static silentPrint(e) {
              return new SilentPrint(e);
            }
            static staple(e) {
              return new Staple(e);
            }
            static startNode(e) {
              return new StartNode(e);
            }
            static startPage(e) {
              return new StartPage(e);
            }
            static submitFormat(e) {
              return new SubmitFormat(e);
            }
            static submitUrl(e) {
              return new SubmitUrl(e);
            }
            static subsetBelow(e) {
              return new SubsetBelow(e);
            }
            static suppressBanner(e) {
              return new SuppressBanner(e);
            }
            static tagged(e) {
              return new Tagged(e);
            }
            static template(e) {
              return new Template(e);
            }
            static templateCache(e) {
              return new TemplateCache(e);
            }
            static threshold(e) {
              return new Threshold(e);
            }
            static to(e) {
              return new To(e);
            }
            static trace(e) {
              return new Trace(e);
            }
            static transform(e) {
              return new Transform(e);
            }
            static type(e) {
              return new Type(e);
            }
            static uri(e) {
              return new Uri(e);
            }
            static validate(e) {
              return new Validate(e);
            }
            static validateApprovalSignatures(e) {
              return new ValidateApprovalSignatures(e);
            }
            static validationMessaging(e) {
              return new ValidationMessaging(e);
            }
            static version(e) {
              return new Version(e);
            }
            static versionControl(e) {
              return new VersionControl(e);
            }
            static viewerPreferences(e) {
              return new ViewerPreferences(e);
            }
            static webClient(e) {
              return new WebClient(e);
            }
            static whitespace(e) {
              return new Whitespace(e);
            }
            static window(e) {
              return new Window(e);
            }
            static xdc(e) {
              return new Xdc(e);
            }
            static xdp(e) {
              return new Xdp(e);
            }
            static xsl(e) {
              return new Xsl(e);
            }
            static zpl(e) {
              return new Zpl(e);
            }
          }
          t.ConfigNamespace = ConfigNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.ConnectionSetNamespace = void 0;
          var r = a(77),
            n = a(75);
          const i = r.NamespaceIds.connectionSet.id;
          class ConnectionSet extends n.XFAObject {
            constructor(e) {
              super(i, 'connectionSet', !0);
              this.wsdlConnection = new n.XFAObjectArray();
              this.xmlConnection = new n.XFAObjectArray();
              this.xsdConnection = new n.XFAObjectArray();
            }
          }
          class EffectiveInputPolicy extends n.XFAObject {
            constructor(e) {
              super(i, 'effectiveInputPolicy');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class EffectiveOutputPolicy extends n.XFAObject {
            constructor(e) {
              super(i, 'effectiveOutputPolicy');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Operation extends n.StringObject {
            constructor(e) {
              super(i, 'operation');
              this.id = e.id || '';
              this.input = e.input || '';
              this.name = e.name || '';
              this.output = e.output || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class RootElement extends n.StringObject {
            constructor(e) {
              super(i, 'rootElement');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class SoapAction extends n.StringObject {
            constructor(e) {
              super(i, 'soapAction');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class SoapAddress extends n.StringObject {
            constructor(e) {
              super(i, 'soapAddress');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class Uri extends n.StringObject {
            constructor(e) {
              super(i, 'uri');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class WsdlAddress extends n.StringObject {
            constructor(e) {
              super(i, 'wsdlAddress');
              this.id = e.id || '';
              this.name = e.name || '';
              this.use = e.use || '';
              this.usehref = e.usehref || '';
            }
          }
          class WsdlConnection extends n.XFAObject {
            constructor(e) {
              super(i, 'wsdlConnection', !0);
              this.dataDescription = e.dataDescription || '';
              this.name = e.name || '';
              this.effectiveInputPolicy = null;
              this.effectiveOutputPolicy = null;
              this.operation = null;
              this.soapAction = null;
              this.soapAddress = null;
              this.wsdlAddress = null;
            }
          }
          class XmlConnection extends n.XFAObject {
            constructor(e) {
              super(i, 'xmlConnection', !0);
              this.dataDescription = e.dataDescription || '';
              this.name = e.name || '';
              this.uri = null;
            }
          }
          class XsdConnection extends n.XFAObject {
            constructor(e) {
              super(i, 'xsdConnection', !0);
              this.dataDescription = e.dataDescription || '';
              this.name = e.name || '';
              this.rootElement = null;
              this.uri = null;
            }
          }
          class ConnectionSetNamespace {
            static [r.$buildXFAObject](e, t) {
              if (ConnectionSetNamespace.hasOwnProperty(e)) return ConnectionSetNamespace[e](t);
            }
            static connectionSet(e) {
              return new ConnectionSet(e);
            }
            static effectiveInputPolicy(e) {
              return new EffectiveInputPolicy(e);
            }
            static effectiveOutputPolicy(e) {
              return new EffectiveOutputPolicy(e);
            }
            static operation(e) {
              return new Operation(e);
            }
            static rootElement(e) {
              return new RootElement(e);
            }
            static soapAction(e) {
              return new SoapAction(e);
            }
            static soapAddress(e) {
              return new SoapAddress(e);
            }
            static uri(e) {
              return new Uri(e);
            }
            static wsdlAddress(e) {
              return new WsdlAddress(e);
            }
            static wsdlConnection(e) {
              return new WsdlConnection(e);
            }
            static xmlConnection(e) {
              return new XmlConnection(e);
            }
            static xsdConnection(e) {
              return new XsdConnection(e);
            }
          }
          t.ConnectionSetNamespace = ConnectionSetNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.DatasetsNamespace = void 0;
          var r = a(75),
            n = a(77);
          const i = n.NamespaceIds.datasets.id;
          class Data extends r.XmlObject {
            constructor(e) {
              super(i, 'data', e);
            }
            [r.$isNsAgnostic]() {
              return !0;
            }
          }
          class Datasets extends r.XFAObject {
            constructor(e) {
              super(i, 'datasets', !0);
              this.data = null;
              this.Signature = null;
            }
            [r.$onChild](e) {
              const t = e[r.$nodeName];
              (('data' === t && e[r.$namespaceId] === i) ||
                ('Signature' === t && e[r.$namespaceId] === n.NamespaceIds.signature.id)) &&
                (this[t] = e);
              this[r.$appendChild](e);
            }
          }
          class DatasetsNamespace {
            static [n.$buildXFAObject](e, t) {
              if (DatasetsNamespace.hasOwnProperty(e)) return DatasetsNamespace[e](t);
            }
            static datasets(e) {
              return new Datasets(e);
            }
            static data(e) {
              return new Data(e);
            }
          }
          t.DatasetsNamespace = DatasetsNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.LocaleSetNamespace = void 0;
          var r = a(77),
            n = a(75),
            i = a(76);
          const s = r.NamespaceIds.localeSet.id;
          class CalendarSymbols extends n.XFAObject {
            constructor(e) {
              super(s, 'calendarSymbols', !0);
              this.name = 'gregorian';
              this.dayNames = new n.XFAObjectArray(2);
              this.eraNames = null;
              this.meridiemNames = null;
              this.monthNames = new n.XFAObjectArray(2);
            }
          }
          class CurrencySymbol extends n.StringObject {
            constructor(e) {
              super(s, 'currencySymbol');
              this.name = (0, i.getStringOption)(e.name, ['symbol', 'isoname', 'decimal']);
            }
          }
          class CurrencySymbols extends n.XFAObject {
            constructor(e) {
              super(s, 'currencySymbols', !0);
              this.currencySymbol = new n.XFAObjectArray(3);
            }
          }
          class DatePattern extends n.StringObject {
            constructor(e) {
              super(s, 'datePattern');
              this.name = (0, i.getStringOption)(e.name, ['full', 'long', 'med', 'short']);
            }
          }
          class DatePatterns extends n.XFAObject {
            constructor(e) {
              super(s, 'datePatterns', !0);
              this.datePattern = new n.XFAObjectArray(4);
            }
          }
          class DateTimeSymbols extends n.ContentObject {
            constructor(e) {
              super(s, 'dateTimeSymbols');
            }
          }
          class Day extends n.StringObject {
            constructor(e) {
              super(s, 'day');
            }
          }
          class DayNames extends n.XFAObject {
            constructor(e) {
              super(s, 'dayNames', !0);
              this.abbr = (0, i.getInteger)({ data: e.abbr, defaultValue: 0, validate: (e) => 1 === e });
              this.day = new n.XFAObjectArray(7);
            }
          }
          class Era extends n.StringObject {
            constructor(e) {
              super(s, 'era');
            }
          }
          class EraNames extends n.XFAObject {
            constructor(e) {
              super(s, 'eraNames', !0);
              this.era = new n.XFAObjectArray(2);
            }
          }
          class Locale extends n.XFAObject {
            constructor(e) {
              super(s, 'locale', !0);
              this.desc = e.desc || '';
              this.name = 'isoname';
              this.calendarSymbols = null;
              this.currencySymbols = null;
              this.datePatterns = null;
              this.dateTimeSymbols = null;
              this.numberPatterns = null;
              this.numberSymbols = null;
              this.timePatterns = null;
              this.typeFaces = null;
            }
          }
          class LocaleSet extends n.XFAObject {
            constructor(e) {
              super(s, 'localeSet', !0);
              this.locale = new n.XFAObjectArray();
            }
          }
          class Meridiem extends n.StringObject {
            constructor(e) {
              super(s, 'meridiem');
            }
          }
          class MeridiemNames extends n.XFAObject {
            constructor(e) {
              super(s, 'meridiemNames', !0);
              this.meridiem = new n.XFAObjectArray(2);
            }
          }
          class Month extends n.StringObject {
            constructor(e) {
              super(s, 'month');
            }
          }
          class MonthNames extends n.XFAObject {
            constructor(e) {
              super(s, 'monthNames', !0);
              this.abbr = (0, i.getInteger)({ data: e.abbr, defaultValue: 0, validate: (e) => 1 === e });
              this.month = new n.XFAObjectArray(12);
            }
          }
          class NumberPattern extends n.StringObject {
            constructor(e) {
              super(s, 'numberPattern');
              this.name = (0, i.getStringOption)(e.name, ['full', 'long', 'med', 'short']);
            }
          }
          class NumberPatterns extends n.XFAObject {
            constructor(e) {
              super(s, 'numberPatterns', !0);
              this.numberPattern = new n.XFAObjectArray(4);
            }
          }
          class NumberSymbol extends n.StringObject {
            constructor(e) {
              super(s, 'numberSymbol');
              this.name = (0, i.getStringOption)(e.name, ['decimal', 'grouping', 'percent', 'minus', 'zero']);
            }
          }
          class NumberSymbols extends n.XFAObject {
            constructor(e) {
              super(s, 'numberSymbols', !0);
              this.numberSymbol = new n.XFAObjectArray(5);
            }
          }
          class TimePattern extends n.StringObject {
            constructor(e) {
              super(s, 'timePattern');
              this.name = (0, i.getStringOption)(e.name, ['full', 'long', 'med', 'short']);
            }
          }
          class TimePatterns extends n.XFAObject {
            constructor(e) {
              super(s, 'timePatterns', !0);
              this.timePattern = new n.XFAObjectArray(4);
            }
          }
          class TypeFace extends n.XFAObject {
            constructor(e) {
              super(s, 'typeFace', !0);
              this.name = '' | e.name;
            }
          }
          class TypeFaces extends n.XFAObject {
            constructor(e) {
              super(s, 'typeFaces', !0);
              this.typeFace = new n.XFAObjectArray();
            }
          }
          class LocaleSetNamespace {
            static [r.$buildXFAObject](e, t) {
              if (LocaleSetNamespace.hasOwnProperty(e)) return LocaleSetNamespace[e](t);
            }
            static calendarSymbols(e) {
              return new CalendarSymbols(e);
            }
            static currencySymbol(e) {
              return new CurrencySymbol(e);
            }
            static currencySymbols(e) {
              return new CurrencySymbols(e);
            }
            static datePattern(e) {
              return new DatePattern(e);
            }
            static datePatterns(e) {
              return new DatePatterns(e);
            }
            static dateTimeSymbols(e) {
              return new DateTimeSymbols(e);
            }
            static day(e) {
              return new Day(e);
            }
            static dayNames(e) {
              return new DayNames(e);
            }
            static era(e) {
              return new Era(e);
            }
            static eraNames(e) {
              return new EraNames(e);
            }
            static locale(e) {
              return new Locale(e);
            }
            static localeSet(e) {
              return new LocaleSet(e);
            }
            static meridiem(e) {
              return new Meridiem(e);
            }
            static meridiemNames(e) {
              return new MeridiemNames(e);
            }
            static month(e) {
              return new Month(e);
            }
            static monthNames(e) {
              return new MonthNames(e);
            }
            static numberPattern(e) {
              return new NumberPattern(e);
            }
            static numberPatterns(e) {
              return new NumberPatterns(e);
            }
            static numberSymbol(e) {
              return new NumberSymbol(e);
            }
            static numberSymbols(e) {
              return new NumberSymbols(e);
            }
            static timePattern(e) {
              return new TimePattern(e);
            }
            static timePatterns(e) {
              return new TimePatterns(e);
            }
            static typeFace(e) {
              return new TypeFace(e);
            }
            static typeFaces(e) {
              return new TypeFaces(e);
            }
          }
          t.LocaleSetNamespace = LocaleSetNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.SignatureNamespace = void 0;
          var r = a(77),
            n = a(75);
          const i = r.NamespaceIds.signature.id;
          class Signature extends n.XFAObject {
            constructor(e) {
              super(i, 'signature', !0);
            }
          }
          class SignatureNamespace {
            static [r.$buildXFAObject](e, t) {
              if (SignatureNamespace.hasOwnProperty(e)) return SignatureNamespace[e](t);
            }
            static signature(e) {
              return new Signature(e);
            }
          }
          t.SignatureNamespace = SignatureNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.StylesheetNamespace = void 0;
          var r = a(77),
            n = a(75);
          const i = r.NamespaceIds.stylesheet.id;
          class Stylesheet extends n.XFAObject {
            constructor(e) {
              super(i, 'stylesheet', !0);
            }
          }
          class StylesheetNamespace {
            static [r.$buildXFAObject](e, t) {
              if (StylesheetNamespace.hasOwnProperty(e)) return StylesheetNamespace[e](t);
            }
            static stylesheet(e) {
              return new Stylesheet(e);
            }
          }
          t.StylesheetNamespace = StylesheetNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XdpNamespace = void 0;
          var r = a(77),
            n = a(75);
          const i = r.NamespaceIds.xdp.id;
          class Xdp extends n.XFAObject {
            constructor(e) {
              super(i, 'xdp', !0);
              this.uuid = e.uuid || '';
              this.timeStamp = e.timeStamp || '';
              this.config = null;
              this.connectionSet = null;
              this.datasets = null;
              this.localeSet = null;
              this.stylesheet = new n.XFAObjectArray();
              this.template = null;
            }
            [n.$onChildCheck](e) {
              const t = r.NamespaceIds[e[n.$nodeName]];
              return t && e[n.$namespaceId] === t.id;
            }
          }
          class XdpNamespace {
            static [r.$buildXFAObject](e, t) {
              if (XdpNamespace.hasOwnProperty(e)) return XdpNamespace[e](t);
            }
            static xdp(e) {
              return new Xdp(e);
            }
          }
          t.XdpNamespace = XdpNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XhtmlNamespace = void 0;
          var r = a(75),
            n = a(77),
            i = a(82),
            s = a(76);
          const o = n.NamespaceIds.xhtml.id,
            c = Symbol(),
            l = new Set([
              'color',
              'font',
              'font-family',
              'font-size',
              'font-stretch',
              'font-style',
              'font-weight',
              'margin',
              'margin-bottom',
              'margin-left',
              'margin-right',
              'margin-top',
              'letter-spacing',
              'line-height',
              'orphans',
              'page-break-after',
              'page-break-before',
              'page-break-inside',
              'tab-interval',
              'tab-stop',
              'text-align',
              'text-decoration',
              'text-indent',
              'vertical-align',
              'widows',
              'kerning-mode',
              'xfa-font-horizontal-scale',
              'xfa-font-vertical-scale',
              'xfa-spacerun',
              'xfa-tab-stops',
            ]),
            h = new Map([
              ['page-break-after', 'breakAfter'],
              ['page-break-before', 'breakBefore'],
              ['page-break-inside', 'breakInside'],
              ['kerning-mode', (e) => ('none' === e ? 'none' : 'normal')],
              ['xfa-font-horizontal-scale', (e) => `scaleX(${Math.max(0, Math.min(parseInt(e) / 100)).toFixed(2)})`],
              ['xfa-font-vertical-scale', (e) => `scaleY(${Math.max(0, Math.min(parseInt(e) / 100)).toFixed(2)})`],
              ['xfa-spacerun', ''],
              ['xfa-tab-stops', ''],
              [
                'font-size',
                (e, t) => {
                  e = t.fontSize = (0, s.getMeasurement)(e);
                  return (0, i.measureToString)(0.99 * e);
                },
              ],
              ['letter-spacing', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['line-height', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['margin', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['margin-bottom', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['margin-left', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['margin-right', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['margin-top', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['text-indent', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
              ['font-family', (e) => e],
              ['vertical-align', (e) => (0, i.measureToString)((0, s.getMeasurement)(e))],
            ]),
            u = /\s+/g,
            d = /[\r\n]+/g,
            f = /\r\n?/g;
          function mapStyle(e, t, a) {
            const n = Object.create(null);
            if (!e) return n;
            const o = Object.create(null);
            for (const [t, a] of e.split(';').map((e) => e.split(':', 2))) {
              const e = h.get(t);
              if ('' === e) continue;
              let r = a;
              e && (r = 'string' == typeof e ? e : e(a, o));
              t.endsWith('scale')
                ? n.transform
                  ? (n.transform = `${n[t]} ${r}`)
                  : (n.transform = r)
                : (n[t.replaceAll(/-([a-zA-Z])/g, (e, t) => t.toUpperCase())] = r);
            }
            n.fontFamily &&
              (0, i.setFontFamily)(
                {
                  typeface: n.fontFamily,
                  weight: n.fontWeight || 'normal',
                  posture: n.fontStyle || 'normal',
                  size: o.fontSize || 0,
                },
                t,
                t[r.$globalData].fontFinder,
                n
              );
            if (a && n.verticalAlign && '0px' !== n.verticalAlign && n.fontSize) {
              const e = 0.583,
                t = 0.333,
                a = (0, s.getMeasurement)(n.fontSize);
              n.fontSize = (0, i.measureToString)(a * e);
              n.verticalAlign = (0, i.measureToString)(Math.sign((0, s.getMeasurement)(n.verticalAlign)) * a * t);
            }
            a && n.fontSize && (n.fontSize = `calc(${n.fontSize} * var(--scale-factor))`);
            (0, i.fixTextIndent)(n);
            return n;
          }
          const g = new Set(['body', 'html']);
          class XhtmlObject extends r.XmlObject {
            constructor(e, t) {
              super(o, t);
              this[c] = !1;
              this.style = e.style || '';
            }
            [r.$clean](e) {
              super[r.$clean](e);
              this.style = (function checkStyle(e) {
                return e.style
                  ? e.style
                      .trim()
                      .split(/\s*;\s*/)
                      .filter((e) => !!e)
                      .map((e) => e.split(/\s*:\s*/, 2))
                      .filter(([t, a]) => {
                        'font-family' === t && e[r.$globalData].usedTypefaces.add(a);
                        return l.has(t);
                      })
                      .map((e) => e.join(':'))
                      .join(';')
                  : '';
              })(this);
            }
            [r.$acceptWhitespace]() {
              return !g.has(this[r.$nodeName]);
            }
            [r.$onText](e, t = !1) {
              if (t) this[c] = !0;
              else {
                e = e.replace(d, '');
                this.style.includes('xfa-spacerun:yes') || (e = e.replace(u, ' '));
              }
              e && (this[r.$content] += e);
            }
            [r.$pushGlyphs](e, t = !0) {
              const a = Object.create(null),
                n = { top: NaN, bottom: NaN, left: NaN, right: NaN };
              let i = null;
              for (const [e, t] of this.style.split(';').map((e) => e.split(':', 2)))
                switch (e) {
                  case 'font-family':
                    a.typeface = (0, s.stripQuotes)(t);
                    break;
                  case 'font-size':
                    a.size = (0, s.getMeasurement)(t);
                    break;
                  case 'font-weight':
                    a.weight = t;
                    break;
                  case 'font-style':
                    a.posture = t;
                    break;
                  case 'letter-spacing':
                    a.letterSpacing = (0, s.getMeasurement)(t);
                    break;
                  case 'margin':
                    const e = t.split(/ \t/).map((e) => (0, s.getMeasurement)(e));
                    switch (e.length) {
                      case 1:
                        n.top = n.bottom = n.left = n.right = e[0];
                        break;
                      case 2:
                        n.top = n.bottom = e[0];
                        n.left = n.right = e[1];
                        break;
                      case 3:
                        n.top = e[0];
                        n.bottom = e[2];
                        n.left = n.right = e[1];
                        break;
                      case 4:
                        n.top = e[0];
                        n.left = e[1];
                        n.bottom = e[2];
                        n.right = e[3];
                    }
                    break;
                  case 'margin-top':
                    n.top = (0, s.getMeasurement)(t);
                    break;
                  case 'margin-bottom':
                    n.bottom = (0, s.getMeasurement)(t);
                    break;
                  case 'margin-left':
                    n.left = (0, s.getMeasurement)(t);
                    break;
                  case 'margin-right':
                    n.right = (0, s.getMeasurement)(t);
                    break;
                  case 'line-height':
                    i = (0, s.getMeasurement)(t);
                }
              e.pushData(a, n, i);
              if (this[r.$content]) e.addString(this[r.$content]);
              else
                for (const t of this[r.$getChildren]())
                  '#text' !== t[r.$nodeName] ? t[r.$pushGlyphs](e) : e.addString(t[r.$content]);
              t && e.popFont();
            }
            [r.$toHTML](e) {
              const t = [];
              this[r.$extra] = { children: t };
              this[r.$childrenToHTML]({});
              if (0 === t.length && !this[r.$content]) return s.HTMLResult.EMPTY;
              let a;
              a = this[c]
                ? this[r.$content]
                  ? this[r.$content].replace(f, '\n')
                  : void 0
                : this[r.$content] || void 0;
              return s.HTMLResult.success({
                name: this[r.$nodeName],
                attributes: { href: this.href, style: mapStyle(this.style, this, this[c]) },
                children: t,
                value: a,
              });
            }
          }
          class A extends XhtmlObject {
            constructor(e) {
              super(e, 'a');
              this.href = (0, i.fixURL)(e.href) || '';
            }
          }
          class B extends XhtmlObject {
            constructor(e) {
              super(e, 'b');
            }
            [r.$pushGlyphs](e) {
              e.pushFont({ weight: 'bold' });
              super[r.$pushGlyphs](e);
              e.popFont();
            }
          }
          class Body extends XhtmlObject {
            constructor(e) {
              super(e, 'body');
            }
            [r.$toHTML](e) {
              const t = super[r.$toHTML](e),
                { html: a } = t;
              if (!a) return s.HTMLResult.EMPTY;
              a.name = 'div';
              a.attributes.class = ['xfaRich'];
              return t;
            }
          }
          class Br extends XhtmlObject {
            constructor(e) {
              super(e, 'br');
            }
            [r.$text]() {
              return '\n';
            }
            [r.$pushGlyphs](e) {
              e.addString('\n');
            }
            [r.$toHTML](e) {
              return s.HTMLResult.success({ name: 'br' });
            }
          }
          class Html extends XhtmlObject {
            constructor(e) {
              super(e, 'html');
            }
            [r.$toHTML](e) {
              const t = [];
              this[r.$extra] = { children: t };
              this[r.$childrenToHTML]({});
              if (0 === t.length)
                return s.HTMLResult.success({
                  name: 'div',
                  attributes: { class: ['xfaRich'], style: {} },
                  value: this[r.$content] || '',
                });
              if (1 === t.length) {
                const e = t[0];
                if (e.attributes && e.attributes.class.includes('xfaRich')) return s.HTMLResult.success(e);
              }
              return s.HTMLResult.success({ name: 'div', attributes: { class: ['xfaRich'], style: {} }, children: t });
            }
          }
          class I extends XhtmlObject {
            constructor(e) {
              super(e, 'i');
            }
            [r.$pushGlyphs](e) {
              e.pushFont({ posture: 'italic' });
              super[r.$pushGlyphs](e);
              e.popFont();
            }
          }
          class Li extends XhtmlObject {
            constructor(e) {
              super(e, 'li');
            }
          }
          class Ol extends XhtmlObject {
            constructor(e) {
              super(e, 'ol');
            }
          }
          class P extends XhtmlObject {
            constructor(e) {
              super(e, 'p');
            }
            [r.$pushGlyphs](e) {
              super[r.$pushGlyphs](e, !1);
              e.addString('\n');
              e.addPara();
              e.popFont();
            }
            [r.$text]() {
              return this[r.$getParent]()[r.$getChildren]().at(-1) === this
                ? super[r.$text]()
                : super[r.$text]() + '\n';
            }
          }
          class Span extends XhtmlObject {
            constructor(e) {
              super(e, 'span');
            }
          }
          class Sub extends XhtmlObject {
            constructor(e) {
              super(e, 'sub');
            }
          }
          class Sup extends XhtmlObject {
            constructor(e) {
              super(e, 'sup');
            }
          }
          class Ul extends XhtmlObject {
            constructor(e) {
              super(e, 'ul');
            }
          }
          class XhtmlNamespace {
            static [n.$buildXFAObject](e, t) {
              if (XhtmlNamespace.hasOwnProperty(e)) return XhtmlNamespace[e](t);
            }
            static a(e) {
              return new A(e);
            }
            static b(e) {
              return new B(e);
            }
            static body(e) {
              return new Body(e);
            }
            static br(e) {
              return new Br(e);
            }
            static html(e) {
              return new Html(e);
            }
            static i(e) {
              return new I(e);
            }
            static li(e) {
              return new Li(e);
            }
            static ol(e) {
              return new Ol(e);
            }
            static p(e) {
              return new P(e);
            }
            static span(e) {
              return new Span(e);
            }
            static sub(e) {
              return new Sub(e);
            }
            static sup(e) {
              return new Sup(e);
            }
            static ul(e) {
              return new Ul(e);
            }
          }
          t.XhtmlNamespace = XhtmlNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.UnknownNamespace = void 0;
          var r = a(77),
            n = a(75);
          class UnknownNamespace {
            constructor(e) {
              this.namespaceId = e;
            }
            [r.$buildXFAObject](e, t) {
              return new n.XmlObject(this.namespaceId, e, t);
            }
          }
          t.UnknownNamespace = UnknownNamespace;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.DatasetReader = void 0;
          var r = a(2),
            n = a(3),
            i = a(64);
          function decodeString(e) {
            try {
              return (0, r.stringToUTF8String)(e);
            } catch (t) {
              (0, r.warn)(`UTF-8 decoding failed: "${t}".`);
              return e;
            }
          }
          class DatasetXMLParser extends i.SimpleXMLParser {
            constructor(e) {
              super(e);
              this.node = null;
            }
            onEndElement(e) {
              const t = super.onEndElement(e);
              if (t && 'xfa:datasets' === e) {
                this.node = t;
                throw new Error('Aborting DatasetXMLParser.');
              }
            }
          }
          t.DatasetReader = class DatasetReader {
            constructor(e) {
              if (e.datasets)
                this.node = new i.SimpleXMLParser({ hasAttributes: !0 }).parseFromString(e.datasets).documentElement;
              else {
                const t = new DatasetXMLParser({ hasAttributes: !0 });
                try {
                  t.parseFromString(e['xdp:xdp']);
                } catch (e) {}
                this.node = t.node;
              }
            }
            getValue(e) {
              if (!this.node || !e) return '';
              const t = this.node.searchNode((0, n.parseXFAPath)(e), 0);
              if (!t) return '';
              const a = t.firstChild;
              return a && 'value' === a.nodeName
                ? t.children.map((e) => decodeString(e.textContent))
                : decodeString(t.textContent);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.XRef = void 0;
          var r = a(2),
            n = a(4),
            i = a(15),
            s = a(3),
            o = a(5),
            c = a(65);
          t.XRef = class XRef {
            constructor(e, t) {
              this.stream = e;
              this.pdfManager = t;
              this.entries = [];
              this.xrefstms = Object.create(null);
              this._cacheMap = new Map();
              this._pendingRefs = new n.RefSet();
              this._newPersistentRefNum = null;
              this._newTemporaryRefNum = null;
            }
            getNewPersistentRef(e) {
              null === this._newPersistentRefNum && (this._newPersistentRefNum = this.entries.length || 1);
              const t = this._newPersistentRefNum++;
              this._cacheMap.set(t, e);
              return n.Ref.get(t, 0);
            }
            getNewTemporaryRef() {
              null === this._newTemporaryRefNum && (this._newTemporaryRefNum = this.entries.length || 1);
              return n.Ref.get(this._newTemporaryRefNum++, 0);
            }
            resetNewTemporaryRef() {
              this._newTemporaryRefNum = null;
            }
            setStartXRef(e) {
              this.startXRefQueue = [e];
            }
            parse(e = !1) {
              let t, a, i;
              if (e) {
                (0, r.warn)('Indexing all PDF objects');
                t = this.indexObjects();
              } else t = this.readXRef();
              t.assignXref(this);
              this.trailer = t;
              try {
                a = t.get('Encrypt');
              } catch (e) {
                if (e instanceof s.MissingDataException) throw e;
                (0, r.warn)(`XRef.parse - Invalid "Encrypt" reference: "${e}".`);
              }
              if (a instanceof n.Dict) {
                const e = t.get('ID'),
                  r = e && e.length ? e[0] : '';
                a.suppressEncryption = !0;
                this.encrypt = new c.CipherTransformFactory(a, r, this.pdfManager.password);
              }
              try {
                i = t.get('Root');
              } catch (e) {
                if (e instanceof s.MissingDataException) throw e;
                (0, r.warn)(`XRef.parse - Invalid "Root" reference: "${e}".`);
              }
              if (i instanceof n.Dict)
                try {
                  if (i.get('Pages') instanceof n.Dict) {
                    this.root = i;
                    return;
                  }
                } catch (e) {
                  if (e instanceof s.MissingDataException) throw e;
                  (0, r.warn)(`XRef.parse - Invalid "Pages" reference: "${e}".`);
                }
              if (!e) throw new s.XRefParseException();
              throw new r.InvalidPDFException('Invalid Root reference.');
            }
            processXRefTable(e) {
              'tableState' in this ||
                (this.tableState = {
                  entryNum: 0,
                  streamPos: e.lexer.stream.pos,
                  parserBuf1: e.buf1,
                  parserBuf2: e.buf2,
                });
              const t = this.readXRefTable(e);
              if (!(0, n.isCmd)(t, 'trailer'))
                throw new r.FormatError('Invalid XRef table: could not find trailer dictionary');
              let a = e.getObj();
              a instanceof n.Dict || !a.dict || (a = a.dict);
              if (!(a instanceof n.Dict))
                throw new r.FormatError('Invalid XRef table: could not parse trailer dictionary');
              delete this.tableState;
              return a;
            }
            readXRefTable(e) {
              const t = e.lexer.stream,
                a = this.tableState;
              t.pos = a.streamPos;
              e.buf1 = a.parserBuf1;
              e.buf2 = a.parserBuf2;
              let i;
              for (;;) {
                if (!('firstEntryNum' in a) || !('entryCount' in a)) {
                  if ((0, n.isCmd)((i = e.getObj()), 'trailer')) break;
                  a.firstEntryNum = i;
                  a.entryCount = e.getObj();
                }
                let s = a.firstEntryNum;
                const o = a.entryCount;
                if (!Number.isInteger(s) || !Number.isInteger(o))
                  throw new r.FormatError('Invalid XRef table: wrong types in subsection header');
                for (let i = a.entryNum; i < o; i++) {
                  a.streamPos = t.pos;
                  a.entryNum = i;
                  a.parserBuf1 = e.buf1;
                  a.parserBuf2 = e.buf2;
                  const c = {};
                  c.offset = e.getObj();
                  c.gen = e.getObj();
                  const l = e.getObj();
                  if (l instanceof n.Cmd)
                    switch (l.cmd) {
                      case 'f':
                        c.free = !0;
                        break;
                      case 'n':
                        c.uncompressed = !0;
                    }
                  if (!Number.isInteger(c.offset) || !Number.isInteger(c.gen) || (!c.free && !c.uncompressed))
                    throw new r.FormatError(`Invalid entry in XRef subsection: ${s}, ${o}`);
                  0 === i && c.free && 1 === s && (s = 0);
                  this.entries[i + s] || (this.entries[i + s] = c);
                }
                a.entryNum = 0;
                a.streamPos = t.pos;
                a.parserBuf1 = e.buf1;
                a.parserBuf2 = e.buf2;
                delete a.firstEntryNum;
                delete a.entryCount;
              }
              if (this.entries[0] && !this.entries[0].free)
                throw new r.FormatError('Invalid XRef table: unexpected first object');
              return i;
            }
            processXRefStream(e) {
              if (!('streamState' in this)) {
                const t = e.dict,
                  a = t.get('W');
                let r = t.get('Index');
                r || (r = [0, t.get('Size')]);
                this.streamState = { entryRanges: r, byteWidths: a, entryNum: 0, streamPos: e.pos };
              }
              this.readXRefStream(e);
              delete this.streamState;
              return e.dict;
            }
            readXRefStream(e) {
              const t = this.streamState;
              e.pos = t.streamPos;
              const [a, n, i] = t.byteWidths,
                s = t.entryRanges;
              for (; s.length > 0; ) {
                const [o, c] = s;
                if (!Number.isInteger(o) || !Number.isInteger(c))
                  throw new r.FormatError(`Invalid XRef range fields: ${o}, ${c}`);
                if (!Number.isInteger(a) || !Number.isInteger(n) || !Number.isInteger(i))
                  throw new r.FormatError(`Invalid XRef entry fields length: ${o}, ${c}`);
                for (let s = t.entryNum; s < c; ++s) {
                  t.entryNum = s;
                  t.streamPos = e.pos;
                  let c = 0,
                    l = 0,
                    h = 0;
                  for (let t = 0; t < a; ++t) {
                    const t = e.getByte();
                    if (-1 === t) throw new r.FormatError("Invalid XRef byteWidths 'type'.");
                    c = (c << 8) | t;
                  }
                  0 === a && (c = 1);
                  for (let t = 0; t < n; ++t) {
                    const t = e.getByte();
                    if (-1 === t) throw new r.FormatError("Invalid XRef byteWidths 'offset'.");
                    l = (l << 8) | t;
                  }
                  for (let t = 0; t < i; ++t) {
                    const t = e.getByte();
                    if (-1 === t) throw new r.FormatError("Invalid XRef byteWidths 'generation'.");
                    h = (h << 8) | t;
                  }
                  const u = {};
                  u.offset = l;
                  u.gen = h;
                  switch (c) {
                    case 0:
                      u.free = !0;
                      break;
                    case 1:
                      u.uncompressed = !0;
                      break;
                    case 2:
                      break;
                    default:
                      throw new r.FormatError(`Invalid XRef entry type: ${c}`);
                  }
                  this.entries[o + s] || (this.entries[o + s] = u);
                }
                t.entryNum = 0;
                t.streamPos = e.pos;
                s.splice(0, 2);
              }
            }
            indexObjects() {
              const e = 10,
                t = 13,
                a = 60;
              function readToken(r, n) {
                let i = '',
                  s = r[n];
                for (; s !== e && s !== t && s !== a && !(++n >= r.length); ) {
                  i += String.fromCharCode(s);
                  s = r[n];
                }
                return i;
              }
              function skipUntil(e, t, a) {
                const r = a.length,
                  n = e.length;
                let i = 0;
                for (; t < n; ) {
                  let n = 0;
                  for (; n < r && e[t + n] === a[n]; ) ++n;
                  if (n >= r) break;
                  t++;
                  i++;
                }
                return i;
              }
              const o = /\b(endobj|\d+\s+\d+\s+obj|xref|trailer)\b/g,
                c = /\b(startxref|\d+\s+\d+\s+obj)\b/g,
                l = /^(\d+)\s+(\d+)\s+obj\b/,
                h = new Uint8Array([116, 114, 97, 105, 108, 101, 114]),
                u = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]),
                d = new Uint8Array([47, 88, 82, 101, 102]);
              this.entries.length = 0;
              this._cacheMap.clear();
              const f = this.stream;
              f.pos = 0;
              const g = f.getBytes(),
                p = (0, r.bytesToString)(g),
                m = g.length;
              let b = f.start;
              const y = [],
                w = [];
              for (; b < m; ) {
                let a = g[b];
                if (9 === a || a === e || a === t || 32 === a) {
                  ++b;
                  continue;
                }
                if (37 === a) {
                  do {
                    ++b;
                    if (b >= m) break;
                    a = g[b];
                  } while (a !== e && a !== t);
                  continue;
                }
                const n = readToken(g, b);
                let S;
                if (n.startsWith('xref') && (4 === n.length || /\s/.test(n[4]))) {
                  b += skipUntil(g, b, h);
                  y.push(b);
                  b += skipUntil(g, b, u);
                } else if ((S = l.exec(n))) {
                  const e = 0 | S[1],
                    t = 0 | S[2],
                    a = b + n.length;
                  let c,
                    l = !1;
                  if (this.entries[e]) {
                    if (this.entries[e].gen === t)
                      try {
                        new i.Parser({ lexer: new i.Lexer(f.makeSubStream(a)) }).getObj();
                        l = !0;
                      } catch (e) {
                        e instanceof s.ParserEOFException
                          ? (0, r.warn)(`indexObjects -- checking object (${n}): "${e}".`)
                          : (l = !0);
                      }
                  } else l = !0;
                  l && (this.entries[e] = { offset: b - f.start, gen: t, uncompressed: !0 });
                  o.lastIndex = a;
                  const h = o.exec(p);
                  if (h) {
                    c = o.lastIndex + 1 - b;
                    if ('endobj' !== h[1]) {
                      (0, r.warn)(
                        `indexObjects: Found "${h[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`
                      );
                      c -= h[1].length + 1;
                    }
                  } else c = m - b;
                  const u = g.subarray(b, b + c),
                    y = skipUntil(u, 0, d);
                  if (y < c && u[y + 5] < 64) {
                    w.push(b - f.start);
                    this.xrefstms[b - f.start] = 1;
                  }
                  b += c;
                } else if (n.startsWith('trailer') && (7 === n.length || /\s/.test(n[7]))) {
                  y.push(b);
                  const e = b + n.length;
                  let t;
                  c.lastIndex = e;
                  const a = c.exec(p);
                  if (a) {
                    t = c.lastIndex + 1 - b;
                    if ('startxref' !== a[1]) {
                      (0, r.warn)(
                        `indexObjects: Found "${a[1]}" after "trailer", caused by missing "startxref" -- trying to recover.`
                      );
                      t -= a[1].length + 1;
                    }
                  } else t = m - b;
                  b += t;
                } else b += n.length + 1;
              }
              for (const e of w) {
                this.startXRefQueue.push(e);
                this.readXRef(!0);
              }
              const S = [];
              let x,
                C,
                k = !1;
              for (const e of y) {
                f.pos = e;
                const t = new i.Parser({ lexer: new i.Lexer(f), xref: this, allowStreams: !0, recoveryMode: !0 }),
                  a = t.getObj();
                if (!(0, n.isCmd)(a, 'trailer')) continue;
                const r = t.getObj();
                if (r instanceof n.Dict) {
                  S.push(r);
                  r.has('Encrypt') && (k = !0);
                }
              }
              for (const e of [...S, 'genFallback', ...S]) {
                if ('genFallback' === e) {
                  if (!C) break;
                  this._generationFallback = !0;
                  continue;
                }
                let t = !1;
                try {
                  const a = e.get('Root');
                  if (!(a instanceof n.Dict)) continue;
                  const r = a.get('Pages');
                  if (!(r instanceof n.Dict)) continue;
                  const i = r.get('Count');
                  Number.isInteger(i) && (t = !0);
                } catch (e) {
                  C = e;
                  continue;
                }
                if (t && (!k || e.has('Encrypt')) && e.has('ID')) return e;
                x = e;
              }
              if (x) return x;
              if (this.topDict) return this.topDict;
              throw new r.InvalidPDFException('Invalid PDF structure.');
            }
            readXRef(e = !1) {
              const t = this.stream,
                a = new Set();
              for (; this.startXRefQueue.length; ) {
                try {
                  const e = this.startXRefQueue[0];
                  if (a.has(e)) {
                    (0, r.warn)('readXRef - skipping XRef table since it was already parsed.');
                    this.startXRefQueue.shift();
                    continue;
                  }
                  a.add(e);
                  t.pos = e + t.start;
                  const s = new i.Parser({ lexer: new i.Lexer(t), xref: this, allowStreams: !0 });
                  let c,
                    l = s.getObj();
                  if ((0, n.isCmd)(l, 'xref')) {
                    c = this.processXRefTable(s);
                    this.topDict || (this.topDict = c);
                    l = c.get('XRefStm');
                    if (Number.isInteger(l)) {
                      const e = l;
                      if (!(e in this.xrefstms)) {
                        this.xrefstms[e] = 1;
                        this.startXRefQueue.push(e);
                      }
                    }
                  } else {
                    if (!Number.isInteger(l)) throw new r.FormatError('Invalid XRef stream header');
                    if (
                      !(
                        Number.isInteger(s.getObj()) &&
                        (0, n.isCmd)(s.getObj(), 'obj') &&
                        (l = s.getObj()) instanceof o.BaseStream
                      )
                    )
                      throw new r.FormatError('Invalid XRef stream');
                    c = this.processXRefStream(l);
                    this.topDict || (this.topDict = c);
                    if (!c) throw new r.FormatError('Failed to read XRef stream');
                  }
                  l = c.get('Prev');
                  Number.isInteger(l)
                    ? this.startXRefQueue.push(l)
                    : l instanceof n.Ref && this.startXRefQueue.push(l.num);
                } catch (e) {
                  if (e instanceof s.MissingDataException) throw e;
                  (0, r.info)('(while reading XRef): ' + e);
                }
                this.startXRefQueue.shift();
              }
              if (this.topDict) return this.topDict;
              if (!e) throw new s.XRefParseException();
            }
            getEntry(e) {
              const t = this.entries[e];
              return t && !t.free && t.offset ? t : null;
            }
            fetchIfRef(e, t = !1) {
              return e instanceof n.Ref ? this.fetch(e, t) : e;
            }
            fetch(e, t = !1) {
              if (!(e instanceof n.Ref)) throw new Error('ref object is not a reference');
              const a = e.num,
                i = this._cacheMap.get(a);
              if (void 0 !== i) {
                i instanceof n.Dict && !i.objId && (i.objId = e.toString());
                return i;
              }
              let s = this.getEntry(a);
              if (null === s) {
                this._cacheMap.set(a, s);
                return s;
              }
              if (this._pendingRefs.has(e)) {
                this._pendingRefs.remove(e);
                (0, r.warn)(`Ignoring circular reference: ${e}.`);
                return n.CIRCULAR_REF;
              }
              this._pendingRefs.put(e);
              try {
                s = s.uncompressed ? this.fetchUncompressed(e, s, t) : this.fetchCompressed(e, s, t);
                this._pendingRefs.remove(e);
              } catch (t) {
                this._pendingRefs.remove(e);
                throw t;
              }
              s instanceof n.Dict
                ? (s.objId = e.toString())
                : s instanceof o.BaseStream && (s.dict.objId = e.toString());
              return s;
            }
            fetchUncompressed(e, t, a = !1) {
              const c = e.gen;
              let l = e.num;
              if (t.gen !== c) {
                const i = `Inconsistent generation in XRef: ${e}`;
                if (this._generationFallback && t.gen < c) {
                  (0, r.warn)(i);
                  return this.fetchUncompressed(n.Ref.get(l, t.gen), t, a);
                }
                throw new s.XRefEntryException(i);
              }
              const h = this.stream.makeSubStream(t.offset + this.stream.start),
                u = new i.Parser({ lexer: new i.Lexer(h), xref: this, allowStreams: !0 }),
                d = u.getObj(),
                f = u.getObj(),
                g = u.getObj();
              if (d !== l || f !== c || !(g instanceof n.Cmd))
                throw new s.XRefEntryException(`Bad (uncompressed) XRef entry: ${e}`);
              if ('obj' !== g.cmd) {
                if (g.cmd.startsWith('obj')) {
                  l = parseInt(g.cmd.substring(3), 10);
                  if (!Number.isNaN(l)) return l;
                }
                throw new s.XRefEntryException(`Bad (uncompressed) XRef entry: ${e}`);
              }
              (t = this.encrypt && !a ? u.getObj(this.encrypt.createCipherTransform(l, c)) : u.getObj()) instanceof
                o.BaseStream || this._cacheMap.set(l, t);
              return t;
            }
            fetchCompressed(e, t, a = !1) {
              const c = t.offset,
                l = this.fetch(n.Ref.get(c, 0));
              if (!(l instanceof o.BaseStream)) throw new r.FormatError('bad ObjStm stream');
              const h = l.dict.get('First'),
                u = l.dict.get('N');
              if (!Number.isInteger(h) || !Number.isInteger(u))
                throw new r.FormatError('invalid first and n parameters for ObjStm stream');
              let d = new i.Parser({ lexer: new i.Lexer(l), xref: this, allowStreams: !0 });
              const f = new Array(u),
                g = new Array(u);
              for (let e = 0; e < u; ++e) {
                const t = d.getObj();
                if (!Number.isInteger(t)) throw new r.FormatError(`invalid object number in the ObjStm stream: ${t}`);
                const a = d.getObj();
                if (!Number.isInteger(a)) throw new r.FormatError(`invalid object offset in the ObjStm stream: ${a}`);
                f[e] = t;
                g[e] = a;
              }
              const p = (l.start || 0) + h,
                m = new Array(u);
              for (let e = 0; e < u; ++e) {
                const t = e < u - 1 ? g[e + 1] - g[e] : void 0;
                if (t < 0) throw new r.FormatError('Invalid offset in the ObjStm stream.');
                d = new i.Parser({
                  lexer: new i.Lexer(l.makeSubStream(p + g[e], t, l.dict)),
                  xref: this,
                  allowStreams: !0,
                });
                const a = d.getObj();
                m[e] = a;
                if (a instanceof o.BaseStream) continue;
                const n = f[e],
                  s = this.entries[n];
                s && s.offset === c && s.gen === e && this._cacheMap.set(n, a);
              }
              if (void 0 === (t = m[t.gen])) throw new s.XRefEntryException(`Bad (compressed) XRef entry: ${e}`);
              return t;
            }
            async fetchIfRefAsync(e, t) {
              return e instanceof n.Ref ? this.fetchAsync(e, t) : e;
            }
            async fetchAsync(e, t) {
              try {
                return this.fetch(e, t);
              } catch (a) {
                if (!(a instanceof s.MissingDataException)) throw a;
                await this.pdfManager.requestRange(a.begin, a.end);
                return this.fetchAsync(e, t);
              }
            }
            getCatalogObj() {
              return this.root;
            }
          };
        },
        (e, t) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.isNodeJS = void 0;
          const a = !(
            'object' != typeof process ||
            process + '' != '[object process]' ||
            process.versions.nw ||
            (process.versions.electron && process.type && 'browser' !== process.type)
          );
          t.isNodeJS = a;
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.MessageHandler = void 0;
          var r = a(2);
          const n = 1,
            i = 2,
            s = 1,
            o = 2,
            c = 3,
            l = 4,
            h = 5,
            u = 6,
            d = 7,
            f = 8;
          function wrapReason(e) {
            e instanceof Error ||
              ('object' == typeof e && null !== e) ||
              (0, r.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.');
            switch (e.name) {
              case 'AbortException':
                return new r.AbortException(e.message);
              case 'MissingPDFException':
                return new r.MissingPDFException(e.message);
              case 'PasswordException':
                return new r.PasswordException(e.message, e.code);
              case 'UnexpectedResponseException':
                return new r.UnexpectedResponseException(e.message, e.status);
              case 'UnknownErrorException':
                return new r.UnknownErrorException(e.message, e.details);
              default:
                return new r.UnknownErrorException(e.message, e.toString());
            }
          }
          t.MessageHandler = class MessageHandler {
            constructor(e, t, a) {
              this.sourceName = e;
              this.targetName = t;
              this.comObj = a;
              this.callbackId = 1;
              this.streamId = 1;
              this.streamSinks = Object.create(null);
              this.streamControllers = Object.create(null);
              this.callbackCapabilities = Object.create(null);
              this.actionHandler = Object.create(null);
              this._onComObjOnMessage = (e) => {
                const t = e.data;
                if (t.targetName !== this.sourceName) return;
                if (t.stream) {
                  this._processStreamMessage(t);
                  return;
                }
                if (t.callback) {
                  const e = t.callbackId,
                    a = this.callbackCapabilities[e];
                  if (!a) throw new Error(`Cannot resolve callback ${e}`);
                  delete this.callbackCapabilities[e];
                  if (t.callback === n) a.resolve(t.data);
                  else {
                    if (t.callback !== i) throw new Error('Unexpected callback case');
                    a.reject(wrapReason(t.reason));
                  }
                  return;
                }
                const r = this.actionHandler[t.action];
                if (!r) throw new Error(`Unknown action from worker: ${t.action}`);
                if (t.callbackId) {
                  const e = this.sourceName,
                    s = t.sourceName;
                  new Promise(function (e) {
                    e(r(t.data));
                  }).then(
                    function (r) {
                      a.postMessage({ sourceName: e, targetName: s, callback: n, callbackId: t.callbackId, data: r });
                    },
                    function (r) {
                      a.postMessage({
                        sourceName: e,
                        targetName: s,
                        callback: i,
                        callbackId: t.callbackId,
                        reason: wrapReason(r),
                      });
                    }
                  );
                } else t.streamId ? this._createStreamSink(t) : r(t.data);
              };
              a.addEventListener('message', this._onComObjOnMessage);
            }
            on(e, t) {
              const a = this.actionHandler;
              if (a[e]) throw new Error(`There is already an actionName called "${e}"`);
              a[e] = t;
            }
            send(e, t, a) {
              this.comObj.postMessage(
                { sourceName: this.sourceName, targetName: this.targetName, action: e, data: t },
                a
              );
            }
            sendWithPromise(e, t, a) {
              const n = this.callbackId++,
                i = (0, r.createPromiseCapability)();
              this.callbackCapabilities[n] = i;
              try {
                this.comObj.postMessage(
                  { sourceName: this.sourceName, targetName: this.targetName, action: e, callbackId: n, data: t },
                  a
                );
              } catch (e) {
                i.reject(e);
              }
              return i.promise;
            }
            sendWithStream(e, t, a, n) {
              const i = this.streamId++,
                o = this.sourceName,
                c = this.targetName,
                l = this.comObj;
              return new ReadableStream(
                {
                  start: (a) => {
                    const s = (0, r.createPromiseCapability)();
                    this.streamControllers[i] = {
                      controller: a,
                      startCall: s,
                      pullCall: null,
                      cancelCall: null,
                      isClosed: !1,
                    };
                    l.postMessage(
                      { sourceName: o, targetName: c, action: e, streamId: i, data: t, desiredSize: a.desiredSize },
                      n
                    );
                    return s.promise;
                  },
                  pull: (e) => {
                    const t = (0, r.createPromiseCapability)();
                    this.streamControllers[i].pullCall = t;
                    l.postMessage({ sourceName: o, targetName: c, stream: u, streamId: i, desiredSize: e.desiredSize });
                    return t.promise;
                  },
                  cancel: (e) => {
                    (0, r.assert)(e instanceof Error, 'cancel must have a valid reason');
                    const t = (0, r.createPromiseCapability)();
                    this.streamControllers[i].cancelCall = t;
                    this.streamControllers[i].isClosed = !0;
                    l.postMessage({ sourceName: o, targetName: c, stream: s, streamId: i, reason: wrapReason(e) });
                    return t.promise;
                  },
                },
                a
              );
            }
            _createStreamSink(e) {
              const t = e.streamId,
                a = this.sourceName,
                n = e.sourceName,
                i = this.comObj,
                s = this,
                o = this.actionHandler[e.action],
                u = {
                  enqueue(e, s = 1, o) {
                    if (this.isCancelled) return;
                    const c = this.desiredSize;
                    this.desiredSize -= s;
                    if (c > 0 && this.desiredSize <= 0) {
                      this.sinkCapability = (0, r.createPromiseCapability)();
                      this.ready = this.sinkCapability.promise;
                    }
                    i.postMessage({ sourceName: a, targetName: n, stream: l, streamId: t, chunk: e }, o);
                  },
                  close() {
                    if (!this.isCancelled) {
                      this.isCancelled = !0;
                      i.postMessage({ sourceName: a, targetName: n, stream: c, streamId: t });
                      delete s.streamSinks[t];
                    }
                  },
                  error(e) {
                    (0, r.assert)(e instanceof Error, 'error must have a valid reason');
                    if (!this.isCancelled) {
                      this.isCancelled = !0;
                      i.postMessage({ sourceName: a, targetName: n, stream: h, streamId: t, reason: wrapReason(e) });
                    }
                  },
                  sinkCapability: (0, r.createPromiseCapability)(),
                  onPull: null,
                  onCancel: null,
                  isCancelled: !1,
                  desiredSize: e.desiredSize,
                  ready: null,
                };
              u.sinkCapability.resolve();
              u.ready = u.sinkCapability.promise;
              this.streamSinks[t] = u;
              new Promise(function (t) {
                t(o(e.data, u));
              }).then(
                function () {
                  i.postMessage({ sourceName: a, targetName: n, stream: f, streamId: t, success: !0 });
                },
                function (e) {
                  i.postMessage({ sourceName: a, targetName: n, stream: f, streamId: t, reason: wrapReason(e) });
                }
              );
            }
            _processStreamMessage(e) {
              const t = e.streamId,
                a = this.sourceName,
                n = e.sourceName,
                i = this.comObj,
                g = this.streamControllers[t],
                p = this.streamSinks[t];
              switch (e.stream) {
                case f:
                  e.success ? g.startCall.resolve() : g.startCall.reject(wrapReason(e.reason));
                  break;
                case d:
                  e.success ? g.pullCall.resolve() : g.pullCall.reject(wrapReason(e.reason));
                  break;
                case u:
                  if (!p) {
                    i.postMessage({ sourceName: a, targetName: n, stream: d, streamId: t, success: !0 });
                    break;
                  }
                  p.desiredSize <= 0 && e.desiredSize > 0 && p.sinkCapability.resolve();
                  p.desiredSize = e.desiredSize;
                  new Promise(function (e) {
                    e(p.onPull && p.onPull());
                  }).then(
                    function () {
                      i.postMessage({ sourceName: a, targetName: n, stream: d, streamId: t, success: !0 });
                    },
                    function (e) {
                      i.postMessage({ sourceName: a, targetName: n, stream: d, streamId: t, reason: wrapReason(e) });
                    }
                  );
                  break;
                case l:
                  (0, r.assert)(g, 'enqueue should have stream controller');
                  if (g.isClosed) break;
                  g.controller.enqueue(e.chunk);
                  break;
                case c:
                  (0, r.assert)(g, 'close should have stream controller');
                  if (g.isClosed) break;
                  g.isClosed = !0;
                  g.controller.close();
                  this._deleteStreamController(g, t);
                  break;
                case h:
                  (0, r.assert)(g, 'error should have stream controller');
                  g.controller.error(wrapReason(e.reason));
                  this._deleteStreamController(g, t);
                  break;
                case o:
                  e.success ? g.cancelCall.resolve() : g.cancelCall.reject(wrapReason(e.reason));
                  this._deleteStreamController(g, t);
                  break;
                case s:
                  if (!p) break;
                  new Promise(function (t) {
                    t(p.onCancel && p.onCancel(wrapReason(e.reason)));
                  }).then(
                    function () {
                      i.postMessage({ sourceName: a, targetName: n, stream: o, streamId: t, success: !0 });
                    },
                    function (e) {
                      i.postMessage({ sourceName: a, targetName: n, stream: o, streamId: t, reason: wrapReason(e) });
                    }
                  );
                  p.sinkCapability.reject(wrapReason(e.reason));
                  p.isCancelled = !0;
                  delete this.streamSinks[t];
                  break;
                default:
                  throw new Error('Unexpected stream case');
              }
            }
            async _deleteStreamController(e, t) {
              await Promise.allSettled([
                e.startCall && e.startCall.promise,
                e.pullCall && e.pullCall.promise,
                e.cancelCall && e.cancelCall.promise,
              ]);
              delete this.streamControllers[t];
            }
            destroy() {
              this.comObj.removeEventListener('message', this._onComObjOnMessage);
            }
          };
        },
        (e, t, a) => {
          Object.defineProperty(t, '__esModule', { value: !0 });
          t.PDFWorkerStream = void 0;
          var r = a(2);
          t.PDFWorkerStream = class PDFWorkerStream {
            constructor(e) {
              this._msgHandler = e;
              this._contentLength = null;
              this._fullRequestReader = null;
              this._rangeRequestReaders = [];
            }
            getFullReader() {
              (0, r.assert)(!this._fullRequestReader, 'PDFWorkerStream.getFullReader can only be called once.');
              this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);
              return this._fullRequestReader;
            }
            getRangeReader(e, t) {
              const a = new PDFWorkerStreamRangeReader(e, t, this._msgHandler);
              this._rangeRequestReaders.push(a);
              return a;
            }
            cancelAllRequests(e) {
              this._fullRequestReader && this._fullRequestReader.cancel(e);
              for (const t of this._rangeRequestReaders.slice(0)) t.cancel(e);
            }
          };
          class PDFWorkerStreamReader {
            constructor(e) {
              this._msgHandler = e;
              this.onProgress = null;
              this._contentLength = null;
              this._isRangeSupported = !1;
              this._isStreamingSupported = !1;
              const t = this._msgHandler.sendWithStream('GetReader');
              this._reader = t.getReader();
              this._headersReady = this._msgHandler.sendWithPromise('ReaderHeadersReady').then((e) => {
                this._isStreamingSupported = e.isStreamingSupported;
                this._isRangeSupported = e.isRangeSupported;
                this._contentLength = e.contentLength;
              });
            }
            get headersReady() {
              return this._headersReady;
            }
            get contentLength() {
              return this._contentLength;
            }
            get isStreamingSupported() {
              return this._isStreamingSupported;
            }
            get isRangeSupported() {
              return this._isRangeSupported;
            }
            async read() {
              const { value: e, done: t } = await this._reader.read();
              return t ? { value: void 0, done: !0 } : { value: e.buffer, done: !1 };
            }
            cancel(e) {
              this._reader.cancel(e);
            }
          }
          class PDFWorkerStreamRangeReader {
            constructor(e, t, a) {
              this._msgHandler = a;
              this.onProgress = null;
              const r = this._msgHandler.sendWithStream('GetRangeReader', { begin: e, end: t });
              this._reader = r.getReader();
            }
            get isStreamingSupported() {
              return !1;
            }
            async read() {
              const { value: e, done: t } = await this._reader.read();
              return t ? { value: void 0, done: !0 } : { value: e.buffer, done: !1 };
            }
            cancel(e) {
              this._reader.cancel(e);
            }
          }
        },
      ],
      t = {};
    function __w_pdfjs_require__(a) {
      var r = t[a];
      if (void 0 !== r) return r.exports;
      var n = (t[a] = { exports: {} });
      e[a](n, n.exports, __w_pdfjs_require__);
      return n.exports;
    }
    __w_pdfjs_require__.d = (e, t) => {
      for (var a in t)
        __w_pdfjs_require__.o(t, a) &&
          !__w_pdfjs_require__.o(e, a) &&
          Object.defineProperty(e, a, { enumerable: !0, get: t[a] });
    };
    __w_pdfjs_require__.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
    __w_pdfjs_require__.r = (e) => {
      'undefined' != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' });
      Object.defineProperty(e, '__esModule', { value: !0 });
    };
    var a = {};
    (() => {
      var e = a;
      Object.defineProperty(e, '__esModule', { value: !0 });
      Object.defineProperty(e, 'WorkerMessageHandler', {
        enumerable: !0,
        get: function () {
          return t.WorkerMessageHandler;
        },
      });
      var t = __w_pdfjs_require__(1);
    })();
    return a;
  })()
);