diff --git a/.gitignore b/.gitignore index 67c1e50..67a9e95 100755 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ npm-debug.log coverage dist/ +public/samples/ ### pyenv ### .python-version diff --git a/package-lock.json b/package-lock.json index 1ef5e8b..c10786a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4138,8 +4138,7 @@ "@types/json-schema": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/json5": { "version": "0.0.29", @@ -4681,8 +4680,7 @@ "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "alphanum-sort": { "version": "1.0.2", @@ -5541,8 +5539,7 @@ "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "bin-build": { "version": "3.0.0", @@ -8171,8 +8168,7 @@ "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, "encodeurl": { "version": "1.0.2", @@ -9891,7 +9887,6 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", - "dev": true, "requires": { "loader-utils": "^2.0.0", "schema-utils": "^3.0.0" @@ -15837,7 +15832,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, "requires": { "minimist": "^1.2.5" } @@ -15994,7 +15988,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -16472,6 +16465,11 @@ } } }, + "make-cancellable-promise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-cancellable-promise/-/make-cancellable-promise-1.1.0.tgz", + "integrity": "sha512-X5Opjm2xcZsOLuJ+Bnhb4t5yfu4ehlA3OKEYLtqUchgVzL/QaqW373ZUVxVHKwvJ38cmYuR4rAHD2yUvAIkTPA==" + }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", @@ -16490,6 +16488,11 @@ } } }, + "make-event-props": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-event-props/-/make-event-props-1.3.0.tgz", + "integrity": "sha512-oWiDZMcVB1/A487251hEWza1xzgCzl6MXxe9aF24l5Bt9N9UEbqTqKumEfuuLhmlhRZYnc+suVvW4vUs8bwO7Q==" + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -16648,12 +16651,22 @@ "yargs-parser": "^20.2.3" } }, + "merge-class-names": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/merge-class-names/-/merge-class-names-1.4.2.tgz", + "integrity": "sha512-bOl98VzwCGi25Gcn3xKxnR5p/WrhWFQB59MS/aGENcmUc6iSm96yrFDF0XSNurX9qN4LbJm0R9kfvsQ17i8zCw==" + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/merge-refs/-/merge-refs-1.0.0.tgz", + "integrity": "sha512-WZ4S5wqD9FCR9hxkLgvcHJCBxzXzy3VVE6p8W2OzxRzB+hLRlcadGE2bW9xp2KSzk10rvp4y+pwwKO6JQVguMg==" + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -16782,8 +16795,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "minimist-options": { "version": "4.1.0", @@ -21091,6 +21103,28 @@ "warning": "^4.0.3" } }, + "react-pdf": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-pdf/-/react-pdf-5.5.0.tgz", + "integrity": "sha512-0Sk0lFd95py7H7/G0+fPzUrLsGHQ6SzC+3eJChgSnLtEmrRV36uNAjuMgf5mz2ds55MK4vYCJHGuP9CyvaSEOA==", + "requires": { + "@babel/runtime": "^7.0.0", + "file-loader": "^6.0.0", + "make-cancellable-promise": "^1.0.0", + "make-event-props": "^1.1.0", + "merge-class-names": "^1.1.1", + "merge-refs": "^1.0.0", + "pdfjs-dist": "2.9.359", + "prop-types": "^15.6.2" + }, + "dependencies": { + "pdfjs-dist": { + "version": "2.9.359", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.9.359.tgz", + "integrity": "sha512-P2nYtkacdlZaNNwrBLw1ZyMm0oE2yY/5S/GDCAmMJ7U4+ciL/D0mrlEC/o4HZZc/LNE3w8lEVzBEyVgEQlPVKQ==" + } + } + }, "react-popper": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.2.5.tgz", @@ -22060,7 +22094,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, "requires": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", diff --git a/package.json b/package.json index 85780f2..795e0fc 100755 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "react": "17.0.2", "react-dom": "17.0.2", "react-intl": "^5.20.9", + "react-pdf": "^5.5.0", "react-redux": "^7.2.4", "react-router": "5.2.0", "react-router-dom": "5.2.0", diff --git a/public/pdf.worker.min.js b/public/pdf.worker.min.js new file mode 100644 index 0000000..82cdc88 --- /dev/null +++ b/public/pdf.worker.min.js @@ -0,0 +1,22 @@ +/** + * @licstart The following is the entire license notice for the + * Javascript code in this page + * + * Copyright 2021 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()}(this,(function(){return(()=>{"use strict";var e=[,(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.WorkerTask=t.WorkerMessageHandler=void 0;var a=r(2),i=r(5),n=r(7),s=r(64),o=r(4),c=r(89),l=r(90),h=r(9);class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=(0,a.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 r=!1;e.on("test",(function wphSetupTest(t){if(r)return;r=!0;if(!(t instanceof Uint8Array)){e.send("test",null);return}const a=255===t[0];e.postMessageTransfers=a;e.send("test",{supportTransfers:a})}));e.on("configure",(function wphConfigure(e){(0,a.setVerbosityLevel)(e.verbosity)}));e.on("GetDocRequest",(function wphSetupDoc(e){return WorkerMessageHandler.createDocumentHandler(e,t)}))}static createDocumentHandler(e,t){let r,o=!1,u=null;const d=[],f=(0,a.getVerbosityLevel)(),g=e.apiVersion,p="2.9.359";if(g!==p)throw new Error(`The API version "${g}" does not match the Worker version "2.9.359".`);const m=[];for(const e in[])m.push(e);if(m.length)throw new Error("The `Array.prototype` contains unexpected enumerable properties: "+m.join(", ")+"; thus breaking e.g. `for...in` iteration of `Array`s.");if("undefined"==typeof ReadableStream)throw new Error("The browser/environment lacks native support for critical functionality used by the PDF.js library (e.g. `ReadableStream`); please use a `legacy`-build instead.");const b=e.docId,y=e.docBaseUrl,w=e.docId+"_worker";let S=new c.MessageHandler(w,b,t);S.postMessageTransfers=e.postMessageTransfers;function ensureNotTerminated(){if(o)throw new Error("Worker was terminated")}function startWorkerTask(e){d.push(e)}function finishWorkerTask(e){e.finish();const t=d.indexOf(e);d.splice(t,1)}async function loadDocument(e){await r.ensureDoc("checkHeader");await r.ensureDoc("parseStartXRef");await r.ensureDoc("parse",[e]);e||await r.ensureDoc("checkFirstPage");const[t,a,i]=await Promise.all([r.ensureDoc("numPages"),r.ensureDoc("fingerprint"),r.ensureDoc("isPureXfa")]);if(i){const e=new WorkerTask("loadXfaFonts");startWorkerTask(e);await r.loadXfaFonts(S,e).catch((e=>{})).then((()=>finishWorkerTask(e)))}return{numPages:t,fingerprint:a,isPureXfa:i}}function getPdfManager(e,t,r){const i=(0,a.createPromiseCapability)();let s;const o=e.source;if(o.data){try{s=new n.LocalPdfManager(b,o.data,o.password,t,r,y);i.resolve(s)}catch(e){i.reject(e)}return i.promise}let c,h=[];try{c=new l.PDFWorkerStream(S)}catch(e){i.reject(e);return i.promise}const d=c.getFullReader();d.headersReady.then((function(){if(!d.isRangeSupported)return;const e=o.disableAutoFetch||d.isStreamingSupported;s=new n.NetworkPdfManager(b,c,{msgHandler:S,password:o.password,length:d.contentLength,disableAutoFetch:e,rangeChunkSize:o.rangeChunkSize},t,r,y);for(let e=0;enull!==e)).reduce(((e,t)=>e.concat(t)),l);if(0===l.length)return e.bytes;const h=t instanceof i.Dict&&t.get("XFA")||[];let u=null;if(Array.isArray(h))for(let e=0,t=h.length;e{(0,a.isString)(t)&&(0,a.isString)(r)&&(e[t]=(0,a.stringToPDFString)(r))}));d={rootRef:r.trailer.getRaw("Root")||null,encryptRef:r.trailer.getRaw("Encrypt")||null,newRef:r.getNewRef(),infoRef:r.trailer.getRaw("Info")||null,info:e,fileIds:r.trailer.get("ID")||null,startXRef:o,filename:n}}r.resetNewRef();return(0,s.incrementalUpdate)({originalData:e.bytes,xrefInfo:d,newRefs:l,xref:r,datasetsRef:u})}))}));S.on("GetOperatorList",(function wphSetupRenderPage(e,t){const i=e.pageIndex;r.getPage(i).then((function(r){const n=new WorkerTask(`GetOperatorList: page ${i}`);startWorkerTask(n);const s=f>=a.VerbosityLevel.INFOS?Date.now():0;r.getOperatorList({handler:S,sink:t,task:n,intent:e.intent,renderInteractiveForms:e.renderInteractiveForms,annotationStorage:e.annotationStorage}).then((function(e){finishWorkerTask(n);s&&(0,a.info)(`page=${i+1} - getOperatorList: time=${Date.now()-s}ms, len=${e.length}`);t.close()}),(function(e){finishWorkerTask(n);if(!n.terminated){S.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorOperatorList});t.error(e)}}))}))}));S.on("GetTextContent",(function wphExtractText(e,t){const i=e.pageIndex;t.onPull=function(e){};t.onCancel=function(e){};r.getPage(i).then((function(r){const n=new WorkerTask("GetTextContent: page "+i);startWorkerTask(n);const s=f>=a.VerbosityLevel.INFOS?Date.now():0;r.extractTextContent({handler:S,task:n,sink:t,normalizeWhitespace:e.normalizeWhitespace,includeMarkedContent:e.includeMarkedContent,combineTextItems:e.combineTextItems}).then((function(){finishWorkerTask(n);s&&(0,a.info)(`page=${i+1} - getTextContent: time=`+(Date.now()-s)+"ms");t.close()}),(function(e){finishWorkerTask(n);n.terminated||t.error(e)}))}))}));S.on("GetStructTree",(function wphGetStructTree(e){return r.getPage(e.pageIndex).then((function(e){return r.ensure(e,"getStructTree")}))}));S.on("FontFallback",(function(e){return r.fontFallback(e.id,S)}));S.on("Cleanup",(function wphCleanup(e){return r.cleanup(!0)}));S.on("Terminate",(function wphTerminate(e){o=!0;const t=[];if(r){r.terminate(new a.AbortException("Worker was terminated."));const e=r.cleanup();t.push(e);r=null}else(0,i.clearPrimitiveCaches)();u&&u(new a.AbortException("Worker was terminated."));for(const e of d){t.push(e.finished);e.terminate()}return Promise.all(t).then((function(){S.destroy();S=null}))}));S.on("Ready",(function wphReady(t){!function setupDoc(e){function onSuccess(e){ensureNotTerminated();S.send("GetDoc",{pdfInfo:e})}function onFailure(e){ensureNotTerminated();if(e instanceof a.PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);S.sendWithPromise("PasswordRequest",e).then((function({password:e}){finishWorkerTask(t);r.updatePassword(e);pdfManagerReady()})).catch((function(){finishWorkerTask(t);S.send("DocException",e)}))}else e instanceof a.InvalidPDFException||e instanceof a.MissingPDFException||e instanceof a.UnexpectedResponseException||e instanceof a.UnknownErrorException?S.send("DocException",e):S.send("DocException",new a.UnknownErrorException(e.message,e.toString()))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,(function(e){ensureNotTerminated();if(e instanceof h.XRefParseException){r.requestLoadedStream();r.onLoadedStream().then((function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)}))}else onFailure(e)}))}ensureNotTerminated();getPdfManager(e,{maxImageSize:e.maxImageSize,disableFontFace:e.disableFontFace,ignoreErrors:e.ignoreErrors,isEvalSupported:e.isEvalSupported,fontExtraProperties:e.fontExtraProperties},e.enableXfa).then((function(e){if(o){e.terminate(new a.AbortException("Worker was terminated."));throw new Error("Worker was terminated")}r=e;r.onLoadedStream().then((function(e){S.send("DataLoaded",{length:e.bytes.byteLength})}))})).then(pdfManagerReady,onFailure)}(e);e=null}));return w}static initializeFromPort(e){const t=new c.MessageHandler("worker","main",e);WorkerMessageHandler.setup(t,e);t.send("ready",null)}}t.WorkerMessageHandler=WorkerMessageHandler;"undefined"==typeof window&&!o.isNodeJS&&"undefined"!=typeof self&&function isMessagePort(e){return"function"==typeof e.postMessage&&"onmessage"in e}(self)&&WorkerMessageHandler.initializeFromPort(self)},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.arrayByteLength=arrayByteLength;t.arraysToBytes=function arraysToBytes(e){const t=e.length;if(1===t&&e[0]instanceof Uint8Array)return e[0];let r=0;for(let a=0;a>2]+a[(3&n)<<4|s>>4]+a[t+1>6:64]+a[t+2t});e.promise=new Promise((function(r,a){e.resolve=function(e){t=!0;r(e)};e.reject=function(e){t=!0;a(e)}}));return e};t.createValidAbsoluteUrl=function createValidAbsoluteUrl(e,t){if(!e)return null;try{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.escapeString=function escapeString(e){return e.replace(/([()\\\n\r])/g,(e=>"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`))};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 i};t.info=function info(e){i>=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 r=0,a=e.length;r>24&255,e>>16&255,e>>8&255,255&e)};t.stringToBytes=stringToBytes;t.stringToPDFString=function stringToPDFString(e){const t=e.length,r=[];if("þ"===e[0]&&"ÿ"===e[1])for(let a=2;a>8&255),String.fromCharCode(255&a))}return t.join("")};t.stringToUTF8String=function stringToUTF8String(e){return decodeURIComponent(escape(e))};t.unreachable=unreachable;t.utf8StringToString=function utf8StringToString(e){return unescape(encodeURIComponent(e))};t.warn=warn;t.VerbosityLevel=t.Util=t.UNSUPPORTED_FEATURES=t.UnknownErrorException=t.UnexpectedResponseException=t.TextRenderingMode=t.StreamType=t.PermissionFlag=t.PasswordResponses=t.PasswordException=t.PageActionEventType=t.OPS=t.MissingPDFException=t.IsLittleEndianCached=t.IsEvalSupportedCached=t.InvalidPDFException=t.ImageKind=t.IDENTITY_MATRIX=t.FormatError=t.FontType=t.FONT_IDENTITY_MATRIX=t.DocumentActionEventType=t.CMapCompressionType=t.BaseException=t.AnnotationType=t.AnnotationStateModelType=t.AnnotationReviewState=t.AnnotationReplyType=t.AnnotationMarkedState=t.AnnotationFlag=t.AnnotationFieldFlag=t.AnnotationBorderStyleType=t.AnnotationActionEventType=t.AbortException=void 0;r(3);t.IDENTITY_MATRIX=[1,0,0,1,0,0];t.FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0];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"};t.StreamType={UNKNOWN:"UNKNOWN",FLATE:"FLATE",LZW:"LZW",DCT:"DCT",JPX:"JPX",JBIG:"JBIG",A85:"A85",AHX:"AHX",CCF:"CCF",RLX:"RLX"};t.FontType={UNKNOWN:"UNKNOWN",TYPE1:"TYPE1",TYPE1C:"TYPE1C",CIDFONTTYPE0:"CIDFONTTYPE0",CIDFONTTYPE0C:"CIDFONTTYPE0C",TRUETYPE:"TRUETYPE",CIDFONTTYPE2:"CIDFONTTYPE2",TYPE3:"TYPE3",OPENTYPE:"OPENTYPE",TYPE0:"TYPE0",MMTYPE1:"MMTYPE1"};const a={ERRORS:0,WARNINGS:1,INFOS:5};t.VerbosityLevel=a;t.CMapCompressionType={NONE:0,BINARY:1,STREAM:2};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,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};t.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",signatures:"signatures",smask:"smask",shadingPattern:"shadingPattern",font:"font",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"};t.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let i=a.WARNINGS;function warn(e){i>=a.WARNINGS&&console.log(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function assert(e,t){e||unreachable(t)}function shadow(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!1});return r}const n=function BaseExceptionClosure(){function BaseException(e){this.constructor===BaseException&&unreachable("Cannot initialize BaseException.");this.message=e;this.name=this.constructor.name}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();t.BaseException=n;t.PasswordException=class PasswordException extends n{constructor(e,t){super(e);this.code=t}};t.UnknownErrorException=class UnknownErrorException extends n{constructor(e,t){super(e);this.details=t}};t.InvalidPDFException=class InvalidPDFException extends n{};t.MissingPDFException=class MissingPDFException extends n{};t.UnexpectedResponseException=class UnexpectedResponseException extends n{constructor(e,t){super(e);this.status=t}};t.FormatError=class FormatError extends n{};t.AbortException=class AbortException extends n{};const s=/\x00/g;function stringToBytes(e){assert("string"==typeof e,"Invalid argument for stringToBytes");const t=e.length,r=new Uint8Array(t);for(let a=0;ae.toString(16).padStart(2,"0")));class Util{static makeHexColor(e,t,r){return`#${l[e]}${l[t]}${l[r]}`}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 r=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])/r,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/r]}static getAxialAlignedBoundingBox(e,t){const r=Util.applyTransform(e,t),a=Util.applyTransform(e.slice(2,4),t),i=Util.applyTransform([e[0],e[3]],t),n=Util.applyTransform([e[2],e[1]],t);return[Math.min(r[0],a[0],i[0],n[0]),Math.min(r[1],a[1],i[1],n[1]),Math.max(r[0],a[0],i[0],n[0]),Math.max(r[1],a[1],i[1],n[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 apply3dTransform(e,t){return[e[0]*t[0]+e[1]*t[1]+e[2]*t[2],e[3]*t[0]+e[4]*t[1]+e[5]*t[2],e[6]*t[0]+e[7]*t[1]+e[8]*t[2]]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],r=e[0]*t[0]+e[1]*t[2],a=e[0]*t[1]+e[1]*t[3],i=e[2]*t[0]+e[3]*t[2],n=e[2]*t[1]+e[3]*t[3],s=(r+n)/2,o=Math.sqrt((r+n)**2-4*(r*n-i*a))/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){function compare(e,t){return e-t}const r=[e[0],e[2],t[0],t[2]].sort(compare),a=[e[1],e[3],t[1],t[3]].sort(compare),i=[];e=Util.normalizeRect(e);t=Util.normalizeRect(t);if(!(r[0]===e[0]&&r[1]===t[0]||r[0]===t[0]&&r[1]===e[0]))return null;i[0]=r[1];i[2]=r[2];if(!(a[0]===e[1]&&a[1]===t[1]||a[0]===t[1]&&a[1]===e[1]))return null;i[1]=a[1];i[3]=a[2];return i}}t.Util=Util;const h=[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]},(e,t,r)=>{r(4)},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.isNodeJS=void 0;const r=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type);t.isNodeJS=r},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!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.isEOF=function isEOF(e){return e===n};t.isName=isName;t.isRef=function isRef(e){return e instanceof l};t.isRefsEqual=function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen};t.isStream=function isStream(e){return e instanceof i.BaseStream};t.RefSetCache=t.RefSet=t.Ref=t.Name=t.EOF=t.Dict=t.Cmd=void 0;var a=r(2),i=r(6);const n={};t.EOF=n;const s=function NameClosure(){let e=Object.create(null);class Name{constructor(e){this.name=e}static get(t){const r=e[t];return r||(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){const r=e[t];return r||(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,r){let a=this._map[e];if(void 0===a&&void 0!==t){a=this._map[t];void 0===a&&void 0!==r&&(a=this._map[r])}return a instanceof l&&this.xref?this.xref.fetch(a,this.suppressEncryption):a}async getAsync(e,t,r){let a=this._map[e];if(void 0===a&&void 0!==t){a=this._map[t];void 0===a&&void 0!==r&&(a=this._map[r])}return a instanceof l&&this.xref?this.xref.fetchAsync(a,this.suppressEncryption):a}getArray(e,t,r){let a=this._map[e];if(void 0===a&&void 0!==t){a=this._map[t];void 0===a&&void 0!==r&&(a=this._map[r])}a instanceof l&&this.xref&&(a=this.xref.fetch(a,this.suppressEncryption));if(Array.isArray(a)){a=a.slice();for(let e=0,t=a.length;e{(0,a.unreachable)("Should not call `set` on the empty dictionary.")};return(0,a.shadow)(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:r=!1}){const a=new Dict(e);if(!r){for(const e of t)if(e instanceof Dict)for(const[t,r]of Object.entries(e._map))void 0===a._map[t]&&(a._map[t]=r);return a.size>0?a:Dict.empty}const i=new Map;for(const e of t)if(e instanceof Dict)for(const[t,r]of Object.entries(e._map)){let e=i.get(t);if(void 0===e){e=[];i.set(t,e)}e.push(r)}for(const[t,r]of i){if(1===r.length||!(r[0]instanceof Dict)){a._map[t]=r[0];continue}const i=new Dict(e);for(const e of r)if(e instanceof Dict)for(const[t,r]of Object.entries(e._map))void 0===i._map[t]&&(i._map[t]=r);i.size>0&&(a._map[t]=i)}i.clear();return a.size>0?a: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,r){const a=0===r?`${t}R`:`${t}R${r}`,i=e[a];return i||(e[a]=new Ref(t,r))}static _clearCache(){e=Object.create(null)}}return Ref}();t.Ref=l;t.RefSet=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())}forEach(e){for(const t of this._set.values())e(t)}clear(){this._set.clear()}};t.RefSetCache=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))}forEach(e){for(const t of this._map.values())e(t)}clear(){this._map.clear()}};function isName(e,t){return e instanceof s&&(void 0===t||e.name===t)}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.BaseStream=void 0;var a=r(2);class BaseStream{constructor(){this.constructor===BaseStream&&(0,a.unreachable)("Cannot initialize BaseStream.")}get length(){(0,a.unreachable)("Abstract getter `length` accessed")}get isEmpty(){(0,a.unreachable)("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return(0,a.shadow)(this,"isDataLoaded",!0)}getByte(){(0,a.unreachable)("Abstract method `getByte` called")}getBytes(e,t=!1){(0,a.unreachable)("Abstract method `getBytes` called")}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e,t=!1){const r=this.getBytes(e,t);this.pos-=r.length;return r}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,a.unreachable)("Abstract method `getByteRange` called")}getString(e){return(0,a.bytesToString)(this.getBytes(e,!1))}skip(e){this.pos+=e||1}reset(){(0,a.unreachable)("Abstract method `reset` called")}moveStart(){(0,a.unreachable)("Abstract method `moveStart` called")}makeSubStream(e,t,r=null){(0,a.unreachable)("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}t.BaseStream=BaseStream},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NetworkPdfManager=t.LocalPdfManager=void 0;var a=r(2),i=r(8),n=r(9),s=r(11),o=r(10);function parseDocBaseUrl(e){if(e){const t=(0,a.createValidAbsoluteUrl)(e);if(t)return t.href;(0,a.warn)(`Invalid absolute docBaseUrl: "${e}".`)}return null}class BasePdfManager{constructor(){this.constructor===BasePdfManager&&(0,a.unreachable)("Cannot initialize BasePdfManager.")}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}onLoadedStream(){(0,a.unreachable)("Abstract method `onLoadedStream` called")}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)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,r){(0,a.unreachable)("Abstract method `ensure` called")}requestRange(e,t){(0,a.unreachable)("Abstract method `requestRange` called")}requestLoadedStream(){(0,a.unreachable)("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){(0,a.unreachable)("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){(0,a.unreachable)("Abstract method `terminate` called")}}t.LocalPdfManager=class LocalPdfManager extends BasePdfManager{constructor(e,t,r,a,i,n){super();this._docId=e;this._password=r;this._docBaseUrl=parseDocBaseUrl(n);this.evaluatorOptions=a;this.enableXfa=i;const c=new o.Stream(t);this.pdfDocument=new s.PDFDocument(this,c);this._loadedStreamPromise=Promise.resolve(c)}async ensure(e,t,r){const a=e[t];return"function"==typeof a?a.apply(e,r):a}requestRange(e,t){return Promise.resolve()}requestLoadedStream(){}onLoadedStream(){return this._loadedStreamPromise}terminate(e){}};t.NetworkPdfManager=class NetworkPdfManager extends BasePdfManager{constructor(e,t,r,a,n,o){super();this._docId=e;this._password=r.password;this._docBaseUrl=parseDocBaseUrl(o);this.msgHandler=r.msgHandler;this.evaluatorOptions=a;this.enableXfa=n;this.streamManager=new i.ChunkedStreamManager(t,{msgHandler:r.msgHandler,length:r.length,disableAutoFetch:r.disableAutoFetch,rangeChunkSize:r.rangeChunkSize});this.pdfDocument=new s.PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,r){try{const a=e[t];return"function"==typeof a?a.apply(e,r):a}catch(a){if(!(a instanceof n.MissingDataException))throw a;await this.requestRange(a.begin,a.end);return this.ensure(e,t,r)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(){this.streamManager.requestAllChunks()}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}onLoadedStream(){return this.streamManager.onLoadedStream()}terminate(e){this.streamManager.abort(e)}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ChunkedStreamManager=t.ChunkedStream=void 0;var a=r(2),i=r(9),n=r(10);class ChunkedStream extends n.Stream{constructor(e,t,r){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this._loadedChunks=new Set;this.numChunks=Math.ceil(e/t);this.manager=r;this.progressiveDataLength=0;this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const e=[];for(let t=0,r=this.numChunks;t=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=r;e=t)return;if(t<=this.progressiveDataLength)return;const r=this.chunkSize,a=Math.floor(e/r),n=Math.floor((t-1)/r)+1;for(let r=a;r=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e,t=!1){const r=this.bytes,a=this.pos,i=this.end;if(!e){i>this.progressiveDataLength&&this.ensureRange(a,i);const e=r.subarray(a,i);return t?new Uint8ClampedArray(e):e}let n=a+e;n>i&&(n=i);n>this.progressiveDataLength&&this.ensureRange(a,n);this.pos=n;const s=r.subarray(a,n);return t?new Uint8ClampedArray(s):s}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,r=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),r=Math.floor((this.end-1)/e)+1,a=[];for(let e=t;e{const readChunk=s=>{try{if(!s.done){const e=s.value;i.push(e);n+=(0,a.arrayByteLength)(e);r.isStreamingSupported&&this.onProgress({loaded:n});r.read().then(readChunk,t);return}const o=(0,a.arraysToBytes)(i);i=null;e(o)}catch(e){t(e)}};r.read().then(readChunk,t)})).then((t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})}))}requestAllChunks(){const e=this.stream.getMissingChunks();this._requestChunks(e);return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,r=new Set;this._chunksNeededByRequest.set(t,r);for(const t of e)this.stream.hasChunk(t)||r.add(t);if(0===r.size)return Promise.resolve();const i=(0,a.createPromiseCapability)();this._promisesByRequest.set(t,i);const n=[];for(const e of r){let r=this._requestsByChunk.get(e);if(!r){r=[];this._requestsByChunk.set(e,r);n.push(e)}r.push(t)}if(n.length>0){const e=this.groupChunks(n);for(const t of e){const e=t.beginChunk*this.chunkSize,r=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,r)}}return i.promise.catch((e=>{if(!this.aborted)throw e}))}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const r=this.getBeginChunk(e),a=this.getEndChunk(t),i=[];for(let e=r;e=0&&a+1!==n){t.push({beginChunk:r,endChunk:a+1});r=n}i+1===e.length&&t.push({beginChunk:r,endChunk:n+1});a=n}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,r=void 0===e.begin,a=r?this.progressiveDataLength:e.begin,i=a+t.byteLength,n=Math.floor(a/this.chunkSize),s=i0||o.push(r)}}}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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.collectActions=function collectActions(e,t,r){const n=Object.create(null),s=getInheritableProperty({dict:t,key:"AA",stopWhenFound:!1});if(s)for(let t=s.length-1;t>=0;t--){const a=s[t];if(a instanceof i.Dict)for(const t of a.getKeys()){const s=r[t];if(!s)continue;const o=a.getRaw(t),c=new i.RefSet,l=[];_collectJS(o,e,l,c);l.length>0&&(n[s]=l)}}if(t.has("A")){const r=t.get("A"),a=new i.RefSet,s=[];_collectJS(r,e,s,a);s.length>0&&(n.Action=s)}return(0,a.objectSize)(n)>0?n:null};t.encodeToXmlString=function encodeToXmlString(e){const t=[];let r=0;for(let a=0,i=e.length;a55295&&(i<57344||i>65533)&&a++;r=a+1}}if(0===t.length)return e;r126||35===i||40===i||41===i||60===i||62===i||91===i||93===i||123===i||125===i||47===i||37===i){r{const r=e.match(t);return r?{name:r[1],pos:parseInt(r[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.toRomanNumerals=function toRomanNumerals(e,t=!1){(0,a.assert)(Number.isInteger(e)&&e>0,"The number should be a positive integer.");const r=[];let i;for(;e>=1e3;){e-=1e3;r.push("M")}i=e/100|0;e%=100;r.push(n[i]);i=e/10|0;e%=10;r.push(n[10+i]);r.push(n[20+e]);const s=r.join("");return t?s.toLowerCase():s};t.validateCSSFont=function validateCSSFont(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:r,fontWeight:i,italicAngle:n}=e;if(/^".*"$/.test(r)){if(/[^\\]"/.test(r.slice(1,r.length-1))){(0,a.warn)(`XFA - FontFamily contains some unescaped ": ${r}.`);return!1}}else if(/^'.*'$/.test(r)){if(/[^\\]'/.test(r.slice(1,r.length-1))){(0,a.warn)(`XFA - FontFamily contains some unescaped ': ${r}.`);return!1}}else for(const e of r.split(/[ \t]+/))if(/^([0-9]|(-([0-9]|-)))/.test(e)||!/^[a-zA-Z0-9\-_\\]+$/.test(e)){(0,a.warn)(`XFA - FontFamily contains some invalid : ${r}.`);return!1}const s=i?i.toString():"";e.fontWeight=t.has(s)?s:"400";const o=parseFloat(n);e.italicAngle=isNaN(o)||o<-90||o>90?"14":n.toString();return!0};t.XRefParseException=t.XRefEntryException=t.MissingDataException=void 0;var a=r(2),i=r(5);class MissingDataException extends a.BaseException{constructor(e,t){super(`Missing data [${e}, ${t})`);this.begin=e;this.end=t}}t.MissingDataException=MissingDataException;class XRefEntryException extends a.BaseException{}t.XRefEntryException=XRefEntryException;class XRefParseException extends a.BaseException{}t.XRefParseException=XRefParseException;function getInheritableProperty({dict:e,key:t,getArray:r=!1,stopWhenFound:a=!0}){let n;const s=new i.RefSet;for(;e instanceof i.Dict&&(!e.objId||!s.has(e.objId));){e.objId&&s.put(e.objId);const i=r?e.getArray(t):e.get(t);if(void 0!==i){if(a)return i;n||(n=[]);n.push(i)}e=e.get("Parent")}return n}const n=["","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,r,n){if(!e)return;let s=null;if((0,i.isRef)(e)){if(n.has(e))return;s=e;n.put(s);e=t.fetch(e)}if(Array.isArray(e))for(const a of e)_collectJS(a,t,r,n);else if(e instanceof i.Dict){if((0,i.isName)(e.get("S"),"JavaScript")&&e.has("JS")){const t=e.get("JS");let n;n=(0,i.isStream)(t)?t.getString():t;n=(0,a.stringToPDFString)(n);n&&r.push(n)}_collectJS(e.getRaw("Next"),t,r,n)}s&&n.remove(s)}const s={60:"<",62:">",38:"&",34:""",39:"'"}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.StringStream=t.Stream=t.NullStream=void 0;var a=r(6),i=r(2);class Stream extends a.BaseStream{constructor(e,t,r,a){super();this.bytes=e instanceof Uint8Array?e:new Uint8Array(e);this.start=t||0;this.pos=this.start;this.end=t+r||this.bytes.length;this.dict=a}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,t=!1){const r=this.bytes,a=this.pos,i=this.end;if(!e){const e=r.subarray(a,i);return t?new Uint8ClampedArray(e):e}let n=a+e;n>i&&(n=i);this.pos=n;const s=r.subarray(a,n);return t?new Uint8ClampedArray(s):s}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,r=null){return new Stream(this.bytes.buffer,e,t,r)}}t.Stream=Stream;t.StringStream=class StringStream extends Stream{constructor(e){super((0,i.stringToBytes)(e))}};t.NullStream=class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.PDFDocument=t.Page=void 0;var a=r(2),i=r(5),n=r(9),s=r(10),o=r(12),c=r(6),l=r(65),h=r(57),u=r(17),d=r(63),f=r(55),g=r(15),p=r(19),m=r(62),b=r(67),y=r(88);const w=[0,0,612,792];class Page{constructor({pdfManager:e,xref:t,pageIndex:r,pageDict:a,ref:i,globalIdFactory:n,fontCache:s,builtInCMapCache:o,globalImageCache:c,nonBlendModesSet:l,xfaFactory:h}){this.pdfManager=e;this.pageIndex=r;this.pageDict=a;this.xref=t;this.ref=i;this.fontCache=s;this.builtInCMapCache=o;this.globalImageCache=c;this.nonBlendModesSet=l;this.evaluatorOptions=e.evaluatorOptions;this.resourcesPromise=null;this.xfaFactory=h;const u={obj:0};this._localIdFactory=class extends n{static createObjId(){return`p${r}_${++u.obj}`}static getPageObjId(){return`page${i.toString()}`}}}_getInheritableProperty(e,t=!1){const r=(0,n.getInheritableProperty)({dict:this.pageDict,key:e,getArray:t,stopWhenFound:!1});return Array.isArray(r)?1!==r.length&&(0,i.isDict)(r[0])?i.Dict.merge({xref:this.xref,dictArray:r}):r[0]:r}get content(){return this.pageDict.getArray("Contents")}get resources(){return(0,a.shadow)(this,"resources",this._getInheritableProperty("Resources")||i.Dict.empty)}_getBoundingBox(e){if(this.xfaData){const{width:e,height:t}=this.xfaData.attributes.style;return[0,0,parseInt(e),parseInt(t)]}const t=this._getInheritableProperty(e,!0);if(Array.isArray(t)&&4===t.length){if(t[2]-t[0]!=0&&t[3]-t[1]!=0)return t;(0,a.warn)(`Empty /${e} entry.`)}return null}get mediaBox(){return(0,a.shadow)(this,"mediaBox",this._getBoundingBox("MediaBox")||w)}get cropBox(){return(0,a.shadow)(this,"cropBox",this._getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){let e=this.pageDict.get("UserUnit");(!(0,a.isNum)(e)||e<=0)&&(e=1);return(0,a.shadow)(this,"userUnit",e)}get view(){const{cropBox:e,mediaBox:t}=this;let r;if(e===t||(0,a.isArrayEqual)(e,t))r=t;else{const i=a.Util.intersect(e,t);i&&i[2]-i[0]!=0&&i[3]-i[1]!=0?r=i:(0,a.warn)("Empty /CropBox and /MediaBox intersection.")}return(0,a.shadow)(this,"view",r||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,a.shadow)(this,"rotate",e)}getContentStream(){return this.pdfManager.ensure(this,"content").then((e=>e instanceof c.BaseStream?e:Array.isArray(e)?new p.StreamsSequenceStream(e):new s.NullStream))}get xfaData(){return this.xfaFactory?(0,a.shadow)(this,"xfaData",this.xfaFactory.getPage(this.pageIndex)):(0,a.shadow)(this,"xfaData",null)}save(e,t,r){const i=new g.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,globalImageCache:this.globalImageCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(e){const n=[];for(const s of e)s.mustBePrinted(r)&&n.push(s.save(i,t,r).catch((function(e){(0,a.warn)(`save - ignoring annotation data during "${t.name}" task: "${e}".`);return null})));return Promise.all(n)}))}loadResources(e){this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources"));return this.resourcesPromise.then((()=>new d.ObjectLoader(this.resources,e,this.xref).load()))}getOperatorList({handler:e,sink:t,task:r,intent:i,renderInteractiveForms:n,annotationStorage:s}){const o=this.getContentStream(),c=this.loadResources(["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"]),l=new g.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,globalImageCache:this.globalImageCache,options:this.evaluatorOptions}),h=Promise.all([o,c]).then((([a])=>{const n=new f.OperatorList(i,t);e.send("StartRenderPage",{transparency:l.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,intent:i});return l.getOperatorList({stream:a,task:r,resources:this.resources,operatorList:n}).then((function(){return n}))}));return Promise.all([h,this._parsedAnnotations]).then((function([e,t]){if(0===t.length){e.flush(!0);return{length:e.totalLength}}const o=[];for(const e of t)("display"===i&&e.mustBeViewed(s)||"print"===i&&e.mustBePrinted(s))&&o.push(e.getOperatorList(l,r,n,s).catch((function(e){(0,a.warn)(`getOperatorList - ignoring annotation data during "${r.name}" task: "${e}".`);return null})));return Promise.all(o).then((function(t){e.addOp(a.OPS.beginAnnotations,[]);for(const r of t)e.addOpList(r);e.addOp(a.OPS.endAnnotations,[]);e.flush(!0);return{length:e.totalLength}}))}))}extractTextContent({handler:e,task:t,normalizeWhitespace:r,includeMarkedContent:a,sink:i,combineTextItems:n}){const s=this.getContentStream(),o=this.loadResources(["ExtGState","Font","Properties","XObject"]);return Promise.all([s,o]).then((([s])=>new g.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,globalImageCache:this.globalImageCache,options:this.evaluatorOptions}).getTextContent({stream:s,task:t,resources:this.resources,normalizeWhitespace:r,includeMarkedContent:a,combineTextItems:n,sink:i})))}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 m.StructTreePage(e,this.pageDict);t.parse();return t}getAnnotationsData(e){return this._parsedAnnotations.then((function(t){const r=[];for(let a=0,i=t.length;a{const e=[];for(const t of this.annotations)e.push(o.AnnotationFactory.create(this.xref,t,this.pdfManager,this._localIdFactory,!1).catch((function(e){(0,a.warn)(`_parsedAnnotations: "${e}".`);return null})));return Promise.all(e).then((function(e){return e.filter((e=>!!e))}))}));return(0,a.shadow)(this,"_parsedAnnotations",e)}get jsActions(){const e=(0,n.collectActions)(this.xref,this.pageDict,a.PageActionEventType);return(0,a.shadow)(this,"jsActions",e)}}t.Page=Page;const S=new Uint8Array([37,80,68,70,45]),x=new Uint8Array([115,116,97,114,116,120,114,101,102]),k=new Uint8Array([101,110,100,111,98,106]),C=/^[1-9]\.[0-9]$/;function find(e,t,r=1024,a=!1){const i=t.length,n=e.peekBytes(r),s=n.length-i;if(s<=0)return!1;if(a){const r=i-1;let a=n.length-1;for(;a>=r;){let s=0;for(;s=i){e.pos+=a-r;return!0}a--}}else{let r=0;for(;r<=s;){let a=0;for(;a=i){e.pos+=r;return!0}r++}}return!1}t.PDFDocument=class PDFDocument{constructor(e,t){let r;if((0,i.isStream)(t))r=t;else{if(!(0,a.isArrayBuffer)(t))throw new Error("PDFDocument: Unknown argument type");r=new s.Stream(t)}if(r.length<=0)throw new a.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e;this.stream=r;this.xref=new y.XRef(r,e);this._pagePromises=[];this._version=null;const n={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++n.font}static createObjId(){(0,a.unreachable)("Abstract method `createObjId` called.")}static getPageObjId(){(0,a.unreachable)("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e);this.catalog=new h.Catalog(this.pdfManager,this.xref);this.catalog.version&&(this._version=this.catalog.version)}get linearization(){let e=null;try{e=u.Linearization.create(this.stream)}catch(e){if(e instanceof n.MissingDataException)throw e;(0,a.info)(e)}return(0,a.shadow)(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();find(e,k)&&(t=e.pos+6-e.start)}else{const r=1024,a=x.length;let i=!1,s=e.end;for(;!i&&s>0;){s-=r-a;s<0&&(s=0);e.pos=s;i=find(e,x,r,!0)}if(i){e.skip(9);let r;do{r=e.getByte()}while((0,n.isWhiteSpace)(r));let a="";for(;r>=32&&r<=57;){a+=String.fromCharCode(r);r=e.getByte()}t=parseInt(a,10);isNaN(t)&&(t=0)}}return(0,a.shadow)(this,"startXRef",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,S))return;e.moveStart();let t,r="";for(;(t=e.getByte())>32&&!(r.length>=12);)r+=String.fromCharCode(t);this._version||(this._version=r.substring(5))}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){if(this.xfaFactory)return(0,a.shadow)(this,"numPages",this.xfaFactory.numberPages);const e=this.linearization,t=e?e.numPages:this.catalog.numPages;return(0,a.shadow)(this,"numPages",t)}_hasOnlyDocumentSignatures(e,t=0){return!!Array.isArray(e)&&e.every((e=>{if(!((e=this.xref.fetchIfRef(e))instanceof i.Dict))return!1;if(e.has("Kids")){if(++t>10){(0,a.warn)("_hasOnlyDocumentSignatures: maximum recursion depth reached");return!1}return this._hasOnlyDocumentSignatures(e.get("Kids"),t)}const r=(0,i.isName)(e.get("FT"),"Sig"),n=e.get("Rect"),s=Array.isArray(n)&&n.every((e=>0===e));return r&&s}))}get xfaData(){const e=this.catalog.acroForm;if(!e)return null;const t=e.get("XFA"),r={"xdp:xdp":"",template:"",datasets:"",config:"",connectionSet:"",localeSet:"",stylesheet:"","/xdp:xdp":""};if((0,i.isStream)(t)&&!t.isEmpty)try{r["xdp:xdp"]=(0,a.stringToUTF8String)(t.getString());return r}catch(e){(0,a.warn)("XFA - Invalid utf-8 string.");return null}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,n=t.length;e{p.set(e,t)}));const m=[];for(const[e,r]of p){const o=r.get("FontDescriptor");if(!(o instanceof i.Dict))continue;const c={fontFamily:o.get("FontFamily"),fontWeight:o.get("FontWeight"),italicAngle:-o.get("ItalicAngle")};(0,n.validateCSSFont)(c)&&m.push(l.handleSetFont(s,[i.Name.get(e),1],null,h,t,u,null,c).catch((function(e){(0,a.warn)(`loadXfaFonts: "${e}".`);return null})))}await Promise.all(m)}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},t=this.catalog.acroForm;if(!t)return(0,a.shadow)(this,"formInfo",e);try{const r=t.get("Fields"),a=Array.isArray(r)&&r.length>0;e.hasFields=a;const n=t.get("XFA");e.hasXfa=Array.isArray(n)&&n.length>0||(0,i.isStream)(n)&&!n.isEmpty;const s=!!(1&t.get("SigFlags")),o=s&&this._hasOnlyDocumentSignatures(r);e.hasAcroForm=a&&!o;e.hasSignatures=s}catch(e){if(e instanceof n.MissingDataException)throw e;(0,a.warn)(`Cannot fetch form information: "${e}".`)}return(0,a.shadow)(this,"formInfo",e)}get documentInfo(){const e={Title:a.isString,Author:a.isString,Subject:a.isString,Keywords:a.isString,Creator:a.isString,Producer:a.isString,CreationDate:a.isString,ModDate:a.isString,Trapped:i.isName};let t=this._version;if("string"!=typeof t||!C.test(t)){(0,a.warn)(`Invalid PDF header version number: ${t}`);t=null}const r={PDFFormatVersion:t,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let s;try{s=this.xref.trailer.get("Info")}catch(e){if(e instanceof n.MissingDataException)throw e;(0,a.info)("The document information dictionary is invalid.")}if((0,i.isDict)(s))for(const t of s.getKeys()){const n=s.get(t);if(e[t])e[t](n)?r[t]="string"!=typeof n?n:(0,a.stringToPDFString)(n):(0,a.info)(`Bad value in document info for "${t}".`);else if("string"==typeof t){let e;if((0,a.isString)(n))e=(0,a.stringToPDFString)(n);else{if(!((0,i.isName)(n)||(0,a.isNum)(n)||(0,a.isBool)(n))){(0,a.info)(`Unsupported value in document info for (custom) "${t}".`);continue}e=n}r.Custom||(r.Custom=Object.create(null));r.Custom[t]=e}}return(0,a.shadow)(this,"documentInfo",r)}get fingerprint(){let e;const t=this.xref.trailer.get("ID");e=Array.isArray(t)&&t[0]&&(0,a.isString)(t[0])&&"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"!==t[0]?(0,a.stringToBytes)(t[0]):(0,l.calculateMD5)(this.stream.getByteRange(0,1024),0,1024);const r=[];for(let t=0,a=e.length;t{if((0,i.isDict)(e,"Page")||(0,i.isDict)(e)&&!e.has("Type")&&e.has("Contents")){n&&!t.pageKidsCountCache.has(n)&&t.pageKidsCountCache.put(n,1);return[e,n]}throw new a.FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")})).catch((r=>{(0,a.info)(r);return t.getPageDict(e)}))}getPage(e){if(void 0!==this._pagePromises[e])return this._pagePromises[e];const{catalog:t,linearization:r}=this;if(this.xfaFactory)return Promise.resolve(new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:i.Dict.empty,ref:null,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,globalImageCache:t.globalImageCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:this.xfaFactory}));const a=r&&r.pageFirst===e?this._getLinearizationPage(e):t.getPageDict(e);return this._pagePromises[e]=a.then((([r,a])=>new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:r,ref:a,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,globalImageCache:t.globalImageCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null})))}checkFirstPage(){return this.getPage(0).catch((async e=>{if(e instanceof n.XRefEntryException){this._pagePromises.length=0;await this.cleanup();throw new n.XRefParseException}}))}fontFallback(e,t){return this.catalog.fontFallback(e,t)}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):(0,i.clearPrimitiveCaches)()}_collectFieldObjects(e,t,r){const i=this.xref.fetchIfRef(t);if(i.has("T")){const t=(0,a.stringToPDFString)(i.get("T"));e=""===e?t:`${e}.${t}`}r.has(e)||r.set(e,[]);r.get(e).push(o.AnnotationFactory.create(this.xref,t,this.pdfManager,this._localIdFactory,!0).then((e=>e&&e.getFieldObject())).catch((function(e){(0,a.warn)(`_collectFieldObjects: "${e}".`);return null})));if(i.has("Kids")){const t=i.get("Kids");for(const a of t)this._collectFieldObjects(e,a,r)}}get fieldObjects(){if(!this.formInfo.hasFields)return(0,a.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 r=[];for(const[a,i]of t)r.push(Promise.all(i).then((t=>{(t=t.filter((e=>!!e))).length>0&&(e[a]=t)})));return(0,a.shadow)(this,"fieldObjects",Promise.all(r).then((()=>e)))}get hasJSActions(){const e=this.pdfManager.ensureDoc("_parseHasJSActions");return(0,a.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,a.shadow)(this,"calculationOrderIds",null);const t=e.get("CO");if(!Array.isArray(t)||0===t.length)return(0,a.shadow)(this,"calculationOrderIds",null);const r=t.filter(i.isRef).map((e=>e.toString()));return 0===r.length?(0,a.shadow)(this,"calculationOrderIds",null):(0,a.shadow)(this,"calculationOrderIds",r)}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.getQuadPoints=getQuadPoints;t.MarkupAnnotation=t.AnnotationFactory=t.AnnotationBorderStyle=t.Annotation=void 0;var a=r(2),i=r(9),n=r(13),s=r(5),o=r(57),c=r(14),l=r(59),h=r(63),u=r(55),d=r(10),f=r(64);t.AnnotationFactory=class AnnotationFactory{static create(e,t,r,a,i){return Promise.all([r.ensureCatalog("acroForm"),i?this._getPageIndex(e,t,r):-1]).then((([n,s])=>r.ensure(this,"_create",[e,t,r,a,n,i,s])))}static _create(e,t,r,n,o,c,l=-1){const h=e.fetchIfRef(t);if(!(0,s.isDict)(h))return;const u=(0,s.isRef)(t)?t.toString():`annot_${n.createObjId()}`;let d=h.get("Subtype");d=(0,s.isName)(d)?d.name:null;const f={xref:e,ref:t,dict:h,subtype:d,id:u,pdfManager:r,acroForm:o instanceof s.Dict?o:s.Dict.empty,collectFields:c,pageIndex:l};switch(d){case"Link":return new LinkAnnotation(f);case"Text":return new TextAnnotation(f);case"Widget":let e=(0,i.getInheritableProperty)({dict:h,key:"FT"});e=(0,s.isName)(e)?e.name:null;switch(e){case"Tx":return new TextWidgetAnnotation(f);case"Btn":return new ButtonWidgetAnnotation(f);case"Ch":return new ChoiceWidgetAnnotation(f);case"Sig":return new SignatureWidgetAnnotation(f)}(0,a.warn)(`Unimplemented widget field type "${e}", falling back to base field type.`);return new WidgetAnnotation(f);case"Popup":return new PopupAnnotation(f);case"FreeText":return new FreeTextAnnotation(f);case"Line":return new LineAnnotation(f);case"Square":return new SquareAnnotation(f);case"Circle":return new CircleAnnotation(f);case"PolyLine":return new PolylineAnnotation(f);case"Polygon":return new PolygonAnnotation(f);case"Caret":return new CaretAnnotation(f);case"Ink":return new InkAnnotation(f);case"Highlight":return new HighlightAnnotation(f);case"Underline":return new UnderlineAnnotation(f);case"Squiggly":return new SquigglyAnnotation(f);case"StrikeOut":return new StrikeOutAnnotation(f);case"Stamp":return new StampAnnotation(f);case"FileAttachment":return new FileAttachmentAnnotation(f);default:c||(d?(0,a.warn)(`Unimplemented annotation type "${d}", falling back to base annotation.`):(0,a.warn)("Annotation is missing the required /Subtype."));return new Annotation(f)}}static async _getPageIndex(e,t,r){try{const a=await e.fetchIfRefAsync(t);if(!(0,s.isDict)(a))return-1;const i=a.getRaw("P");if(!(0,s.isRef)(i))return-1;return await r.ensureCatalog("getPageIndex",[i])}catch(e){(0,a.warn)(`_getPageIndex: "${e}".`);return-1}}};function getRgbColor(e){const t=new Uint8ClampedArray(3);if(!Array.isArray(e))return t;switch(e.length){case 0:return null;case 1:c.ColorSpace.singletons.gray.getRgbItem(e,0,t,0);return t;case 3:c.ColorSpace.singletons.rgb.getRgbItem(e,0,t,0);return t;case 4:c.ColorSpace.singletons.cmyk.getRgbItem(e,0,t,0);return t;default:return t}}function getQuadPoints(e,t){if(!e.has("QuadPoints"))return null;const r=e.getArray("QuadPoints");if(!Array.isArray(r)||0===r.length||r.length%8>0)return null;const a=[];for(let e=0,i=r.length/8;et[2]||st[3]))return null;a[e].push({x:n,y:s})}}return a.map((e=>{const[t,r,a,i]=e.reduce((([e,t,r,a],i)=>[Math.min(e,i.x),Math.max(t,i.x),Math.min(r,i.y),Math.max(a,i.y)]),[Number.MAX_VALUE,Number.MIN_VALUE,Number.MAX_VALUE,Number.MIN_VALUE]);return[{x:t,y:i},{x:r,y:i},{x:t,y:a},{x:r,y:a}]}))}function getTransformMatrix(e,t,r){const[i,n,s,o]=a.Util.getAxialAlignedBoundingBox(t,r);if(i===s||n===o)return[1,0,0,1,e[0],e[1]];const c=(e[2]-e[0])/(s-i),l=(e[3]-e[1])/(o-n);return[c,0,0,l,e[0]-i*c,e[1]-n*l]}class Annotation{constructor(e){const t=e.dict;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._streams=[];this.appearance&&this._streams.push(this.appearance);this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,contents:this.contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype};if(e.collectFields){const r=t.get("Kids");if(Array.isArray(r)){const e=[];for(const t of r)(0,s.isRef)(t)&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=(0,i.collectActions)(e.xref,t,a.AnnotationActionEventType);this.data.fieldName=this._constructFieldName(t);this.data.pageIndex=e.pageIndex}this._fallbackFontDict=null}_hasFlag(e,t){return!!(e&t)}_isViewable(e){return!this._hasFlag(e,a.AnnotationFlag.INVISIBLE)&&!this._hasFlag(e,a.AnnotationFlag.NOVIEW)}_isPrintable(e){return this._hasFlag(e,a.AnnotationFlag.PRINT)&&!this._hasFlag(e,a.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,a.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))}setContents(e){this.contents=(0,a.stringToPDFString)(e||"")}setModificationDate(e){this.modificationDate=(0,a.isString)(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=a.Util.normalizeRect(e):this.rectangle=[0,0,0,0]}setColor(e){this.color=getRgbColor(e)}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if((0,s.isDict)(e))if(e.has("BS")){const t=e.get("BS"),r=t.get("Type");if(!r||(0,s.isName)(r,"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])}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(0,s.isDict)(t))return;const r=t.get("N");if((0,s.isStream)(r)){this.appearance=r;return}if(!(0,s.isDict)(r))return;const a=e.get("AS");(0,s.isName)(a)&&r.has(a.name)&&(this.appearance=r.get(a.name))}loadResources(e){return this.appearance.dict.getAsync("Resources").then((t=>{if(!t)return;return new h.ObjectLoader(t,e,t.xref).load().then((function(){return t}))}))}getOperatorList(e,t,r,i){if(!this.appearance)return Promise.resolve(new u.OperatorList);const n=this.appearance,s=this.data,o=n.dict,c=this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"]),l=o.getArray("BBox")||[0,0,1,1],h=o.getArray("Matrix")||[1,0,0,1,0,0],d=getTransformMatrix(s.rect,l,h);return c.then((r=>{const i=new u.OperatorList;i.addOp(a.OPS.beginAnnotation,[s.rect,d,h]);return e.getOperatorList({stream:n,task:t,resources:r,operatorList:i,fallbackFontDict:this._fallbackFontDict}).then((()=>{i.addOp(a.OPS.endAnnotation,[]);this.reset();return i}))}))}async save(e,t,r){return null}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent")){(0,a.warn)("Unknown field name, falling back to empty field name.");return""}if(!e.has("Parent"))return(0,a.stringToPDFString)(e.get("T"));const t=[];e.has("T")&&t.unshift((0,a.stringToPDFString)(e.get("T")));let r=e;const i=new s.RefSet;e.objId&&i.put(e.objId);for(;r.has("Parent");){r=r.get("Parent");if(!(r instanceof s.Dict)||r.objId&&i.has(r.objId))break;r.objId&&i.put(r.objId);r.has("T")&&t.unshift((0,a.stringToPDFString)(r.get("T")))}return t.join(".")}}t.Annotation=Annotation;class AnnotationBorderStyle{constructor(){this.width=1;this.style=a.AnnotationBorderStyleType.SOLID;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0}setWidth(e,t=[0,0,0,0]){if((0,s.isName)(e))this.width=0;else if(Number.isInteger(e)){if(e>0){const r=(t[2]-t[0])/2,i=(t[3]-t[1])/2;if(r>0&&i>0&&(e>r||e>i)){(0,a.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if((0,s.isName)(e))switch(e.name){case"S":this.style=a.AnnotationBorderStyleType.SOLID;break;case"D":this.style=a.AnnotationBorderStyleType.DASHED;break;case"B":this.style=a.AnnotationBorderStyleType.BEVELED;break;case"I":this.style=a.AnnotationBorderStyleType.INSET;break;case"U":this.style=a.AnnotationBorderStyleType.UNDERLINE}}setDashArray(e){if(Array.isArray(e)&&e.length>0){let t=!0,r=!0;for(const a of e){if(!(+a>=0)){t=!1;break}a>0&&(r=!1)}t&&!r?this.dashArray=e: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 t=e.dict;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=(0,s.isRef)(e)?e.toString():null;const r=t.get("RT");this.data.replyType=(0,s.isName)(r)?r.name:a.AnnotationReplyType.REPLY}if(this.data.replyType===a.AnnotationReplyType.GROUP){const e=t.get("IRT");this.data.title=(0,a.stringToPDFString)(e.get("T")||"");this.setContents(e.get("Contents"));this.data.contents=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.title=(0,a.stringToPDFString)(t.get("T")||"");this.setCreationDate(t.get("CreationDate"));this.data.creationDate=this.creationDate;this.data.hasPopup=t.has("Popup");t.has("C")||(this.data.color=null)}}setCreationDate(e){this.creationDate=(0,a.isString)(e)?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:r,fillColor:a,blendMode:i,strokeAlpha:n,fillAlpha:o,pointsCallback:c}){let l=Number.MAX_VALUE,h=Number.MAX_VALUE,u=Number.MIN_VALUE,f=Number.MIN_VALUE;const g=["q"];t&&g.push(t);r&&g.push(`${r[0]} ${r[1]} ${r[2]} RG`);a&&g.push(`${a[0]} ${a[1]} ${a[2]} rg`);let p=this.data.quadPoints;p||(p=[[{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 p){const[t,r,a,i]=c(g,e);l=Math.min(l,t);u=Math.max(u,r);h=Math.min(h,a);f=Math.max(f,i)}g.push("Q");const m=new s.Dict(e),b=new s.Dict(e);b.set("Subtype",s.Name.get("Form"));const y=new d.StringStream(g.join(" "));y.dict=b;m.set("Fm0",y);const w=new s.Dict(e);i&&w.set("BM",s.Name.get(i));"number"==typeof n&&w.set("CA",n);"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 k=new s.Dict(e);k.set("Resources",x);const C=this.data.rect=[l,h,u,f];k.set("BBox",C);this.appearance=new d.StringStream("/GS0 gs /Fm0 Do");this.appearance.dict=k;this._streams.push(this.appearance,y)}}t.MarkupAnnotation=MarkupAnnotation;class WidgetAnnotation extends Annotation{constructor(e){super(e);const t=e.dict,r=this.data;this.ref=e.ref;r.annotationType=a.AnnotationType.WIDGET;void 0===r.fieldName&&(r.fieldName=this._constructFieldName(t));void 0===r.actions&&(r.actions=(0,i.collectActions)(e.xref,t,a.AnnotationActionEventType));const o=(0,i.getInheritableProperty)({dict:t,key:"V",getArray:!0});r.fieldValue=this._decodeFormValue(o);const c=(0,i.getInheritableProperty)({dict:t,key:"DV",getArray:!0});r.defaultFieldValue=this._decodeFormValue(c);r.alternativeText=(0,a.stringToPDFString)(t.get("TU")||"");const l=(0,i.getInheritableProperty)({dict:t,key:"DA"})||e.acroForm.get("DA");this._defaultAppearance=(0,a.isString)(l)?l:"";r.defaultAppearanceData=(0,n.parseDefaultAppearance)(this._defaultAppearance);const h=(0,i.getInheritableProperty)({dict:t,key:"FT"});r.fieldType=(0,s.isName)(h)?h.name:null;const u=(0,i.getInheritableProperty)({dict:t,key:"DR"}),d=e.acroForm.get("DR"),f=this.appearance&&this.appearance.dict.get("Resources");this._fieldResources={localResources:u,acroFormResources:d,appearanceResources:f,mergedResources:s.Dict.merge({xref:e.xref,dictArray:[u,f,d],mergeSubDicts:!0})};r.fieldFlags=(0,i.getInheritableProperty)({dict:t,key:"Ff"});(!Number.isInteger(r.fieldFlags)||r.fieldFlags<0)&&(r.fieldFlags=0);r.readOnly=this.hasFieldFlag(a.AnnotationFieldFlag.READONLY);r.hidden=this._hasFlag(r.annotationFlags,a.AnnotationFlag.HIDDEN)}_decodeFormValue(e){return Array.isArray(e)?e.filter((e=>(0,a.isString)(e))).map((e=>(0,a.stringToPDFString)(e))):(0,s.isName)(e)?(0,a.stringToPDFString)(e.name):(0,a.isString)(e)?(0,a.stringToPDFString)(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}getOperatorList(e,t,r,i){return!r||this instanceof SignatureWidgetAnnotation?this._hasText?this._getAppearance(e,t,i).then((n=>{if(this.appearance&&null===n)return super.getOperatorList(e,t,r,i);const s=new u.OperatorList;if(!this._defaultAppearance||null===n)return s;const o=[1,0,0,1,0,0],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,o);s.addOp(a.OPS.beginAnnotation,[this.data.rect,l,o]);const h=new d.StringStream(n);return e.getOperatorList({stream:h,task:t,resources:this._fieldResources.mergedResources,operatorList:s}).then((function(){s.addOp(a.OPS.endAnnotation,[]);return s}))})):super.getOperatorList(e,t,r,i):Promise.resolve(new u.OperatorList)}async save(e,t,r){if(!r)return null;const i=r.get(this.data.id),n=i&&i.value;if(n===this.data.fieldValue||void 0===n)return null;let o=await this._getAppearance(e,t,r);if(null===o)return null;const{xref:c}=e,l=c.fetchIfRef(this.ref);if(!(0,s.isDict)(l))return null;const h=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],u={path:(0,a.stringToPDFString)(l.get("T")||""),value:n},d=c.getNewRef(),g=new s.Dict(c);g.set("N",d);const p=c.encrypt;let m=null,b=null;if(p){m=p.createCipherTransform(this.ref.num,this.ref.gen);b=p.createCipherTransform(d.num,d.gen);o=b.encryptString(o)}l.set("V",(0,a.isAscii)(n)?n:(0,a.stringToUTF16BEString)(n));l.set("AP",g);l.set("M",`D:${(0,a.getModificationDate)()}`);const y=new s.Dict(c);y.set("Length",o.length);y.set("Subtype",s.Name.get("Form"));y.set("Resources",this._getSaveFieldResources(c));y.set("BBox",h);const w=[`${this.ref.num} ${this.ref.gen} obj\n`];(0,f.writeDict)(l,w,m);w.push("\nendobj\n");const S=[`${d.num} ${d.gen} obj\n`];(0,f.writeDict)(y,S,b);S.push(" stream\n",o,"\nendstream\nendobj\n");return[{ref:this.ref,data:w.join(""),xfa:u},{ref:d,data:S.join(""),xfa:null}]}async _getAppearance(e,t,r){const i=this.hasFieldFlag(a.AnnotationFieldFlag.PASSWORD);if(!r||i)return null;const s=r.get(this.data.id);let o=s&&s.value;if(void 0===o)return null;o=o.trim();if(""===o)return"";let c=-1;this.data.multiLine&&(c=o.split(/\r\n|\r|\n/).length);const l=this.data.rect[3]-this.data.rect[1],h=this.data.rect[2]-this.data.rect[0];this._defaultAppearance||(this.data.defaultAppearanceData=(0,n.parseDefaultAppearance)(this._defaultAppearance="/Helvetica 0 Tf 0 g"));const[u,d]=this._computeFontSize(l,c),f=await this._getFontData(e,t);let g=f.descent;isNaN(g)&&(g=0);const p=2+Math.abs(g)*d,m=this.data.textAlignment;if(this.data.multiLine)return this._getMultilineAppearance(u,o,f,d,h,l,m,2,p);const b=f.encodeString(o).join("");if(this.data.comb)return this._getCombAppearance(u,f,b,h,2,p);if(0===m||m>2)return"/Tx BMC q BT "+u+` 1 0 0 1 2 ${p} Tm (${(0,a.escapeString)(b)}) Tj ET Q EMC`;return"/Tx BMC q BT "+u+` 1 0 0 1 0 0 Tm ${this._renderText(b,f,d,h,m,2,p)} ET Q EMC`}async _getFontData(e,t){const r=new u.OperatorList,a={font:null,clone(){return this}},{fontName:i,fontSize:n}=this.data.defaultAppearanceData;await e.handleSetFont(this._fieldResources.mergedResources,[i&&s.Name.get(i),n],null,r,t,a,null);return a.font}_computeFontSize(e,t){let{fontSize:r}=this.data.defaultAppearanceData;if(!r){const roundWithOneDigit=e=>Math.round(10*e)/10,a=.8;if(-1===t)r=roundWithOneDigit(a*e);else{r=10;let i=r/a,n=Math.round(e/i);n=Math.max(n,t);i=e/n;r=roundWithOneDigit(a*i)}const{fontName:i,fontColor:s}=this.data.defaultAppearanceData;this._defaultAppearance=(0,n.createDefaultAppearance)({fontSize:r,fontName:i,fontColor:s})}return[this._defaultAppearance,r]}_renderText(e,t,r,i,n,s,o){const c=t.charsToGlyphs(e),l=r/1e3;let h,u=0;for(const e of c)u+=e.width*l;h=1===n?(i-u)/2:2===n?i-u-s:s;h=h.toFixed(2);return`${h} ${o=o.toFixed(2)} Td (${(0,a.escapeString)(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:r,acroFormResources:a}=this._fieldResources,i=this.data.defaultAppearanceData&&this.data.defaultAppearanceData.fontName;if(!i)return t||s.Dict.empty;for(const e of[t,r])if(e instanceof s.Dict){const t=e.get("Font");if(t instanceof s.Dict&&t.has(i))return e}if(a instanceof s.Dict){const r=a.get("Font");if(r instanceof s.Dict&&r.has(i)){const a=new s.Dict(e);a.set(i,r.getRaw(i));const n=new s.Dict(e);n.set("Font",a);return s.Dict.merge({xref:e,dictArray:[n,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;(0,a.isString)(this.data.fieldValue)||(this.data.fieldValue="");let r=(0,i.getInheritableProperty)({dict:t,key:"Q"});(!Number.isInteger(r)||r<0||r>2)&&(r=null);this.data.textAlignment=r;let n=(0,i.getInheritableProperty)({dict:t,key:"MaxLen"});(!Number.isInteger(n)||n<0)&&(n=null);this.data.maxLen=n;this.data.multiLine=this.hasFieldFlag(a.AnnotationFieldFlag.MULTILINE);this.data.comb=this.hasFieldFlag(a.AnnotationFieldFlag.COMB)&&!this.hasFieldFlag(a.AnnotationFieldFlag.MULTILINE)&&!this.hasFieldFlag(a.AnnotationFieldFlag.PASSWORD)&&!this.hasFieldFlag(a.AnnotationFieldFlag.FILESELECT)&&null!==this.data.maxLen}_getCombAppearance(e,t,r,i,n,s){const o=(i/this.data.maxLen).toFixed(2),c=[],l=t.getCharPositions(r);for(const[e,t]of l)c.push(`(${(0,a.escapeString)(r.substring(e,t))}) Tj`);return"/Tx BMC q BT "+e+` 1 0 0 1 ${n} ${s} Tm ${c.join(` ${o} 0 Td `)} ET Q EMC`}_getMultilineAppearance(e,t,r,a,i,n,s,o,c){const l=t.split(/\r\n|\r|\n/),h=[],u=i-2*o;for(const e of l){const t=this._splitLine(e,r,a,u);for(const e of t){const t=0===h.length?o:0;h.push(this._renderText(e,r,a,i,s,t,-a))}}return"/Tx BMC q BT "+e+` 1 0 0 1 0 ${n} Tm ${h.join("\n")} ET Q EMC`}_splitLine(e,t,r,a){e=t.encodeString(e).join("");const i=t.charsToGlyphs(e);if(i.length<=1)return[e];const n=t.getCharPositions(e),s=r/1e3,o=[];let c=-1,l=-1,h=-1,u=0,d=0;for(let t=0,r=i.length;ta){o.push(e.substring(u,r));u=r;d=p;c=-1;h=-1}else{d+=p;c=r;l=f;h=t}else if(d+p>a)if(-1!==c){o.push(e.substring(u,l));u=l;t=h+1;c=-1;d=0}else{o.push(e.substring(u,r));u=r;d=p}else d+=p}u0?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,type:e}}}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 t=e.dict;this.data.annotationType=a.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=a.AnnotationType.LINK;const t=getQuadPoints(e.dict,this.rectangle);t&&(this.data.quadPoints=t);o.Catalog.parseDestDictionary({destDict:e.dict,resultObj:this.data,docBaseUrl:e.pdfManager.docBaseUrl})}}class PopupAnnotation extends Annotation{constructor(e){super(e);this.data.annotationType=a.AnnotationType.POPUP;let t=e.dict.get("Parent");if(!t){(0,a.warn)("Popup annotation has a missing or invalid parent annotation.");return}const r=t.get("Subtype");this.data.parentType=(0,s.isName)(r)?r.name:null;const i=e.dict.getRaw("Parent");this.data.parentId=(0,s.isRef)(i)?i.toString():null;const n=t.getArray("Rect");Array.isArray(n)&&4===n.length?this.data.parentRect=a.Util.normalizeRect(n):this.data.parentRect=[0,0,0,0];const o=t.get("RT");(0,s.isName)(o,a.AnnotationReplyType.GROUP)&&(t=t.get("IRT"));if(t.has("M")){this.setModificationDate(t.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;if(t.has("C")){this.setColor(t.getArray("C"));this.data.color=this.color}else this.data.color=null;if(!this.viewable){const e=t.get("F");this._isViewable(e)&&this.setFlags(e)}this.data.title=(0,a.stringToPDFString)(t.get("T")||"");this.data.contents=(0,a.stringToPDFString)(t.get("Contents")||"")}}class FreeTextAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=a.AnnotationType.FREETEXT}}class LineAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=a.AnnotationType.LINE;const t=e.dict.getArray("L");this.data.lineCoordinates=a.Util.normalizeRect(t);if(!this.appearance){const r=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],i=e.dict.get("CA");let n=null,s=e.dict.getArray("IC");if(s){s=getRgbColor(s);n=s?Array.from(s).map((e=>e/255)):null}const o=n?i:null,c=this.borderStyle.width||1,l=2*c,h=[this.data.lineCoordinates[0]-l,this.data.lineCoordinates[1]-l,this.data.lineCoordinates[2]+l,this.data.lineCoordinates[3]+l];a.Util.intersect(this.rectangle,h)||(this.rectangle=h);this._setDefaultAppearance({xref:e.xref,extra:`${c} w`,strokeColor:r,fillColor:n,strokeAlpha:i,fillAlpha:o,pointsCallback:(e,r)=>{e.push(`${t[0]} ${t[1]} m`,`${t[2]} ${t[3]} l`,"S");return[r[0].x-c,r[1].x+c,r[3].y-c,r[1].y+c]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=a.AnnotationType.SQUARE;if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],r=e.dict.get("CA");let a=null,i=e.dict.getArray("IC");if(i){i=getRgbColor(i);a=i?Array.from(i).map((e=>e/255)):null}const n=a?r:null;this._setDefaultAppearance({xref:e.xref,extra:`${this.borderStyle.width} w`,strokeColor:t,fillColor:a,strokeAlpha:r,fillAlpha:n,pointsCallback:(e,t)=>{const r=t[2].x+this.borderStyle.width/2,i=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(`${r} ${i} ${n} ${s} re`);a?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);this.data.annotationType=a.AnnotationType.CIRCLE;if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],r=e.dict.get("CA");let a=null,i=e.dict.getArray("IC");if(i){i=getRgbColor(i);a=i?Array.from(i).map((e=>e/255)):null}const n=a?r:null,s=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:e.xref,extra:`${this.borderStyle.width} w`,strokeColor:t,fillColor:a,strokeAlpha:r,fillAlpha:n,pointsCallback:(e,t)=>{const r=t[0].x+this.borderStyle.width/2,i=t[0].y-this.borderStyle.width/2,n=t[3].x-this.borderStyle.width/2,o=t[3].y+this.borderStyle.width/2,c=r+(n-r)/2,l=i+(o-i)/2,h=(n-r)/2*s,u=(o-i)/2*s;e.push(`${c} ${o} m`,`${c+h} ${o} ${n} ${l+u} ${n} ${l} c`,`${n} ${l-u} ${c+h} ${i} ${c} ${i} c`,`${c-h} ${i} ${r} ${l-u} ${r} ${l} c`,`${r} ${l+u} ${c-h} ${o} ${c} ${o} c`,"h");a?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);this.data.annotationType=a.AnnotationType.POLYLINE;this.data.vertices=[];const t=e.dict.getArray("Vertices");if(Array.isArray(t)){for(let e=0,r=t.length;ee/255)):[0,0,0],r=e.dict.get("CA"),i=this.borderStyle.width||1,n=2*i,s=[1/0,1/0,-1/0,-1/0];for(const e of this.data.vertices){s[0]=Math.min(s[0],e.x-n);s[1]=Math.min(s[1],e.y-n);s[2]=Math.max(s[2],e.x+n);s[3]=Math.max(s[3],e.y+n)}a.Util.intersect(this.rectangle,s)||(this.rectangle=s);this._setDefaultAppearance({xref:e.xref,extra:`${i} w`,strokeColor:t,strokeAlpha:r,pointsCallback:(e,t)=>{const r=this.data.vertices;for(let t=0,a=r.length;te/255)):[0,0,0],r=e.dict.get("CA"),i=this.borderStyle.width||1,n=2*i,s=[1/0,1/0,-1/0,-1/0];for(const e of this.data.inkLists)for(const t of e){s[0]=Math.min(s[0],t.x-n);s[1]=Math.min(s[1],t.y-n);s[2]=Math.max(s[2],t.x+n);s[3]=Math.max(s[3],t.y+n)}a.Util.intersect(this.rectangle,s)||(this.rectangle=s);this._setDefaultAppearance({xref:e.xref,extra:`${i} w`,strokeColor:t,strokeAlpha:r,pointsCallback:(e,t)=>{for(const t of this.data.inkLists){for(let r=0,a=t.length;re/255)):[1,1,0],r=e.dict.get("CA");this._setDefaultAppearance({xref:e.xref,fillColor:t,blendMode:"Multiply",fillAlpha:r,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);this.data.annotationType=a.AnnotationType.UNDERLINE;if(this.data.quadPoints=getQuadPoints(e.dict,null)){if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],r=e.dict.get("CA");this._setDefaultAppearance({xref:e.xref,extra:"[] 0 d 1 w",strokeColor:t,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);this.data.annotationType=a.AnnotationType.SQUIGGLY;if(this.data.quadPoints=getQuadPoints(e.dict,null)){if(!this.appearance){const t=this.color?Array.from(this.color).map((e=>e/255)):[0,0,0],r=e.dict.get("CA");this._setDefaultAppearance({xref:e.xref,extra:"[] 0 d 1 w",strokeColor:t,strokeAlpha:r,pointsCallback:(e,t)=>{const r=(t[0].y-t[2].y)/6;let a=r,i=t[2].x;const n=t[2].y,s=t[3].x;e.push(`${i} ${n+a} m`);do{i+=2;a=0===a?r:0;e.push(`${i} ${n+a} l`)}while(ie/255)):[0,0,0],r=e.dict.get("CA");this._setDefaultAppearance({xref:e.xref,extra:"[] 0 d 1 w",strokeColor:t,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=a.AnnotationType.STAMP}}class FileAttachmentAnnotation extends MarkupAnnotation{constructor(e){super(e);const t=new l.FileSpec(e.dict.get("FS"),e.xref);this.data.annotationType=a.AnnotationType.FILEATTACHMENT;this.data.file=t.serializable}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.createDefaultAppearance=function createDefaultAppearance({fontSize:e,fontName:t,fontColor:r}){let a;a=r.every((e=>0===e))?"0 g":Array.from(r).map((e=>(e/255).toFixed(2))).join(" ")+" rg";return`/${(0,n.escapePDFName)(t)} ${e} Tf ${a}`};t.parseDefaultAppearance=function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()};var a=r(2),i=r(14),n=r(9),s=r(15),o=r(5),c=r(10);class DefaultAppearanceEvaluator extends s.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:r,args:n}=e;switch(0|r){case a.OPS.setFont:const[e,r]=n;e instanceof o.Name&&(t.fontName=e.name);"number"==typeof r&&r>0&&(t.fontSize=r);break;case a.OPS.setFillRGBColor:i.ColorSpace.singletons.rgb.getRgbItem(n,0,t.fontColor,0);break;case a.OPS.setFillGray:i.ColorSpace.singletons.gray.getRgbItem(n,0,t.fontColor,0);break;case a.OPS.setFillColorSpace:i.ColorSpace.singletons.cmyk.getRgbItem(n,0,t.fontColor,0)}}}catch(e){(0,a.warn)(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ColorSpace=void 0;var a=r(2),i=r(5),n=r(9);class ColorSpace{constructor(e,t){this.constructor===ColorSpace&&(0,a.unreachable)("Cannot initialize ColorSpace.");this.name=e;this.numComps=t}getRgb(e,t){const r=new Uint8ClampedArray(3);this.getRgbItem(e,t,r,0);return r}getRgbItem(e,t,r,i){(0,a.unreachable)("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,r,i,n,s,o){(0,a.unreachable)("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){(0,a.unreachable)("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,r,a,i,n,s,o,c){const l=t*r;let h=null;const u=1<u&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=s<=8?new Uint8Array(u):new Uint16Array(u);for(let e=0;e=.99554525?1:adjustToRange(0,1,1.055*e**(1/2.4)-.055)}function adjustToRange(e,t,r){return Math.max(e,Math.min(t,r))}function decodeL(e){return e<0?-decodeL(-e):e>8?((e+16)/116)**3:.0011070564598794539*e}function convertToRgb(a,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**a.GR,b=1===g?1:g**a.GG,y=1===p?1:p**a.GB,w=a.MXA*m+a.MXB*b+a.MXC*y,S=a.MYA*m+a.MYB*b+a.MYC*y,x=a.MZA*m+a.MZB*b+a.MZC*y,k=s;k[0]=w;k[1]=S;k[2]=x;const C=o;!function normalizeWhitePointToFlat(r,a,i){if(1===r[0]&&1===r[2]){i[0]=a[0];i[1]=a[1];i[2]=a[2];return}const s=i;matrixProduct(e,a,s);const o=n;!function convertToFlat(e,t,r){r[0]=1*t[0]/e[0];r[1]=1*t[1]/e[1];r[2]=1*t[2]/e[2]}(r,s,o);matrixProduct(t,o,i)}(a.whitePoint,k,C);const v=s;!function compensateBlackPoint(e,t,r){if(0===e[0]&&0===e[1]&&0===e[2]){r[0]=t[0];r[1]=t[1];r[2]=t[2];return}const a=decodeL(0),i=(1-a)/(1-decodeL(e[0])),n=1-i,s=(1-a)/(1-decodeL(e[1])),o=1-s,c=(1-a)/(1-decodeL(e[2])),l=1-c;r[0]=t[0]*i+n;r[1]=t[1]*s+o;r[2]=t[2]*c+l}(a.blackPoint,C,v);const O=o;!function normalizeWhitePointToD65(r,a,i){const s=i;matrixProduct(e,a,s);const o=n;!function convertToD65(e,t,r){r[0]=.95047*t[0]/e[0];r[1]=1*t[1]/e[1];r[2]=1.08883*t[2]/e[2]}(r,s,o);matrixProduct(t,o,i)}(i,v,O);const F=s;matrixProduct(r,O,F);h[u]=255*sRGBTransferFunction(F[0]);h[u+1]=255*sRGBTransferFunction(F[1]);h[u+2]=255*sRGBTransferFunction(F[2])}return class CalRGBCS extends ColorSpace{constructor(e,t,r,i){super("CalRGB",3);if(!e)throw new a.FormatError("WhitePoint missing - required for color space CalRGB");t=t||new Float32Array(3);r=r||new Float32Array([1,1,1]);i=i||new Float32Array([1,0,0,0,1,0,0,0,1]);const n=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=r[0];this.GG=r[1];this.GB=r[2];this.MXA=i[0];this.MYA=i[1];this.MZA=i[2];this.MXB=i[3];this.MYB=i[4];this.MZB=i[5];this.MXC=i[6];this.MYC=i[7];this.MZC=i[8];if(n<0||o<0||1!==s)throw new a.FormatError(`Invalid WhitePoint components for ${this.name}, no fallback available`);if(c<0||l<0||h<0){(0,a.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,a.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,r,a){convertToRgb(this,e,t,r,a,1)}getRgbBuffer(e,t,r,a,i,n,s){const o=1/((1<=6/29?e**3:108/841*(e-4/29);return t}function decode(e,t,r,a){return r+e*(a-r)/t}function convertToRgb(e,t,r,a,i,n){let s=t[r],o=t[r+1],c=t[r+2];if(!1!==a){s=decode(s,a,0,100);o=decode(o,a,e.amin,e.amax);c=decode(c,a,e.bmin,e.bmax)}o>e.amax?o=e.amax:oe.bmax?c=e.bmax:cthis.amax||this.bmin>this.bmax){(0,a.info)("Invalid Range, falling back to defaults");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}getRgbItem(e,t,r,a){convertToRgb(this,e,t,!1,r,a)}getRgbBuffer(e,t,r,a,i,n,s){const o=(1<{Object.defineProperty(t,"__esModule",{value:!0});t.PartialEvaluator=t.EvaluatorPreprocessor=void 0;var a=r(2),i=r(16),n=r(5),s=r(34),o=r(38),c=r(37),l=r(40),h=r(41),u=r(48),d=r(42),f=r(49),g=r(17),p=r(51),m=r(52),b=r(14),y=r(19),w=r(39),S=r(9),x=r(53),k=r(54),C=r(10),v=r(55),O=r(56);const F=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,fontExtraProperties:!1}),T=1,E=2,M=Promise.resolve();function normalizeBlendMode(e,t=!1){if(Array.isArray(e)){for(let t=0,r=e.length;t{t.put(e)}));return!1}async fetchBuiltInCMap(e){const t=this.builtInCMapCache.get(e);if(t)return t;const r=this.handler.sendWithStream("FetchBuiltInCMap",{name:e}).getReader(),i=await new Promise((function(e,t){!function pump(){r.read().then((function({value:t,done:r}){if(!r){e(t);pump()}}),t)}()}));i.compressionType!==a.CMapCompressionType.NONE&&this.builtInCMapCache.set(e,i);return i}async buildFormXObject(e,t,r,i,s,o,c){const l=t.dict,h=l.getArray("Matrix");let u=l.getArray("BBox");u=Array.isArray(u)&&4===u.length?a.Util.normalizeRect(u):null;let d,f=null;if(l.has("OC")){f=await this.parseMarkedContentProps(l.get("OC"),e);i.addOp(a.OPS.beginMarkedContentProps,["OC",f])}const g=l.get("Group");if(g){d={matrix:h,bbox:u,smask:r,isolated:!1,knockout:!1};const t=g.get("S");let s=null;if((0,n.isName)(t,"Transparency")){d.isolated=g.get("I")||!1;d.knockout=g.get("K")||!1;if(g.has("CS")){const t=g.getRaw("CS"),r=b.ColorSpace.getCached(t,this.xref,c);s=r||await this.parseColorSpace({cs:t,resources:e,localColorSpaceCache:c})}}if(r&&r.backdrop){s=s||b.ColorSpace.singletons.rgb;r.backdrop=s.getRgb(r.backdrop,0)}i.addOp(a.OPS.beginGroup,[d])}i.addOp(a.OPS.paintFormXObjectBegin,[h,u]);return this.getOperatorList({stream:t,task:s,resources:l.get("Resources")||e,operatorList:i,initialState:o}).then((function(){i.addOp(a.OPS.paintFormXObjectEnd,[]);g&&i.addOp(a.OPS.endGroup,[d]);f&&i.addOp(a.OPS.endMarkedContent,[])}))}_sendImgData(e,t,r=!1){const a=t?[t.data.buffer]:null;return this.parsingType3Font||r?this.handler.send("commonobj",[e,"Image",t],a):this.handler.send("obj",[e,this.pageIndex,"Image",t],a)}async buildPaintImageXObject({resources:e,image:t,isInline:r=!1,operatorList:i,cacheKey:n,localImageCache:s,localColorSpaceCache:o}){const c=t.dict,l=c.objId,h=c.get("Width","W"),u=c.get("Height","H");if(!(h&&(0,a.isNum)(h)&&u&&(0,a.isNum)(u))){(0,a.warn)("Image dimensions are missing, or not numbers.");return}const d=this.options.maxImageSize;if(-1!==d&&h*u>d){(0,a.warn)("Image exceeded maximum allowed size and was removed.");return}let f,g;if(c.get("ImageMask","IM")||!1){const e=c.get("Width","W"),r=c.get("Height","H"),o=e+7>>3,h=t.getBytes(o*r,!0),u=c.getArray("Decode","D");f=O.PDFImage.createMask({imgArray:h,width:e,height:r,imageIsFromDecodeStream:t instanceof y.DecodeStream,inverseDecode:!!u&&u[0]>0});f.cached=!!n;g=[f];i.addOp(a.OPS.paintImageMaskXObject,g);n&&s.set(n,l,{fn:a.OPS.paintImageMaskXObject,args:g});return}const p=c.get("SMask","SM")||!1,m=c.get("Mask")||!1;if(r&&!p&&!m&&h+u<200){const n=new O.PDFImage({xref:this.xref,res:e,image:t,isInline:r,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:o});f=n.createImageData(!0);i.addOp(a.OPS.paintInlineImageXObject,[f]);return}let b=`img_${this.idFactory.createObjId()}`,w=!1;if(this.parsingType3Font)b=`${this.idFactory.getDocId()}_type3_${b}`;else if(l){w=this.globalImageCache.shouldCache(l,this.pageIndex);w&&(b=`${this.idFactory.getDocId()}_${b}`)}i.addDependency(b);g=[b,h,u];O.PDFImage.buildImage({xref:this.xref,res:e,image:t,isInline:r,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:o}).then((e=>{f=e.createImageData(!1);n&&l&&w&&this.globalImageCache.addByteSize(l,f.data.length);return this._sendImgData(b,f,w)})).catch((e=>{(0,a.warn)(`Unable to decode image "${b}": "${e}".`);return this._sendImgData(b,null,w)}));i.addOp(a.OPS.paintImageXObject,g);if(n){s.set(n,l,{fn:a.OPS.paintImageXObject,args:g});if(l){(0,a.assert)(!r,"Cannot cache an inline image globally.");this.globalImageCache.addPageIndex(l,this.pageIndex);w&&this.globalImageCache.setData(l,{objId:b,fn:a.OPS.paintImageXObject,args:g,byteSize:0})}}}handleSMask(e,t,r,a,i,n){const s=e.get("G"),o={subtype:e.get("S").name,backdrop:e.get("BC")},c=e.get("TR");if((0,f.isPDFFunction)(c)){const e=this._pdfFunctionFactory.create(c),t=new Uint8Array(256),r=new Float32Array(1);for(let a=0;a<256;a++){r[0]=a/255;e(r,0,r,0);t[a]=255*r[0]|0}o.transferMap=t}return this.buildFormXObject(t,s,o,r,a,i.state.clone(),n)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!(0,f.isPDFFunction)(e))return null;t=[e]}const r=[];let a=0,i=0;for(const e of t){const t=this.xref.fetchIfRef(e);a++;if((0,n.isName)(t,"Identity")){r.push(null);continue}if(!(0,f.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}r.push(o);i++}return 1!==a&&4!==a||0===i?null:r}handleTilingType(e,t,r,i,s,o,c,l,h){const d=new v.OperatorList,f=n.Dict.merge({xref:this.xref,dictArray:[s.get("Resources"),r]});return this.getOperatorList({stream:i,task:c,resources:f,operatorList:d}).then((function(){const r=d.getIR(),a=(0,u.getTilingPatternIR)(r,s,t);o.addDependencies(d.dependencies);o.addOp(e,a);l&&h.set(l,s.objId,{operatorListIR:r,dict:s})})).catch((e=>{if(!(e instanceof a.AbortException)){if(!this.options.ignoreErrors)throw e;this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorTilingPattern});(0,a.warn)(`handleTilingType - ignoring pattern: "${e}".`)}}))}handleSetFont(e,t,r,i,o,c,l=null,h=null){const u=t&&t[0]instanceof n.Name?t[0].name:null;return this.loadFont(u,r,e,l,h).then((t=>t.font.isType3Font?t.loadType3Data(this,e,o).then((function(){i.addDependencies(t.type3Dependencies);return t})).catch((e=>{this.handler.send("UnsupportedFeature",{featureId:a.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 r=t.font,i=r.charsToGlyphs(e);if(r.data){(!!(t.textRenderingMode&a.TextRenderingMode.ADD_TO_PATH_FLAG)||"Pattern"===t.fillColorSpace.name||r.disableFontFace||this.options.disableFontFace)&&PartialEvaluator.buildFontPaths(r,i,this.handler,this.options)}return i}ensureStateFont(e){if(e.font)return;const t=new a.FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorFontState});(0,a.warn)(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:r,cacheKey:i,task:s,stateManager:o,localGStateCache:c,localColorSpaceCache:l}){const h=t.objId;let u=!0;const d=[],f=t.getKeys();let g=Promise.resolve();for(let i=0,c=f.length;ithis.handleSetFont(e,null,h[0],r,s,o.state).then((function(e){r.addDependency(e);d.push([c,[e,h[1]]])}))));break;case"BM":d.push([c,normalizeBlendMode(h)]);break;case"SMask":if((0,n.isName)(h,"None")){d.push([c,!1]);break}if((0,n.isDict)(h)){u=!1;g=g.then((()=>this.handleSMask(h,e,r,s,o,l)));d.push([c,!0])}else(0,a.warn)("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(h);d.push([c,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,a.info)("graphic state operator "+c);break;default:(0,a.info)("Unknown graphic state operator "+c)}}return g.then((function(){d.length>0&&r.addOp(a.OPS.setGState,[d]);u&&c.set(i,h,d)}))}loadFont(e,t,r,i=null,c=null){const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new s.ErrorFont(`Font "${e}" is not available.`),dict:t,evaluatorOptions:this.options}),l=this.xref;let h;if(t){if(!(0,n.isRef)(t))throw new a.FormatError('The "font" object should be a reference.');h=t}else{const t=r.get("Font");t&&(h=t.getRaw(e))}if(!h){const r=`Font "${e||t&&t.toString()}" is not available`;if(!this.options.ignoreErrors&&!this.parsingType3Font){(0,a.warn)(`${r}.`);return errorFont()}this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorFontMissing});(0,a.warn)(`${r} -- attempting to fallback to a default font.`);h=i||PartialEvaluator.fallbackFontDict}if(this.fontCache.has(h))return this.fontCache.get(h);t=l.fetchIfRef(h);if(!(0,n.isDict)(t))return errorFont();if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const u=(0,a.createPromiseCapability)();let d;try{d=this.preEvaluateFont(t);d.cssFontInfo=c}catch(e){(0,a.warn)(`loadFont - preEvaluateFont failed: "${e}".`);return errorFont()}const{descriptor:f,hash:g}=d,p=(0,n.isRef)(h);let m;p&&(m=`f${h.toString()}`);if(g&&(0,n.isDict)(f)){f.fontAliases||(f.fontAliases=Object.create(null));const e=f.fontAliases;if(e[g]){const t=e[g].aliasRef;if(p&&t&&this.fontCache.has(t)){this.fontCache.putAlias(h,t);return this.fontCache.get(h)}}else e[g]={fontID:this.idFactory.createFontId()};p&&(e[g].aliasRef=h);m=e[g].fontID}if(p)this.fontCache.put(h,u.promise);else{m||(m=this.idFactory.createFontId());t.cacheKey=`cacheKey_${m}`;this.fontCache.put(t.cacheKey,u.promise)}(0,a.assert)(m&&m.startsWith("f"),'The "fontID" must be (correctly) defined.');t.loadedName=`${this.idFactory.getDocId()}_${m}`;this.translateFont(d).then((e=>{if(void 0!==e.fontType){l.stats.fontTypes[e.fontType]=!0}u.resolve(new TranslatedFont({loadedName:t.loadedName,font:e,dict:t,evaluatorOptions:this.options}))})).catch((e=>{this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorFontTranslate});(0,a.warn)(`loadFont - translateFont failed: "${e}".`);try{const e=f&&f.get("FontFile3"),t=e&&e.get("Subtype"),r=(0,o.getFontType)(d.type,t&&t.name);l.stats.fontTypes[r]=!0}catch(e){}u.resolve(new TranslatedFont({loadedName:t.loadedName,font:new s.ErrorFont(e instanceof Error?e.message:e),dict:t,evaluatorOptions:this.options}))}));return u.promise}buildPath(e,t,r,i=!1){const n=e.length-1;r||(r=[]);if(n<0||e.fnArray[n]!==a.OPS.constructPath){if(i){(0,a.warn)(`Encountered path operator "${t}" inside of a text object.`);e.addOp(a.OPS.save,null)}e.addOp(a.OPS.constructPath,[[t],r]);i&&e.addOp(a.OPS.restore,null)}else{const a=e.argsArray[n];a[0].push(t);Array.prototype.push.apply(a[1],r)}}parseColorSpace({cs:e,resources:t,localColorSpaceCache:r}){return b.ColorSpace.parseAsync({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:r}).catch((e=>{if(e instanceof a.AbortException)return null;if(this.options.ignoreErrors){this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorColorSpace});(0,a.warn)(`parseColorSpace - ignoring ColorSpace: "${e}".`);return null}throw e}))}handleColorN(e,t,r,i,s,o,c,l,h){const d=r.pop();if(d instanceof n.Name){const f=d.name,g=h.getByName(f);if(g)try{const a=i.base?i.base.getRgb(r,0):null,n=(0,u.getTilingPatternIR)(g.operatorListIR,g.dict,a);e.addOp(t,n);return}catch(e){}let p=s.get(f);if(p){const s=(0,n.isStream)(p)?p.dict:p,d=s.get("PatternType");if(d===T){const a=i.base?i.base.getRgb(r,0):null;return this.handleTilingType(t,a,o,p,s,e,c,f,h)}if(d===E){const r=s.get("Shading"),a=s.getArray("Matrix");p=u.Pattern.parseShading(r,a,this.xref,o,this.handler,this._pdfFunctionFactory,l);e.addOp(t,p.getIR());return}throw new a.FormatError(`Unknown PatternType: ${d}`)}}throw new a.FormatError(`Unknown PatternName: ${d}`)}_parseVisibilityExpression(e,t,r){if(++t>10){(0,a.warn)("Visibility expression is too deeply nested");return}const i=e.length,s=this.xref.fetchIfRef(e[0]);if(i<2||!(0,n.isName)(s))(0,a.warn)("Invalid visibility expression");else{switch(s.name){case"And":case"Or":case"Not":r.push(s.name);break;default:(0,a.warn)(`Invalid operator ${s.name} in visibility expression`);return}for(let a=1;a0)return{type:"OCMD",expression:t}}const t=r.get("OCGs");if(Array.isArray(t)||(0,n.isDict)(t)){const e=[];if(Array.isArray(t))for(const r of t)e.push(r.toString());else e.push(t.objId);return{type:i,ids:e,policy:(0,n.isName)(r.get("P"))?r.get("P").name:null,expression:null}}if((0,n.isRef)(t))return{type:i,id:t.toString()}}return null}getOperatorList({stream:e,task:t,resources:r,operatorList:i,initialState:s=null,fallbackFontDict:o=null}){r=r||n.Dict.empty;s=s||new EvalState;if(!i)throw new Error('getOperatorList: missing "operatorList" parameter');const c=this,l=this.xref;let h=!1;const d=new p.LocalImageCache,f=new p.LocalColorSpaceCache,g=new p.LocalGStateCache,m=new p.LocalTilingPatternCache,y=r.get("XObject")||n.Dict.empty,w=r.get("Pattern")||n.Dict.empty,S=new StateManager(s),x=new EvaluatorPreprocessor(e,l,S),k=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=x.savedStatesDepth;e0&&i.addOp(a.OPS.setGState,[t]);e=null;continue}}next(new Promise((function(e,s){if(!T)throw new a.FormatError("GState must be referred to by name.");const o=r.get("ExtGState");if(!(o instanceof n.Dict))throw new a.FormatError("ExtGState should be a dictionary.");const l=o.get(T);if(!(l instanceof n.Dict))throw new a.FormatError("GState should be a dictionary.");c.setGState({resources:r,gState:l,operatorList:i,cacheKey:T,task:t,stateManager:S,localGStateCache:g,localColorSpaceCache:f}).then(e,s)})).catch((function(e){if(!(e instanceof a.AbortException)){if(!c.options.ignoreErrors)throw e;c.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorExtGState});(0,a.warn)(`getOperatorList - ignoring ExtGState: "${e}".`)}})));return;case a.OPS.moveTo:case a.OPS.lineTo:case a.OPS.curveTo:case a.OPS.curveTo2:case a.OPS.curveTo3:case a.OPS.closePath:case a.OPS.rectangle:c.buildPath(i,s,e,h);continue;case a.OPS.markPoint:case a.OPS.markPointProps:case a.OPS.beginCompat:case a.OPS.endCompat:continue;case a.OPS.beginMarkedContentProps:if(!(0,n.isName)(e[0])){(0,a.warn)(`Expected name for beginMarkedContentProps arg0=${e[0]}`);continue}if("OC"===e[0].name){next(c.parseMarkedContentProps(e[1],r).then((e=>{i.addOp(a.OPS.beginMarkedContentProps,["OC",e])})).catch((e=>{if(!(e instanceof a.AbortException)){if(!c.options.ignoreErrors)throw e;c.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorMarkedContent});(0,a.warn)(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`)}})));return}e=[e[0].name,e[1]instanceof n.Dict?e[1].get("MCID"):null];break;case a.OPS.beginMarkedContent:case a.OPS.endMarkedContent:default:if(null!==e){for(v=0,O=e.length;v{if(!(e instanceof a.AbortException)){if(!this.options.ignoreErrors)throw e;this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorOperatorList});(0,a.warn)(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);closePendingRestoreOPS()}}))}getTextContent({stream:e,task:t,resources:r,stateManager:i=null,normalizeWhitespace:s=!1,combineTextItems:o=!1,includeMarkedContent:c=!1,sink:h,seenStyles:u=new Set}){r=r||n.Dict.empty;i=i||new StateManager(new TextState);const d=/\s/g,f={items:[],styles:Object.create(null)},g={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,lastCharSize:0,prevTransform:null,textAdvanceScale:0,spaceWidth:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,transform:null,fontName:null,hasEOL:!1,isLastCharWhiteSpace:!1},b=this,y=this.xref,w=[];let S=null;const x=new p.LocalImageCache,k=new p.LocalGStateCache,C=new EvaluatorPreprocessor(e,y,i);let v;function getCurrentTextTransform(){const e=v.font,t=[v.fontSize*v.textHScale,0,0,v.fontSize,0,v.textRise];if(e.isType3Font&&v.fontSize<=1&&!(0,a.isArrayEqual)(v.fontMatrix,a.FONT_IDENTITY_MATRIX)){const r=e.bbox[3]-e.bbox[1];r>0&&(t[3]*=r*v.fontMatrix[3])}return a.Util.transform(v.ctm,a.Util.transform(v.textMatrix,t))}function ensureTextContentItem(){if(g.initialized)return g;const e=v.font,t=e.loadedName;if(!u.has(t)){u.add(t);f.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical}}g.fontName=t;const r=g.transform=getCurrentTextTransform();if(e.vertical){g.width=g.totalWidth=Math.hypot(r[0],r[1]);g.height=g.totalHeight=0;g.vertical=!0}else{g.width=g.totalWidth=0;g.height=g.totalHeight=Math.hypot(r[2],r[3]);g.vertical=!1}const a=Math.hypot(v.textLineMatrix[0],v.textLineMatrix[1]),i=Math.hypot(v.ctm[0],v.ctm[1]);g.textAdvanceScale=i*a;g.lastCharSize=g.lastCharSize||0;const n=e.spaceWidth/1e3*v.fontSize;if(n){g.spaceWidth=n;g.trackingSpaceMin=.3*n;g.spaceInFlowMin=.3*n;g.spaceInFlowMax=1.3*n}else{g.spaceWidth=0;g.trackingSpaceMin=1/0}g.hasEOL=!1;g.initialized=!0;return g}function updateAdvanceScale(){if(!g.initialized)return;const e=Math.hypot(v.textLineMatrix[0],v.textLineMatrix[1]),t=Math.hypot(v.ctm[0],v.ctm[1])*e;if(t!==g.textAdvanceScale){if(g.vertical){g.totalHeight+=g.height*g.textAdvanceScale;g.height=0}else{g.totalWidth+=g.width*g.textAdvanceScale;g.width=0}g.textAdvanceScale=t}}function runBidiTransform(e){const t=e.str.join(""),r=(0,m.bidi)(t,-1,e.vertical);return{str:s?function replaceWhitespace(e){const t=e.length;let r,a=0;for(;a=32&&r<=127;)a++;return ag.width/g.textAdvanceScale){appendEOL();return}if(l>c)return;if(c>g.trackingSpaceMin)g.height+=c;else if(!addFakeSpaces(c,0,g.prevTransform))if(0===g.str.length){f.items.push({str:" ",dir:"ltr",width:0,height:c,transform:g.prevTransform,fontName:g.fontName,hasEOL:!1});g.isLastCharWhiteSpace=!0}else g.height+=c}else if(Math.abs(c)>g.height/g.textAdvanceScale)appendEOL();else if(!(l>s))if(s<=g.trackingSpaceMin)g.width+=s;else if(!addFakeSpaces(s,0,g.prevTransform))if(0===g.str.length){f.items.push({str:" ",dir:"ltr",width:s,height:0,transform:g.prevTransform,fontName:g.fontName,hasEOL:!1});g.isLastCharWhiteSpace=!0}else g.width+=s}();let c=ensureTextContentItem(),h=0,u=0;for(let e=0,r=n.length;eg.trackingSpaceMin&&addFakeSpaces(d,h);a.vertical?v.translateTextMatrix(0,d):v.translateTextMatrix(d,0);if(e){c=ensureTextContentItem();h=0}else h+=d}u=p}c.lastCharSize=u;a.vertical?c.height+=h:c.width+=h;c.prevTransform=getCurrentTextTransform()}function appendEOL(){if(g.initialized){g.hasEOL=!0;flushTextContentItem()}else f.items.length>0?f.items[f.items.length-1].hasEOL=!0:f.items.push({str:"",dir:"ltr",width:0,height:0,transform:getCurrentTextTransform(),fontName:v.font.loadedName,hasEOL:!0});g.isLastCharWhiteSpace=!1;g.lastCharSize=0}function addFakeSpaces(e,t,r=null){if(g.spaceInFlowMin<=e&&e<=g.spaceInFlowMax){if(g.initialized){g.str.push(" ");g.isLastCharWhiteSpace=!0}return!1}const a=g.fontName;let i=0;e*=g.textAdvanceScale;if(g.vertical){g.height+=t;i=e;e=0}else g.width+=t;flushTextContentItem();if(g.isLastCharWhiteSpace)return!0;g.isLastCharWhiteSpace=!0;f.items.push({str:" ",dir:"ltr",width:e,height:i,transform:r||getCurrentTextTransform(),fontName:a,hasEOL:!1});return!0}function flushTextContentItem(){if(g.initialized&&g.str){g.vertical?g.totalHeight+=g.height*g.textAdvanceScale:g.totalWidth+=g.width*g.textAdvanceScale;f.items.push(runBidiTransform(g));g.initialized=!1;g.str.length=0}}function enqueueChunk(){const e=f.items.length;if(e>0){h.enqueue(f,e);f.items=[];f.styles=Object.create(null)}}const O=new TimeSlotManager;return new Promise((function promiseBody(e,l){const next=function(t){enqueueChunk();Promise.all([t,h.ready]).then((function(){try{promiseBody(e,l)}catch(e){l(e)}}),l)};t.ensureNotTerminated();O.reset();const d={};let p,m=[];for(;!(p=O.check());){m.length=0;d.args=m;if(!C.read(d))break;v=i.state;const e=d.fn;m=d.args;switch(0|e){case a.OPS.setFont:var F=m[0].name,T=m[1];if(v.font&&F===v.fontName&&T===v.fontSize)break;flushTextContentItem();v.fontName=F;v.fontSize=T;next(handleSetFont(F,null));return;case a.OPS.setTextRise:flushTextContentItem();v.textRise=m[0];break;case a.OPS.setHScale:flushTextContentItem();v.textHScale=m[0]/100;break;case a.OPS.setLeading:flushTextContentItem();v.leading=m[0];break;case a.OPS.moveText:v.translateTextLineMatrix(m[0],m[1]);v.textMatrix=v.textLineMatrix.slice();break;case a.OPS.setLeadingMoveText:flushTextContentItem();v.leading=-m[1];v.translateTextLineMatrix(m[0],m[1]);v.textMatrix=v.textLineMatrix.slice();break;case a.OPS.nextLine:appendEOL();v.carriageReturn();break;case a.OPS.setTextMatrix:v.setTextMatrix(m[0],m[1],m[2],m[3],m[4],m[5]);v.setTextLineMatrix(m[0],m[1],m[2],m[3],m[4],m[5]);updateAdvanceScale();break;case a.OPS.setCharSpacing:v.charSpacing=m[0];break;case a.OPS.setWordSpacing:v.wordSpacing=m[0];break;case a.OPS.beginText:flushTextContentItem();v.textMatrix=a.IDENTITY_MATRIX.slice();v.textLineMatrix=a.IDENTITY_MATRIX.slice();break;case a.OPS.showSpacedText:if(!i.state.font){b.ensureStateFont(i.state);continue}const e=(v.font.vertical?1:-1)*v.fontSize/1e3,l=m[0];let d=!0;for(let t=0,r=l.length;t0){const e=w.join("");w.length=0;buildTextContentItem({chars:e,extraSpacing:0,isFirstChunk:d})}break;case a.OPS.showText:if(!i.state.font){b.ensureStateFont(i.state);continue}buildTextContentItem({chars:m[0],extraSpacing:0,isFirstChunk:!0});break;case a.OPS.nextLineShowText:if(!i.state.font){b.ensureStateFont(i.state);continue}g.hasEOL=!0;flushTextContentItem();v.carriageReturn();buildTextContentItem({chars:m[0],extraSpacing:0,isFirstChunk:!0});break;case a.OPS.nextLineSetSpacingShowText:if(!i.state.font){b.ensureStateFont(i.state);continue}g.hasEOL=!0;flushTextContentItem();v.wordSpacing=m[0];v.charSpacing=m[1];v.carriageReturn();buildTextContentItem({chars:m[2],extraSpacing:0,isFirstChunk:!0});break;case a.OPS.paintXObject:flushTextContentItem();S||(S=r.get("XObject")||n.Dict.empty);var E=m[0].name;if(E&&x.getByName(E))break;next(new Promise((function(e,l){if(!E)throw new a.FormatError("XObject must be referred to by name.");let d=S.getRaw(E);if(d instanceof n.Ref){if(x.getByRef(d)){e();return}if(b.globalImageCache.getData(d,b.pageIndex)){e();return}d=y.fetch(d)}if(!(0,n.isStream)(d))throw new a.FormatError("XObject should be a stream");const f=d.dict.get("Subtype");if(!(0,n.isName)(f))throw new a.FormatError("XObject should have a Name subtype");if("Form"!==f.name){x.set(E,d.dict.objId,!0);e();return}const g=i.state.clone(),p=new StateManager(g),m=d.dict.getArray("Matrix");Array.isArray(m)&&6===m.length&&p.transform(m);enqueueChunk();const w={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;h.enqueue(e,t)},get desiredSize(){return h.desiredSize},get ready(){return h.ready}};b.getTextContent({stream:d,task:t,resources:d.dict.get("Resources")||r,stateManager:p,normalizeWhitespace:s,combineTextItems:o,includeMarkedContent:c,sink:w,seenStyles:u}).then((function(){w.enqueueInvoked||x.set(E,d.dict.objId,!0);e()}),l)})).catch((function(e){if(!(e instanceof a.AbortException)){if(!b.options.ignoreErrors)throw e;(0,a.warn)(`getTextContent - ignoring XObject: "${e}".`)}})));return;case a.OPS.setGState:if((E=m[0].name)&&k.getByName(E))break;next(new Promise((function(e,t){if(!E)throw new a.FormatError("GState must be referred to by name.");const i=r.get("ExtGState");if(!(i instanceof n.Dict))throw new a.FormatError("ExtGState should be a dictionary.");const s=i.get(E);if(!(s instanceof n.Dict))throw new a.FormatError("GState should be a dictionary.");const o=s.get("Font");if(o){flushTextContentItem();v.fontName=null;v.fontSize=o[1];handleSetFont(null,o[0]).then(e,t)}else{k.set(E,s.objId,!0);e()}})).catch((function(e){if(!(e instanceof a.AbortException)){if(!b.options.ignoreErrors)throw e;(0,a.warn)(`getTextContent - ignoring ExtGState: "${e}".`)}})));return;case a.OPS.beginMarkedContent:c&&f.items.push({type:"beginMarkedContent",tag:(0,n.isName)(m[0])?m[0].name:null});break;case a.OPS.beginMarkedContentProps:if(c){flushTextContentItem();let e=null;(0,n.isDict)(m[1])&&(e=m[1].get("MCID"));f.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${b.idFactory.getPageObjId()}_mcid${e}`:null,tag:(0,n.isName)(m[0])?m[0].name:null})}break;case a.OPS.endMarkedContent:if(c){flushTextContentItem();f.items.push({type:"endMarkedContent"})}}if(f.items.length>=h.desiredSize){p=!0;break}}if(p)next(M);else{flushTextContentItem();enqueueChunk();e()}})).catch((e=>{if(!(e instanceof a.AbortException)){if(!this.options.ignoreErrors)throw e;(0,a.warn)(`getTextContent - ignoring errors during "${t.name}" task: "${e}".`);flushTextContentItem();enqueueChunk()}}))}extractDataStructures(e,t,r){const i=this.xref;let s;const l=this.readToUnicode(r.toUnicode||e.get("ToUnicode")||t.get("ToUnicode"));if(r.composite){const t=e.get("CIDSystemInfo");(0,n.isDict)(t)&&(r.cidSystemInfo={registry:(0,a.stringToPDFString)(t.get("Registry")),ordering:(0,a.stringToPDFString)(t.get("Ordering")),supplement:t.get("Supplement")});const i=e.get("CIDToGIDMap");(0,n.isStream)(i)&&(s=i.getBytes())}const h=[];let u,d=null;if(e.has("Encoding")){u=e.get("Encoding");if((0,n.isDict)(u)){d=u.get("BaseEncoding");d=(0,n.isName)(d)?d.name:null;if(u.has("Differences")){const e=u.get("Differences");let t=0;for(let r=0,s=e.length;r0;r.dict=e;return l.then((e=>{r.toUnicode=e;return this.buildToUnicode(r)})).then((e=>{r.toUnicode=e;s&&(r.cidToGidMap=this.readCidToGidMap(s,e));return r}))}_buildSimpleFontToUnicode(e,t=!1){(0,a.assert)(!e.composite,"Must be a simple font.");const r=[],i=e.defaultEncoding.slice(),n=e.baseEncodingName,s=e.differences;for(const e in s){const t=s[e];".notdef"!==t&&(i[e]=t)}const o=(0,w.getGlyphsUnicode)();for(const a in i){let s=i[a];if(""!==s)if(void 0!==o[s])r[a]=String.fromCharCode(o[s]);else{let i=0;switch(s[0]){case"G":3===s.length&&(i=parseInt(s.substring(1),16));break;case"g":5===s.length&&(i=parseInt(s.substring(1),16));break;case"C":case"c":if(s.length>=3&&s.length<=4){const r=s.substring(1);if(t){i=parseInt(r,16);break}i=+r;if(Number.isNaN(i)&&Number.isInteger(parseInt(r,16)))return this._buildSimpleFontToUnicode(e,!0)}break;default:const r=(0,l.getUnicodeForGlyph)(s,o);-1!==r&&(i=r)}if(i>0&&i<=1114111&&Number.isInteger(i)){if(n&&i===+a){const e=(0,c.getEncoding)(n);if(e&&(s=e[a])){r[a]=String.fromCharCode(o[s]);continue}}r[a]=String.fromCodePoint(i)}}}return new d.ToUnicodeMap(r)}buildToUnicode(e){e.hasIncludedToUnicodeMap=!!e.toUnicode&&e.toUnicode.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._buildSimpleFontToUnicode(e));return Promise.resolve(e.toUnicode)}if(!e.composite)return Promise.resolve(this._buildSimpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof i.IdentityCMap)||"Adobe"===e.cidSystemInfo.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const t=e.cidSystemInfo.registry,r=e.cidSystemInfo.ordering,s=n.Name.get(t+"-"+r+"-UCS2");return i.CMapFactory.create({encoding:s,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}).then((function(t){const r=e.cMap,i=[];r.forEach((function(e,r){if(r>65535)throw new a.FormatError("Max size of CID is 65,535");const n=t.lookup(r);n&&(i[e]=String.fromCharCode((n.charCodeAt(0)<<8)+n.charCodeAt(1)))}));return new d.ToUnicodeMap(i)}))}return Promise.resolve(new d.IdentityToUnicodeMap(e.firstChar,e.lastChar))}readToUnicode(e){return e?(0,n.isName)(e)?i.CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}).then((function(e){return e instanceof i.IdentityCMap?new d.IdentityToUnicodeMap(0,65535):new d.ToUnicodeMap(e.getMap())})):(0,n.isStream)(e)?i.CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}).then((function(e){if(e instanceof i.IdentityCMap)return new d.IdentityToUnicodeMap(0,65535);const t=new Array(e.length);e.forEach((function(e,r){const a=[];for(let e=0;e{if(e instanceof a.AbortException)return null;if(this.options.ignoreErrors){this.handler.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorFontToUnicode});(0,a.warn)(`readToUnicode - ignoring ToUnicode data: "${e}".`);return null}throw e})):Promise.resolve(null):Promise.resolve(null)}readCidToGidMap(e,t){const r=[];for(let a=0,i=e.length;a>1;(0!==i||t.has(n))&&(r[n]=i)}return r}extractWidths(e,t,r){const a=this.xref;let i=[],s=0;const c=[];let l,h,u,d,f,g,p,m;if(r.composite){s=e.has("DW")?e.get("DW"):1e3;m=e.get("W");if(m)for(h=0,u=m.length;h{if(g){const e=[];let r=u;for(let t=0,a=g.length;t{this.extractWidths(t,e,r);return new s.Font(k.name,b,r)}))}static buildFontPaths(e,t,r,i){function buildPath(t){const n=`${e.loadedName}_path_${t}`;try{if(e.renderer.hasBuiltPath(t))return;r.send("commonobj",[n,"FontPath",e.renderer.getPathJs(t)])}catch(e){if(i.ignoreErrors){r.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.errorFontBuildPath});(0,a.warn)(`buildFontPaths - ignoring ${n} 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 n.Dict;e.set("BaseFont",n.Name.get("PDFJS-FallbackFont"));e.set("Type",n.Name.get("FallbackType"));e.set("Subtype",n.Name.get("FallbackType"));e.set("Encoding",n.Name.get("WinAnsiEncoding"));return(0,a.shadow)(this,"fallbackFontDict",e)}}t.PartialEvaluator=PartialEvaluator;class TranslatedFont{constructor({loadedName:e,font:t,dict:r,evaluatorOptions:a}){this.loadedName=e;this.font=t;this.dict=r;this._evaluatorOptions=a||F;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,r){if(this.type3Loaded)return this.type3Loaded;if(!this.font.isType3Font)throw new Error("Must be a Type3 font.");const i=Object.create(e.options);i.ignoreErrors=!1;const n=e.clone(i);n.parsingType3Font=!0;const s=this.font,o=this.type3Dependencies;let c=Promise.resolve();const l=this.dict.get("CharProcs"),h=this.dict.get("Resources")||t,u=Object.create(null);for(const e of l.getKeys())c=c.then((()=>{const t=l.get(e),i=new v.OperatorList;return n.getOperatorList({stream:t,task:r,resources:h,operatorList:i}).then((()=>{i.fnArray[0]===a.OPS.setCharWidthAndBounds&&this._removeType3ColorOperators(i);u[e]=i.getIR();for(const e of i.dependencies)o.add(e)})).catch((function(t){(0,a.warn)(`Type3 font resource "${e}" is not available.`);const r=new v.OperatorList;u[e]=r.getIR()}))}));this.type3Loaded=c.then((function(){s.charProcOperatorList=u}));return this.type3Loaded}_removeType3ColorOperators(e){let t=1,r=e.length;for(;to&&(0,a.info)(`Command ${i}: 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=a.OPS.moveTo&&s<=a.OPS.endPath&&++this._numInvalidPathOPS>EvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new a.FormatError(`Invalid ${e}`);(0,a.warn)(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(s,t);e.fn=s;e.args=t;return!0}if(r===n.EOF)return!1;if(null!==r){null===t&&(t=[]);t.push(r);if(t.length>33)throw new a.FormatError("Too many arguments")}}}preprocessCommand(e,t){switch(0|e){case a.OPS.save:this.stateManager.save();break;case a.OPS.restore:this.stateManager.restore();break;case a.OPS.transform:this.stateManager.transform(t)}}}t.EvaluatorPreprocessor=EvaluatorPreprocessor},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.IdentityCMap=t.CMapFactory=t.CMap=void 0;var a=r(2),i=r(5),n=r(17),s=r(9),o=r(10);const c=["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"],l=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,r){this.codespaceRanges[e-1].push(t,r);this.numCodespaceRanges++}mapCidRange(e,t,r){if(t-e>l)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=r++}mapBfRange(e,t,r){if(t-e>l)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const a=r.length-1;for(;e<=t;){this._map[e++]=r;r=r.substring(0,a)+String.fromCharCode(r.charCodeAt(a)+1)}}mapBfRangeToArray(e,t,r){if(t-e>l)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const a=r.length;let i=0;for(;e<=t&&i>>0;const s=i[n];for(let e=0,t=s.length;e=t&&a<=i){r.charcode=a;r.length=n+1;return}}}r.charcode=0;r.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let r=0,a=t.length;r=i&&e<=n)return r+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,r){(0,a.unreachable)("should not call mapCidRange")}mapBfRange(e,t,r){(0,a.unreachable)("should not call mapBfRange")}mapBfRangeToArray(e,t,r){(0,a.unreachable)("should not call mapBfRangeToArray")}mapOne(e,t){(0,a.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,a.unreachable)("should not access .isIdentityCMap")}}t.IdentityCMap=IdentityCMap;const h=function BinaryCMapReaderClosure(){function hexToInt(e,t){let r=0;for(let a=0;a<=t;a++)r=r<<8|e[a];return r>>>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,r){let a=0;for(let i=r;i>=0;i--){a+=e[i]+t[i];e[i]=255&a;a>>=8}}function incHex(e,t){let r=1;for(let a=t;a>=0&&r>0;a--){r+=e[a];e[a]=255&r;r>>=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 r=this.readByte();if(r<0)throw new a.FormatError("unexpected EOF in bcmap");e=!(128&r);t=t<<7|127&r}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 r;const i=this.tmpBuf;let n=0;do{const e=this.readByte();if(e<0)throw new a.FormatError("unexpected EOF in bcmap");r=!(128&e);i[n++]=127&e}while(!r);let s=t,o=0,c=0;for(;s>=0;){for(;c<8&&i.length>0;){o=i[--n]<>=8;c-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const r=1&e[t]?255:0;let a=0;for(let i=0;i<=t;i++){a=(1&a)<<8|e[i];e[i]=a>>1^r}}readString(){const e=this.readNumber();let t="";for(let r=0;r=0;){const t=f>>5;if(7===t){switch(31&f){case 0:i.readString();break;case 1:s=i.readString()}continue}const a=!!(16&f),n=15&f;if(n+1>e)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const g=1,p=i.readNumber();switch(t){case 0:i.readHex(o,n);i.readHexNumber(c,n);addHex(c,o,n);r.addCodespaceRange(n+1,hexToInt(o,n),hexToInt(c,n));for(let e=1;e>>0}function expectString(e){if(!(0,a.isString)(e))throw new a.FormatError("Malformed CMap: expected string.")}function expectInt(e){if(!Number.isInteger(e))throw new a.FormatError("Malformed CMap: expected int.")}function parseBfChar(e,t){for(;;){let r=t.getObj();if((0,i.isEOF)(r))break;if((0,i.isCmd)(r,"endbfchar"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectString(r);const n=r;e.mapOne(a,n)}}function parseBfRange(e,t){for(;;){let r=t.getObj();if((0,i.isEOF)(r))break;if((0,i.isCmd)(r,"endbfrange"))return;expectString(r);const n=strToInt(r);r=t.getObj();expectString(r);const s=strToInt(r);r=t.getObj();if(Number.isInteger(r)||(0,a.isString)(r)){const t=Number.isInteger(r)?String.fromCharCode(r):r;e.mapBfRange(n,s,t)}else{if(!(0,i.isCmd)(r,"["))break;{r=t.getObj();const a=[];for(;!(0,i.isCmd)(r,"]")&&!(0,i.isEOF)(r);){a.push(r);r=t.getObj()}e.mapBfRangeToArray(n,s,a)}}}throw new a.FormatError("Invalid bf range.")}function parseCidChar(e,t){for(;;){let r=t.getObj();if((0,i.isEOF)(r))break;if((0,i.isCmd)(r,"endcidchar"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectInt(r);const n=r;e.mapOne(a,n)}}function parseCidRange(e,t){for(;;){let r=t.getObj();if((0,i.isEOF)(r))break;if((0,i.isCmd)(r,"endcidrange"))return;expectString(r);const a=strToInt(r);r=t.getObj();expectString(r);const n=strToInt(r);r=t.getObj();expectInt(r);const s=r;e.mapCidRange(a,n,s)}}function parseCodespaceRange(e,t){for(;;){let r=t.getObj();if((0,i.isEOF)(r))break;if((0,i.isCmd)(r,"endcodespacerange"))return;if(!(0,a.isString)(r))break;const n=strToInt(r);r=t.getObj();if(!(0,a.isString)(r))break;const s=strToInt(r);e.addCodespaceRange(r.length,n,s)}throw new a.FormatError("Invalid codespace range.")}function parseWMode(e,t){const r=t.getObj();Number.isInteger(r)&&(e.vertical=!!r)}function parseCMapName(e,t){const r=t.getObj();(0,i.isName)(r)&&(0,a.isString)(r.name)&&(e.name=r.name)}async function parseCMap(e,t,r,n){let o,c;e:for(;;)try{const r=t.getObj();if((0,i.isEOF)(r))break;if((0,i.isName)(r)){"WMode"===r.name?parseWMode(e,t):"CMapName"===r.name&&parseCMapName(e,t);o=r}else if((0,i.isCmd)(r))switch(r.cmd){case"endcmap":break e;case"usecmap":(0,i.isName)(o)&&(c=o.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 s.MissingDataException)throw e;(0,a.warn)("Invalid cMap data: "+e);continue}!n&&c&&(n=c);return n?extendCMap(e,r,n):e}async function extendCMap(e,t,r){e.useCMap=await createBuiltInCMap(r,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let r=0;rextendCMap(s,t,e)));if(i===a.CMapCompressionType.NONE){const e=new n.Lexer(new o.Stream(r));return parseCMap(s,e,t,null)}throw new Error("TODO: Only BINARY/NONE CMap compression is currently supported.")}return{async create(e){const t=e.encoding,r=e.fetchBuiltInCMap,a=e.useCMap;if((0,i.isName)(t))return createBuiltInCMap(t.name,r);if((0,i.isStream)(t)){const e=await parseCMap(new CMap,new n.Lexer(t),r,a);return e.isIdentityCMap?createBuiltInCMap(e.name,r):e}throw new Error("Encoding required.")}}}();t.CMapFactory=u},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Parser=t.Linearization=t.Lexer=void 0;var a=r(2),i=r(5),n=r(9),s=r(18),o=r(20),c=r(21),l=r(23),h=r(24),u=r(27),d=r(29),f=r(31),g=r(10),p=r(32),m=r(33);function computeAdler32(e){const t=e.length;let r=1,a=0;for(let i=0;i>")&&!(0,i.isEOF)(this.buf1);){if(!(0,i.isName)(this.buf1)){(0,a.info)("Malformed dictionary: key must be a name object");this.shift();continue}const t=this.buf1.name;this.shift();if((0,i.isEOF)(this.buf1))break;n.set(t,this.getObj(e))}if((0,i.isEOF)(this.buf1)){if(!this.recoveryMode)throw new a.FormatError("End of file inside dictionary");return n}if((0,i.isCmd)(this.buf2,"stream"))return this.allowStreams?this.makeStream(n,e):n;this.shift();return n;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&(0,i.isCmd)(this.buf2,"R")){const e=i.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,r=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{(0,a.assert)(2===c,"findDefaultInlineStreamEnd - invalid state.");if(32===s||10===s||13===s){o=e.pos;const r=e.peekBytes(10);for(let e=0,t=r.length;e127))){c=0;break}}if(2!==c)continue;if(t.knownCommands){const e=t.peekObj();e instanceof i.Cmd&&!t.knownCommands[e.cmd]&&(c=0)}else(0,a.warn)("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");if(2===c)break}else c=0}if(-1===s){(0,a.warn)("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");if(o){(0,a.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,n.isWhiteSpace)(s)||l--;return e.pos-l-r}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let r,i,n=!1;for(;-1!==(r=e.getByte());)if(255===r){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:n=!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:i=e.getUint16();i>2?e.skip(i-2):e.skip(-2)}if(n)break}const s=e.pos-t;if(-1===r){(0,a.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 r;for(;-1!==(r=e.getByte());)if(126===r){const t=e.pos;r=e.peekByte();for(;(0,n.isWhiteSpace)(r);){e.skip();r=e.peekByte()}if(62===r){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const i=e.pos-t;if(-1===r){(0,a.warn)("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-i);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return i}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let r;for(;-1!==(r=e.getByte())&&62!==r;);const i=e.pos-t;if(-1===r){(0,a.warn)("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-i);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return i}inlineStreamSkipEI(e){let t,r=0;for(;-1!==(t=e.getByte());)if(0===r)r=69===t?1:0;else if(1===r)r=73===t?2:0;else if(2===r)break}makeInlineImage(e){const t=this.lexer,r=t.stream,n=new i.Dict(this.xref);let s;for(;!(0,i.isCmd)(this.buf1,"ID")&&!(0,i.isEOF)(this.buf1);){if(!(0,i.isName)(this.buf1))throw new a.FormatError("Dictionary key must be a name object");const t=this.buf1.name;this.shift();if((0,i.isEOF)(this.buf1))break;n.set(t,this.getObj(e))}-1!==t.beginInlineImagePos&&(s=r.pos-t.beginInlineImagePos);const o=n.get("Filter","F");let c;if((0,i.isName)(o))c=o.name;else if(Array.isArray(o)){const e=this.xref.fetchIfRef(o[0]);(0,i.isName)(e)&&(c=e.name)}const l=r.pos;let h;h="DCTDecode"===c||"DCT"===c?this.findDCTDecodeInlineStreamEnd(r):"ASCII85Decode"===c||"A85"===c?this.findASCII85DecodeInlineStreamEnd(r):"ASCIIHexDecode"===c||"AHx"===c?this.findASCIIHexDecodeInlineStreamEnd(r):this.findDefaultInlineStreamEnd(r);let u,d=r.makeSubStream(l,h,n);if(h<1e3&&s<5552){const e=d.getBytes();d.reset();const a=r.pos;r.pos=t.beginInlineImagePos;const n=r.getBytes(s);r.pos=a;u=computeAdler32(e)+"_"+computeAdler32(n);const o=this.imageCache[u];if(void 0!==o){this.buf2=i.Cmd.get("EI");this.shift();o.reset();return o}}e&&(d=e.createStream(d,h));d=this.filter(d,n,h);d.dict=n;if(void 0!==u){d.cacheKey=`inline_${h}_${u}`;this.imageCache[u]=d}this.buf2=i.Cmd.get("EI");this.shift();return d}_findStreamLength(e,t){const{stream:r}=this.lexer;r.pos=e;const a=t.length;for(;r.pos=a){r.pos+=s;return r.pos-e}s++}r.pos+=n}return-1}makeStream(e,t){const r=this.lexer;let s=r.stream;r.skipToNextLine();const o=s.pos-1;let c=e.get("Length");if(!Number.isInteger(c)){(0,a.info)(`Bad length "${c}" in stream`);c=0}s.pos=o+c;r.nextChar();if(this.tryShift()&&(0,i.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 r=1;for(let i=1;i<=r;i++){const r=e.length-i,c=e.slice(0,r),l=this._findStreamLength(o,c);if(l>=0){const e=s.peekBytes(r+1)[r];if(!(0,n.isWhiteSpace)(e))break;(0,a.info)(`Found "${(0,a.bytesToString)(c)}" when searching for endstream command.`);t=l;break}}if(t<0)throw new a.FormatError("Missing endstream command.")}c=t;r.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,r){let n=t.get("Filter","F"),s=t.get("DecodeParms","DP");if((0,i.isName)(n)){Array.isArray(s)&&(0,a.warn)("/DecodeParms should not contain an Array, when /Filter contains a Name.");return this.makeFilter(e,n.name,r,s)}let o=r;if(Array.isArray(n)){const t=n,r=s;for(let c=0,l=t.length;c=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,r=0,i=0;if(45===e){i=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else if(43===e){i=1;e=this.nextChar()}if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){r=10;e=this.nextChar()}if(e<48||e>57){if(10===r&&0===i&&((0,n.isWhiteSpace)(e)||-1===e)){(0,a.warn)("Lexer.getNumber - treating a single decimal point as zero.");return 0}throw new a.FormatError(`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`)}i=i||1;let s=e-48,o=0,c=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const a=e-48;if(t)o=10*o+a;else{0!==r&&(r*=10);s=10*s+a}}else if(46===e){if(0!==r)break;r=1}else if(45===e)(0,a.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!==r&&(s/=r);t&&(s*=10**(c*o));return i*s}getString(){let e=1,t=!1;const r=this.strBuf;r.length=0;let i=this.nextChar();for(;;){let n=!1;switch(0|i){case-1:(0,a.warn)("Unterminated string");t=!0;break;case 40:++e;r.push("(");break;case 41:if(0==--e){this.nextChar();t=!0}else r.push(")");break;case 92:i=this.nextChar();switch(i){case-1:(0,a.warn)("Unterminated string");t=!0;break;case 110:r.push("\n");break;case 114:r.push("\r");break;case 116:r.push("\t");break;case 98:r.push("\b");break;case 102:r.push("\f");break;case 92:case 40:case 41:r.push(String.fromCharCode(i));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&i;i=this.nextChar();n=!0;if(i>=48&&i<=55){e=(e<<3)+(15&i);i=this.nextChar();if(i>=48&&i<=55){n=!1;e=(e<<3)+(15&i)}}r.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:r.push(String.fromCharCode(i))}break;default:r.push(String.fromCharCode(i))}if(t)break;n||(i=this.nextChar())}return r.join("")}getName(){let e,t;const r=this.strBuf;r.length=0;for(;(e=this.nextChar())>=0&&!b[e];)if(35===e){e=this.nextChar();if(b[e]){(0,a.warn)("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");r.push("#");break}const i=toHexDigit(e);if(-1!==i){t=e;e=this.nextChar();const n=toHexDigit(e);if(-1===n){(0,a.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);r.push("#",String.fromCharCode(t));if(b[e])break;r.push(String.fromCharCode(e));continue}r.push(String.fromCharCode(i<<4|n))}else r.push("#",String.fromCharCode(e))}else r.push(String.fromCharCode(e));r.length>127&&(0,a.warn)(`Name token is longer than allowed by the spec: ${r.length}`);return i.Name.get(r.join(""))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||(0,a.warn)(`getHexString - ignoring invalid character: ${e}`):(0,a.warn)("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t,r,i=this.currentChar,n=!0;this._hexStringNumWarn=0;for(;;){if(i<0){(0,a.warn)("Unterminated hex string");break}if(62===i){this.nextChar();break}if(1!==b[i]){if(n){t=toHexDigit(i);if(-1===t){this._hexStringWarn(i);i=this.nextChar();continue}}else{r=toHexDigit(i);if(-1===r){this._hexStringWarn(i);i=this.nextChar();continue}e.push(String.fromCharCode(t<<4|r))}n=!n;i=this.nextChar()}else i=this.nextChar()}return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return i.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 i.Cmd.get("[");case 93:this.nextChar();return i.Cmd.get("]");case 60:t=this.nextChar();if(60===t){this.nextChar();return i.Cmd.get("<<")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return i.Cmd.get(">>")}return i.Cmd.get(">");case 123:this.nextChar();return i.Cmd.get("{");case 125:this.nextChar();return i.Cmd.get("}");case 41:this.nextChar();throw new a.FormatError(`Illegal character: ${t}`)}let r=String.fromCharCode(t);const n=this.knownCommands;let s=n&&void 0!==n[r];for(;(t=this.nextChar())>=0&&!b[t];){const e=r+String.fromCharCode(t);if(s&&void 0===n[e])break;if(128===r.length)throw new a.FormatError(`Command token too long: ${r.length}`);r=e;s=n&&void 0!==n[r]}if("true"===r)return!0;if("false"===r)return!1;if("null"===r)return null;"BI"===r&&(this.beginInlineImagePos=this.stream.pos);return i.Cmd.get(r)}peekObj(){const e=this.stream.pos,t=this.currentChar,r=this.beginInlineImagePos;let i;try{i=this.getObj()}catch(e){if(e instanceof n.MissingDataException)throw e;(0,a.warn)(`peekObj: ${e}`)}this.stream.pos=e;this.currentChar=t;this.beginInlineImagePos=r;return i}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,r=!1){const a=e.get(t);if(Number.isInteger(a)&&(r?a>=0:a>0))return a;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),r=t.getObj(),n=t.getObj(),s=t.getObj(),o=t.getObj();let c,l;if(!(Number.isInteger(r)&&Number.isInteger(n)&&(0,i.isCmd)(s,"obj")&&(0,i.isDict)(o)&&(0,a.isNum)(c=o.get("Linearized"))&&c>0))return null;if((l=getInt(o,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:l,hints:function getHints(e){const t=e.get("H");let r;if(Array.isArray(t)&&(2===(r=t.length)||4===r)){for(let e=0;e0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(o),objectNumberFirst:getInt(o,"O"),endFirst:getInt(o,"E"),numPages:getInt(o,"N"),mainXRefEntriesOffset:getInt(o,"T"),pageFirst:o.has("P")?getInt(o,"P",!0):0}}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Ascii85Stream=void 0;var a=r(19),i=r(9);class Ascii85Stream extends a.DecodeStream{constructor(e,t){t&&(t*=.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,i.isWhiteSpace)(t);)t=e.getByte();if(-1===t||126===t){this.eof=!0;return}const r=this.bufferLength;let a,n;if(122===t){a=this.ensureBuffer(r+4);for(n=0;n<4;++n)a[r+n]=0;this.bufferLength+=4}else{const s=this.input;s[0]=t;for(n=1;n<5;++n){t=e.getByte();for(;(0,i.isWhiteSpace)(t);)t=e.getByte();s[n]=t;if(-1===t||126===t)break}a=this.ensureBuffer(r+n-1);this.bufferLength+=n-1;if(n<5){for(;n<5;++n)s[n]=117;this.eof=!0}let o=0;for(n=0;n<5;++n)o=85*o+(s[n]-33);for(n=3;n>=0;--n){a[r+n]=255&o;o>>=8}}}}t.Ascii85Stream=Ascii85Stream},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.StreamsSequenceStream=t.DecodeStream=void 0;var a=r(6),i=r(10);const n=new Uint8Array(0);class DecodeStream extends a.BaseStream{constructor(e){super();this._rawMinBufferLength=e||0;this.pos=0;this.bufferLength=0;this.eof=!1;this.buffer=n;this.minBufferLength=512;if(e)for(;this.minBufferLengtht&&(a=t)}else{for(;!this.eof;)this.readBlock();a=this.bufferLength}this.pos=a;const i=this.buffer.subarray(r,a);return!t||i instanceof Uint8ClampedArray?i:new Uint8ClampedArray(i)}reset(){this.pos=0}makeSubStream(e,t,r=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const r=e+t;for(;this.bufferLength<=r&&!this.eof;)this.readBlock()}return new i.Stream(this.buffer,e,t,r)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}t.DecodeStream=DecodeStream;t.StreamsSequenceStream=class StreamsSequenceStream extends DecodeStream{constructor(e){let t=0;for(const r of e)t+=r instanceof DecodeStream?r._rawMinBufferLength:r.length;super(t);this.streams=e}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift().getBytes(),r=this.bufferLength,a=r+t.length;this.ensureBuffer(a).set(t,r);this.bufferLength=a}getBaseStreams(){const e=[];for(const t of this.streams){const r=t.getBaseStreams();r&&e.push(...r)}return e.length>0?e:null}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.AsciiHexStream=void 0;var a=r(19);class AsciiHexStream extends a.DecodeStream{constructor(e,t){t&&(t*=.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,r=this.ensureBuffer(this.bufferLength+t);let a=this.bufferLength,i=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(i<0)i=e;else{r[a++]=i<<4|e;i=-1}}if(i>=0&&this.eof){r[a++]=i<<4;i=-1}this.firstDigit=i;this.bufferLength=a}}t.AsciiHexStream=AsciiHexStream},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CCITTFaxStream=void 0;var a=r(5),i=r(22),n=r(19);class CCITTFaxStream extends n.DecodeStream{constructor(e,t,r){super(t);this.str=e;this.dict=e.dict;(0,a.isDict)(r)||(r=a.Dict.empty);const n={next:()=>e.getByte()};this.ccittFaxDecoder=new i.CCITTFaxDecoder(n,{K:r.get("K"),EndOfLine:r.get("EndOfLine"),EncodedByteAlign:r.get("EncodedByteAlign"),Columns:r.get("Columns"),Rows:r.get("Rows"),EndOfBlock:r.get("EndOfBlock"),BlackIs1:r.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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CCITTFaxDecoder=void 0;var a=r(2);const i=-1,n=[[-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 r,a=t.EndOfBlock;null==a&&(a=!0);this.eoblock=a;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===(r=this._lookBits(12));)this._eatBits(1);1===r&&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,r=this.columns;let n,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]=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]0?--n:++n;for(;e[n]<=t[this.codingPos]&&e[n]0?--n:++n;for(;e[n]<=t[this.codingPos]&&e[n]0?--n:++n;for(;e[n]<=t[this.codingPos]&&e[n]=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!==i&&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===i&&(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,a.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===i){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]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]0){l<<=o;o=0}}}while(o)}this.black&&(l^=255);return l}_addPixels(e,t){const r=this.codingLine;let i=this.codingPos;if(e>r[i]){if(e>this.columns){(0,a.info)("row is wrong length");this.err=!0;e=this.columns}1&i^t&&++i;r[i]=e}this.codingPos=i}_addPixelsNeg(e,t){const r=this.codingLine;let i=this.codingPos;if(e>r[i]){if(e>this.columns){(0,a.info)("row is wrong length");this.err=!0;e=this.columns}1&i^t&&++i;r[i]=e}else if(e0&&e=n){const t=r[e-n];if(t[0]===a){this._eatBits(a);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=n[t];if(e&&e[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,n);if(e[0]&&e[2])return e[1]}(0,a.info)("Bad two dim code");return i}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===i)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,a.info)("bad white code");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===i)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,a.info)("bad black code");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits>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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FlateStream=void 0;var a=r(19),i=r(2);const n=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 a.DecodeStream{constructor(e,t){super(t);this.str=e;this.dict=e.dict;const r=e.getByte(),a=e.getByte();if(-1===r||-1===a)throw new i.FormatError(`Invalid header in flate stream: ${r}, ${a}`);if(8!=(15&r))throw new i.FormatError(`Unknown compression method in flate stream: ${r}, ${a}`);if(((r<<8)+a)%31!=0)throw new i.FormatError(`Bad FCHECK in flate stream: ${r}, ${a}`);if(32&a)throw new i.FormatError(`FDICT bit set in flate stream: ${r}, ${a}`);this.codeSize=0;this.codeBuf=0}getBits(e){const t=this.str;let r,a=this.codeSize,n=this.codeBuf;for(;a>e;this.codeSize=a-=e;return r}getCode(e){const t=this.str,r=e[0],a=e[1];let n,s=this.codeSize,o=this.codeBuf;for(;s>16,h=65535&c;if(l<1||s>l;this.codeSize=s-l;return h}generateHuffmanTable(e){const t=e.length;let r,a=0;for(r=0;ra&&(a=e[r]);const i=1<>=1}for(r=e;r>=1;if(0===u){let t;if(-1===(t=r.getByte()))throw new i.FormatError("Bad block header in flate stream");let a=t;if(-1===(t=r.getByte()))throw new i.FormatError("Bad block header in flate stream");a|=t<<8;if(-1===(t=r.getByte()))throw new i.FormatError("Bad block header in flate stream");let n=t;if(-1===(t=r.getByte()))throw new i.FormatError("Bad block header in flate stream");n|=t<<8;if(n!==(65535&~a)&&(0!==a||0!==n))throw new i.FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0;this.codeSize=0;const s=this.bufferLength,o=s+a;e=this.ensureBuffer(o);this.bufferLength=o;if(0===a)-1===r.peekByte()&&(this.eof=!0);else{const t=r.getBytes(a);e.set(t,s);t.length0;)u[o++]=g}a=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 r=this.getCode(a);if(r<256){if(f+1>=d){e=this.ensureBuffer(f+1);d=e.length}e[f++]=r;continue}if(256===r){this.bufferLength=f;return}r-=257;r=s[r];let i=r>>16;i>0&&(i=this.getBits(i));t=(65535&r)+i;r=this.getCode(h);r=o[r];i=r>>16;i>0&&(i=this.getBits(i));const n=(65535&r)+i;if(f+t>=d){e=this.ensureBuffer(f+t);d=e.length}for(let r=0;r{Object.defineProperty(t,"__esModule",{value:!0});t.Jbig2Stream=void 0;var a=r(5),i=r(19),n=r(25),s=r(2);class Jbig2Stream extends i.DecodeStream{constructor(e,t,r){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=r}get bytes(){return(0,s.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new n.Jbig2Image,t=[];if((0,a.isDict)(this.params)){const e=this.params.get("JBIG2Globals");if((0,a.isStream)(e)){const r=e.getBytes();t.push({data:r,start:0,end:r.length})}}t.push({data:this.bytes,start:0,end:this.bytes.length});const r=e.parseChunks(t),i=r.length;for(let e=0;e{Object.defineProperty(t,"__esModule",{value:!0});t.Jbig2Image=void 0;var a=r(2),i=r(9),n=r(26),s=r(22);class Jbig2Error extends a.BaseException{constructor(e){super(`JBIG2 error: ${e}`)}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,r){this.data=e;this.start=t;this.end=r}get decoder(){const e=new n.ArithmeticDecoder(this.data,this.start,this.end);return(0,a.shadow)(this,"decoder",e)}get contextCache(){const e=new ContextCache;return(0,a.shadow)(this,"contextCache",e)}}function decodeInteger(e,t,r){const a=e.getContexts(t);let i=1;function readBits(e){let t=0;for(let n=0;n>>0}const n=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);return 0===n?s:s>0?-s:null}function decodeIAID(e,t,r){const a=e.getContexts("IAID");let i=1;for(let e=0;e=F&&j=T){H=H<<1&y;for(b=0;b=0&&U=0){$=N[_][U];$&&(H|=$<=e?l<<=1:l=l<<1|C[o][c]}for(p=0;p=x||c<0||c>=S?l<<=1:l=l<<1|a[o][c]}const h=v.readBit(O,l);t[s]=h}}return C}function decodeTextRegion(e,t,r,a,i,n,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;S1&&(i=e?y.readBits(b):decodeInteger(C,"IAIT",k));const n=s*v+i,O=e?f.symbolIDTable.decode(y):decodeIAID(C,k,c),F=t&&(e?y.readBit():decodeInteger(C,"IARI",k));let T=o[O],E=T[0].length,M=T.length;if(F){const e=decodeInteger(C,"IARDW",k),t=decodeInteger(C,"IARDH",k),r=decodeInteger(C,"IARDX",k),a=decodeInteger(C,"IARDY",k);E+=e;M+=t;T=decodeRefinement(E,M,g,T,(e>>1)+r,(t>>1)+a,!1,p,m)}const D=n-(1&u?0:M-1),N=a-(2&u?E-1:0);let L,R,j;if(l){for(L=0;L>5&7;const h=[31&c];let u=t+6;if(7===c){l=536870911&(0,i.readUint32)(e,u-1);u+=3;let t=l+7>>3;h[0]=e[u++];for(;--t>0;)h.push(e[u++])}else if(5===c||6===c)throw new Jbig2Error("invalid referred-to flags");r.retainBits=h;let f=4;r.number<=256?f=1:r.number<=65536&&(f=2);const g=[];let p,m;for(p=0;p>>24&255;n[3]=t.height>>16&255;n[4]=t.height>>8&255;n[5]=255&t.height;for(p=u,m=e.length;p>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>2&3;u.stripSize=1<>4&3;u.transposed=!!(64&f);u.combinationOperator=f>>7&3;u.defaultPixelValue=f>>9&1;u.dsOffset=f<<17>>27;u.refinementTemplate=f>>15&1;if(u.huffman){const e=(0,i.readUint16)(a,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,i.readInt8)(a,h),y:(0,i.readInt8)(a,h+1)});h+=2}u.refinementAt=o}u.numberOfSymbolInstances=(0,i.readUint32)(a,h);h+=4;s=[u,r.referredTo,a,h,n];break;case 16:const g={},p=a[h++];g.mmr=!!(1&p);g.template=p>>1&3;g.patternWidth=a[h++];g.patternHeight=a[h++];g.maxPatternIndex=(0,i.readUint32)(a,h);h+=4;s=[g,r.number,a,h,n];break;case 22:case 23:const m={};m.info=readRegionSegmentInformation(a,h);h+=d;const b=a[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,i.readUint32)(a,h);h+=4;m.gridHeight=(0,i.readUint32)(a,h);h+=4;m.gridOffsetX=4294967295&(0,i.readUint32)(a,h);h+=4;m.gridOffsetY=4294967295&(0,i.readUint32)(a,h);h+=4;m.gridVectorX=(0,i.readUint16)(a,h);h+=2;m.gridVectorY=(0,i.readUint16)(a,h);h+=2;s=[m,r.referredTo,a,h,n];break;case 38:case 39:const y={};y.info=readRegionSegmentInformation(a,h);h+=d;const w=a[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>2&1;S.combinationOperator=x>>3&3;S.requiresBuffer=!!(32&x);S.combinationOperatorOverride=!!(64&x);s=[S];break;case 49:case 50:case 51:break;case 53:s=[r.number,a,h,n];break;case 62:break;default:throw new Jbig2Error(`segment type ${r.typeName}(${r.type}) is not implemented`)}const u="on"+r.typeName;u in t&&t[u].apply(t,s)}function processSegments(e,t){for(let r=0,a=e.length;r>3,r=new Uint8ClampedArray(t*e.height);if(e.defaultPixelValue)for(let e=0,t=r.length;e>3,s=r.combinationOperatorOverride?e.combinationOperator:r.combinationOperator,o=this.buffer,c=128>>(7&e.x);let l,h,u,d,f=e.y*n+(e.x>>3);switch(s){case 0:for(l=0;l>=1;if(!u){u=128;d++}}f+=n}break;case 2:for(l=0;l>=1;if(!u){u=128;d++}}f+=n}break;default:throw new Jbig2Error(`operator ${s} is not supported`)}}onImmediateGenericRegion(e,t,r,a){const i=e.info,n=new DecodingContext(t,r,a),s=decodeBitmap(e.mmr,i.width,i.height,e.template,e.prediction,null,e.at,n);this.drawBitmap(i,s)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion.apply(this,arguments)}onSymbolDictionary(e,t,r,a,n,s){let o,c;if(e.huffman){o=function getSymbolDictionaryHuffmanTables(e,t,r){let a,i,n,s,o=0;switch(e.huffmanDHSelector){case 0:case 1:a=getStandardTable(e.huffmanDHSelector+4);break;case 3:a=getCustomHuffmanTable(o,t,r);o++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:i=getStandardTable(e.huffmanDWSelector+2);break;case 3:i=getCustomHuffmanTable(o,t,r);o++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}if(e.bitmapSizeSelector){n=getCustomHuffmanTable(o,t,r);o++}else n=getStandardTable(1);s=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,r):getStandardTable(1);return{tableDeltaHeight:a,tableDeltaWidth:i,tableBitmapSize:n,tableAggregateInstances:s}}(e,r,this.customTables);c=new Reader(a,n,s)}let l=this.symbols;l||(this.symbols=l={});let h=[];for(let e=0,t=r.length;e1)y=decodeTextRegion(e,t,a,g,0,i,1,r.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),i=decodeInteger(b,"IARDY",m);y=decodeRefinement(a,g,l,e=32){let r,a,s;switch(t){case 32:if(0===e)throw new Jbig2Error("no previous value in symbol ID table");a=i.readBits(2)+3;r=n[e-1].prefixLength;break;case 33:a=i.readBits(3)+3;r=0;break;case 34:a=i.readBits(7)+11;r=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(s=0;s=0;b--){E=e?decodeMMRBitmap(T,l,h,!0):decodeBitmap(!1,l,h,r,!1,null,O,p);F[b]=E}for(M=0;M=0;y--){N=F[y][M][D]^N;L|=N<>8;_=d+M*f-D*g>>8;if(j>=0&&j+k<=a&&_>=0&&_+C<=n)for(b=0;b=n)){$=m[t];U=R[b];for(y=0;y=0&&e>1&7),l=1+(a>>4&7),h=[];let u,d,f=n;do{u=o.readBits(c);d=o.readBits(l);h.push(new HuffmanLine([f,u,d,0]));f+=1<>t&1;if(t<=0)this.children[r]=new HuffmanTreeNode(e);else{let a=this.children[r];a||(this.children[r]=a=new HuffmanTreeNode(null));a.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,r=e.length;t0&&this.rootNode.buildTree(r,r.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let r=0;for(let a=0;a=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,r=0;for(t=e-1;t>=0;t--)r|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,r){let a=0;for(let i=0,n=t.length;i>r&1;r--}}if(a&&!l){const e=5;for(let t=0;t>=1}}return{imgData:u,width:c,height:l}}(e);this.width=r;this.height=a;return t}}},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ArithmeticDecoder=void 0;const r=[{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,r){this.data=e;this.bp=t;this.dataEnd=r;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+=t65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let a=e[t]>>1,i=1&e[t];const n=r[a],s=n.qe;let o,c=this.a-s;if(this.chigh>15&1;this.clow=this.clow<<1&65535;this.ct--}while(0==(32768&c));this.a=c;e[t]=a<<1|i;return o}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.JpegStream=void 0;var a=r(19),i=r(5),n=r(28),s=r(2);class JpegStream extends a.DecodeStream{constructor(e,t,r){let a;for(;-1!==(a=e.getByte());)if(255===a){e.skip(-1);break}super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=r}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("Decode","D");if(this.forceRGB&&Array.isArray(t)){const r=this.dict.get("BitsPerComponent")||8,a=t.length,i=new Int32Array(a);let n=!1;const s=(1<{Object.defineProperty(t,"__esModule",{value:!0});t.JpegImage=void 0;var a=r(2),i=r(9);class JpegError extends a.BaseException{constructor(e){super(`JPEG error: ${e}`)}}class DNLMarkerError extends a.BaseException{constructor(e,t){super(e);this.scanLines=t}}class EOIMarkerError extends a.BaseException{}const n=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 r,a,i=0,n=16;for(;n>0&&!e[n-1];)n--;const s=[{children:[],index:0}];let o,c=s[0];for(r=0;r0;)c=s.pop();c.index++;s.push(c);for(;s.length<=r;){s.push(o={children:[],index:0});c.children[c.index]=o.children;c=o}i++}if(r+10){b--;return m>>b&1}m=e[t++];if(255===m){const a=e[t++];if(a){if(220===a&&d){t+=2;const a=(0,i.readUint16)(e,t);t+=2;if(a>0&&a!==r.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",a)}else if(217===a){if(d){const e=x*(8===r.precision?8:0);if(e>0&&Math.round(r.scanLines/e)>=10)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|a).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<0){y--;return}let r=c;const a=l;for(;r<=a;){const a=decodeHuffman(e.huffmanTableAC),i=15&a,s=a>>4;if(0===i){if(s<15){y=receive(s)+(1<>4;if(0===i)if(o<15){y=receive(o)+(1<>4;if(0===a){if(s<15)break;i+=16;continue}i+=s;const o=n[i];e.blockData[t+o]=receiveAndExtend(a);i++}};let M,D,N,L,R=0;D=1===k?s[0].blocksPerLine*s[0].blocksPerColumn:f*r.mcusPerColumn;for(;R<=D;){const r=o?Math.min(D-R,o):D;if(r>0){for(v=0;v0?"unexpected":"excessive";(0,a.warn)(`decodeScan - ${e} MCU data, current marker is: ${M.invalid}`);t=M.offset}if(!(M.marker>=65488&&M.marker<=65495))break;t+=2}return t-p}function quantizeAndInverse(e,t,r){const a=e.quantizationTable,i=e.blockData;let n,g,p,m,b,y,w,S,x,k,C,v,O,F,T,E,M;if(!a)throw new JpegError("missing required Quantization Table.");for(let e=0;e<64;e+=8){x=i[t+e];k=i[t+e+1];C=i[t+e+2];v=i[t+e+3];O=i[t+e+4];F=i[t+e+5];T=i[t+e+6];E=i[t+e+7];x*=a[e];if(0!=(k|C|v|O|F|T|E)){k*=a[e+1];C*=a[e+2];v*=a[e+3];O*=a[e+4];F*=a[e+5];T*=a[e+6];E*=a[e+7];n=d*x+128>>8;g=d*O+128>>8;p=C;m=T;b=f*(k-E)+128>>8;S=f*(k+E)+128>>8;y=v<<4;w=F<<4;n=n+g+1>>1;g=n-g;M=p*u+m*h+128>>8;p=p*h-m*u+128>>8;m=M;b=b+w+1>>1;w=b-w;S=S+y+1>>1;y=S-y;n=n+m+1>>1;m=n-m;g=g+p+1>>1;p=g-p;M=b*l+S*c+2048>>12;b=b*c-S*l+2048>>12;S=M;M=y*o+w*s+2048>>12;y=y*s-w*o+2048>>12;w=M;r[e]=n+S;r[e+7]=n-S;r[e+1]=g+w;r[e+6]=g-w;r[e+2]=p+y;r[e+5]=p-y;r[e+3]=m+b;r[e+4]=m-b}else{M=d*x+512>>10;r[e]=M;r[e+1]=M;r[e+2]=M;r[e+3]=M;r[e+4]=M;r[e+5]=M;r[e+6]=M;r[e+7]=M}}for(let e=0;e<8;++e){x=r[e];k=r[e+8];C=r[e+16];v=r[e+24];O=r[e+32];F=r[e+40];T=r[e+48];E=r[e+56];if(0!=(k|C|v|O|F|T|E)){n=d*x+2048>>12;g=d*O+2048>>12;p=C;m=T;b=f*(k-E)+2048>>12;S=f*(k+E)+2048>>12;y=v;w=F;n=4112+(n+g+1>>1);g=n-g;M=p*u+m*h+2048>>12;p=p*h-m*u+2048>>12;m=M;b=b+w+1>>1;w=b-w;S=S+y+1>>1;y=S-y;n=n+m+1>>1;m=n-m;g=g+p+1>>1;p=g-p;M=b*l+S*c+2048>>12;b=b*c-S*l+2048>>12;S=M;M=y*o+w*s+2048>>12;y=y*s-w*o+2048>>12;w=M;x=n+S;E=n-S;k=g+w;T=g-w;C=p+y;F=p-y;v=m+b;O=m-b;x<16?x=0:x>=4080?x=255:x>>=4;k<16?k=0:k>=4080?k=255:k>>=4;C<16?C=0:C>=4080?C=255:C>>=4;v<16?v=0:v>=4080?v=255:v>>=4;O<16?O=0:O>=4080?O=255:O>>=4;F<16?F=0:F>=4080?F=255:F>>=4;T<16?T=0:T>=4080?T=255:T>>=4;E<16?E=0:E>=4080?E=255:E>>=4;i[t+e]=x;i[t+e+8]=k;i[t+e+16]=C;i[t+e+24]=v;i[t+e+32]=O;i[t+e+40]=F;i[t+e+48]=T;i[t+e+56]=E}else{M=d*x+8192>>14;M=M<-2040?0:M>=2024?255:M+2056>>4;i[t+e]=M;i[t+e+8]=M;i[t+e+16]=M;i[t+e+24]=M;i[t+e+32]=M;i[t+e+40]=M;i[t+e+48]=M;i[t+e+56]=M}}}function buildComponentData(e,t){const r=t.blocksPerLine,a=t.blocksPerColumn,i=new Int16Array(64);for(let e=0;e=a)return null;const s=(0,i.readUint16)(e,t);if(s>=65472&&s<=65534)return{invalid:null,marker:s,offset:t};let o=(0,i.readUint16)(e,n);for(;!(o>=65472&&o<=65534);){if(++n>=a)return null;o=(0,i.readUint16)(e,n)}return{invalid:s.toString(16),marker:o,offset:n}}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,i.readUint16)(e,o);o+=2;let r=o+t-2;const n=findNextFileMarker(e,r,o);if(n&&n.invalid){(0,a.warn)("readDataBlock - incorrect length, current marker is: "+n.invalid);r=n.offset}const s=e.subarray(o,r);o+=s.length;return s}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV);for(let a=0,i=e.components.length;a>4==0)for(m=0;m<64;m++){x=n[m];r[x]=e[o++]}else{if(t>>4!=1)throw new JpegError("DQT - invalid table spec");for(m=0;m<64;m++){x=n[m];r[x]=(0,i.readUint16)(e,o);o+=2}}u[15&t]=r}break;case 65472:case 65473:case 65474:if(r)throw new JpegError("Only single frame JPEGs supported");o+=2;r={};r.extended=65473===g;r.progressive=65474===g;r.precision=e[o++];const k=(0,i.readUint16)(e,o);o+=2;r.scanLines=t||k;r.samplesPerLine=(0,i.readUint16)(e,o);o+=2;r.components=[];r.componentIds={};const C=e[o++];let v=0,O=0;for(p=0;p>4,i=15&e[o+1];v>4==0?f:d)[15&t]=buildHuffmanTable(r,i)}break;case 65501:o+=2;s=(0,i.readUint16)(e,o);o+=2;break;case 65498:const T=1==++h&&!t;o+=2;const E=e[o++],M=[];for(p=0;p>4];i.huffmanTableAC=d[15&n];M.push(i)}const D=e[o++],N=e[o++],L=e[o++];try{const t=decodeScan(e,o,r,M,s,D,N,L>>4,15&L,T);o+=t}catch(t){if(t instanceof DNLMarkerError){(0,a.warn)(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){(0,a.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 R=findNextFileMarker(e,o-2,o-3);if(R&&R.invalid){(0,a.warn)("JpegImage.parse - unexpected data, current marker is: "+R.invalid);o=R.offset;break}if(!R||o>=e.length-1){(0,a.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,i.readUint16)(e,o);o+=2}this.width=r.samplesPerLine;this.height=r.scanLines;this.jfif=c;this.adobe=l;this.components=[];for(let e=0,t=r.components.length;e>8)+C[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,r,a;for(let i=0,n=e.length;i4)throw new JpegError("Unsupported color mode");const i=this._getLinearizedBlockData(e,t,a);if(1===this.numComponents&&r){const e=i.length,t=new Uint8ClampedArray(3*e);let r=0;for(let a=0;a{Object.defineProperty(t,"__esModule",{value:!0});t.JpxStream=void 0;var a=r(19),i=r(30),n=r(2);class JpxStream extends a.DecodeStream{constructor(e,t,r){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=r}get bytes(){return(0,n.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new i.JpxImage;e.parse(this.bytes);const t=e.width,r=e.height,a=e.componentsCount,n=e.tiles.length;if(1===n)this.buffer=e.tiles[0].items;else{const i=new Uint8ClampedArray(t*r*a);for(let r=0;r{Object.defineProperty(t,"__esModule",{value:!0});t.JpxImage=void 0;var a=r(2),i=r(9),n=r(26);class JpxError extends a.BaseException{constructor(e){super(`JPX error: ${e}`)}}const s={LL:0,LH:1,HL:1,HH:2};t.JpxImage=class JpxImage{constructor(){this.failOnCorruptedImage=!1}parse(e){if(65359===(0,i.readUint16)(e,0)){this.parseCodestream(e,0,e.length);return}const t=e.length;let r=0;for(;r>24&255,o>>16&255,o>>8&255,255&o);(0,a.warn)(`Unsupported header type ${o} (${n}).`)}l&&(r+=c)}}parseImageProperties(e){let t=e.getByte();for(;t>=0;){const r=t;t=e.getByte();if(65361===(r<<8|t)){e.skip(4);const t=e.getInt32()>>>0,r=e.getInt32()>>>0,a=e.getInt32()>>>0,i=e.getInt32()>>>0;e.skip(16);const n=e.getUint16();this.width=t-a;this.height=r-i;this.componentsCount=n;this.bitsPerComponent=8;return}}throw new JpxError("No size marker found in JPX stream")}parseCodestream(e,t,r){const n={};let s=!1;try{let o=t;for(;o+1>5;l=[];for(;r>3;t.mu=0}else{t.epsilon=e[r]>>3;t.mu=(7&e[r])<<8|e[r+1];r+=2}l.push(t)}b.SPqcds=l;if(n.mainHeader)n.QCD=b;else{n.currentTile.QCD=b;n.currentTile.QCC=[]}break;case 65373:f=(0,i.readUint16)(e,o);const y={};r=o+2;let w;if(n.SIZ.Csiz<257)w=e[r++];else{w=(0,i.readUint16)(e,r);r+=2}c=e[r++];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(;r>3;t.mu=0}else{t.epsilon=e[r]>>3;t.mu=(7&e[r])<<8|e[r+1];r+=2}l.push(t)}y.SPqcds=l;n.mainHeader?n.QCC[w]=y:n.currentTile.QCC[w]=y;break;case 65362:f=(0,i.readUint16)(e,o);const S={};r=o+2;const x=e[r++];S.entropyCoderWithCustomPrecincts=!!(1&x);S.sopMarkerUsed=!!(2&x);S.ephMarkerUsed=!!(4&x);S.progressionOrder=e[r++];S.layersCount=(0,i.readUint16)(e,r);r+=2;S.multipleComponentTransform=e[r++];S.decompositionLevelsCount=e[r++];S.xcb=2+(15&e[r++]);S.ycb=2+(15&e[r++]);const k=e[r++];S.selectiveArithmeticCodingBypass=!!(1&k);S.resetContextProbabilities=!!(2&k);S.terminationOnEachCodingPass=!!(4&k);S.verticallyStripe=!!(8&k);S.predictableTermination=!!(16&k);S.segmentationSymbolUsed=!!(32&k);S.reversibleTransformation=e[r++];if(S.entropyCoderWithCustomPrecincts){const t=[];for(;r>4})}S.precinctsSizes=t}const C=[];S.selectiveArithmeticCodingBypass&&C.push("selectiveArithmeticCodingBypass");S.resetContextProbabilities&&C.push("resetContextProbabilities");S.terminationOnEachCodingPass&&C.push("terminationOnEachCodingPass");S.verticallyStripe&&C.push("verticallyStripe");S.predictableTermination&&C.push("predictableTermination");if(C.length>0){s=!0;(0,a.warn)(`JPX: Unsupported COD options (${C.join(", ")}).`)}if(n.mainHeader)n.COD=S;else{n.currentTile.COD=S;n.currentTile.COC=[]}break;case 65424:f=(0,i.readUint16)(e,o);d={};d.index=(0,i.readUint16)(e,o+2);d.length=(0,i.readUint32)(e,o+4);d.dataEnd=d.length+o-2;d.partIndex=e[o+8];d.partsCount=e[o+9];n.mainHeader=!1;if(0===d.partIndex){d.COD=n.COD;d.COC=n.COC.slice(0);d.QCD=n.QCD;d.QCC=n.QCC.slice(0)}n.currentTile=d;break;case 65427:d=n.currentTile;if(0===d.partIndex){initializeTile(n,d.index);buildPackets(n)}f=d.dataEnd-o;parseTilePackets(n,e,o,f);break;case 65363:(0,a.warn)("JPX: Codestream code 0xFF53 (COC) is not implemented.");case 65365:case 65367:case 65368:case 65380:f=(0,i.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,a.warn)(`JPX: Trying to recover from: "${e.message}".`)}this.tiles=function transformComponents(e){const t=e.SIZ,r=e.components,a=t.Csiz,i=[];for(let t=0,n=e.tiles.length;t>2);c[b++]=e+m>>h;c[b++]=e>>h;c[b++]=e+p>>h}else for(d=0;d>h;c[b++]=g-.34413*p-.71414*m>>h;c[b++]=g+1.772*p>>h}if(e)for(d=0,b=3;d>h}else for(let e=0;e>h;b+=a}}i.push(l)}return i}(n);this.width=n.SIZ.Xsiz-n.SIZ.XOsiz;this.height=n.SIZ.Ysiz-n.SIZ.YOsiz;this.componentsCount=n.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 r=e.SIZ,a=[];let i;const n=Math.ceil((r.Xsiz-r.XTOsiz)/r.XTsiz),s=Math.ceil((r.Ysiz-r.YTOsiz)/r.YTsiz);for(let e=0;e0?Math.min(a.xcb,i.PPx-1):Math.min(a.xcb,i.PPx);i.ycb_=r>0?Math.min(a.ycb,i.PPy-1):Math.min(a.ycb,i.PPy);return i}function buildPrecincts(e,t,r){const a=1<t.trx0?Math.ceil(t.trx1/a)-Math.floor(t.trx0/a):0,l=t.try1>t.try0?Math.ceil(t.try1/i)-Math.floor(t.try0/i):0,h=c*l;t.precinctParameters={precinctWidth:a,precinctHeight:i,numprecinctswide:c,numprecinctshigh:l,numprecincts:h,precinctWidthInSubband:s,precinctHeightInSubband:o}}function buildCodeblocks(e,t,r){const a=r.xcb_,i=r.ycb_,n=1<>a,c=t.tby0>>i,l=t.tbx1+n-1>>a,h=t.tby1+s-1>>i,u=t.resolution.precinctParameters,d=[],f=[];let g,p,m,b;for(p=c;pe.cbxMax&&(e.cbxMax=g);pe.cbyMax&&(e.cbyMax=p)}else f[b]=e={cbxMin:g,cbyMin:p,cbxMax:g,cbyMax:p};m.precinct=e}t.codeblockParameters={codeblockWidth:a,codeblockHeight:i,numcodeblockwide:l-o+1,numcodeblockhigh:h-c+1};t.codeblocks=d;t.precincts=f}function createPacket(e,t,r){const a=[],i=e.subbands;for(let e=0,r=i.length;ee.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[c],r=t.precinctParameters.numprecincts;for(;he.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],r=t.precinctParameters.numprecincts;for(;he.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],r=t.precinctParameters.numprecincts;if(!(l>=r)){for(;s=0;--e){const r=t.resolutions[e],a=g*r.precinctParameters.precinctWidth,i=g*r.precinctParameters.precinctHeight;h=Math.min(h,a);u=Math.min(u,i);d=Math.max(d,r.precinctParameters.numprecinctswide);f=Math.max(f,r.precinctParameters.numprecinctshigh);l[e]={width:a,height:i};g<<=1}r=Math.min(r,h);a=Math.min(a,u);i=Math.max(i,d);n=Math.max(n,f);s[o]={resolutions:l,minWidth:h,minHeight:u,maxNumWide:d,maxNumHigh:f}}return{components:s,minWidth:r,minHeight:a,maxNumWide:i,maxNumHigh:n}}function buildPackets(e){const t=e.SIZ,r=e.currentTile.index,a=e.tiles[r],i=t.Csiz;for(let e=0;e>>o&(1<0;){const e=n.shift();o=e.codeblock;void 0===o.data&&(o.data=[]);o.data.push({data:t,start:r+s,end:r+s+e.dataLength,codingpasses:e.codingpasses});s+=e.dataLength}}return s}function copyCoefficients(e,t,r,a,i,s,c,l){const h=a.tbx0,u=a.tby0,d=a.tbx1-a.tbx0,f=a.codeblocks,g="H"===a.type.charAt(0)?1:0,p="H"===a.type.charAt(1)?t:0;for(let r=0,m=f.length;r=s?U:U*(1<0?1-e:0)}const g=t.subbands[a],p=s[g.type];copyCoefficients(n,r,0,g,f?1:2**(d+p-o)*(1+i/2048),h+o-1,f,u)}p.push({width:r,height:i,items:n})}const b=g.calculate(p,a.tcx0,a.tcy0);return{left:a.tcx0,top:a.tcy0,width:b.width,height:b.height,items:b.items}}function initializeTile(e,t){const r=e.SIZ.Csiz,a=e.tiles[t];for(let t=0;t>=1;t>>=1;a++}a--;r=this.levels[a];r.items[r.index]=i;this.currentLevel=a;delete this.value}incrementValue(){const e=this.levels[this.currentLevel];e.items[e.index]++}nextLevel(){let e=this.currentLevel,t=this.levels[e];const r=t.items[t.index];e--;if(e<0){this.value=r;return!1}this.currentLevel=e;t=this.levels[e];t.items[t.index]=r;return!0}}class InclusionTree{constructor(e,t,r){const a=(0,i.log2)(Math.max(e,t))+1;this.levels=[];for(let i=0;ir){this.currentLevel=a;this.propagateValues();return!1}e>>=1;t>>=1;a++}this.currentLevel=a-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 r=t.items[t.index];for(;--e>=0;){t=this.levels[e];t.items[t.index]=r}}nextLevel(){let e=this.currentLevel,t=this.levels[e];const r=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]=r;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]),r=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]),a=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,i,n,s,o){this.width=e;this.height=i;let c;c="HH"===n?a:"HL"===n?r:t;this.contextLabelTable=c;const l=e*i;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;e0,o=t+10){c=r-i;s&&(a[c-1]+=16);o&&(a[c+1]+=16);a[c]+=4}if(e+1=r)break;s[d]&=-2;if(a[d]||!n[d])continue;const g=c[n[d]];if(e.readBit(o,g)){const e=this.decodeSignBit(t,u,d);i[d]=e;a[d]=1;this.setNeighborsSignificance(t,u,d);s[d]|=2}l[d]++;s[d]|=1}}}decodeSignBit(e,t,r){const a=this.width,i=this.height,n=this.coefficentsMagnitude,s=this.coefficentsSign;let o,c,l,h,u,d;h=t>0&&0!==n[r-1];if(t+10&&0!==n[r-a];if(e+1=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,r=this.height,a=this.coefficentsMagnitude,i=this.neighborsSignificance,n=this.contexts,s=this.bitsDecoded,o=this.processingFlags,c=t*r,l=4*t;for(let r,h=0;h>1;let i,n,s,o;const c=-1.586134342059924,l=-.052980118572961,h=.882911075530934,u=.443506852043971,d=1.230174104914001;i=(t|=0)-3;for(n=a+4;n--;i+=2)e[i]*=.8128930661159609;i=t-2;s=u*e[i-1];for(n=a+3;n--;i+=2){o=u*e[i+1];e[i]=d*e[i]-s-o;if(!n--)break;i+=2;s=u*e[i+1];e[i]=d*e[i]-s-o}i=t-1;s=h*e[i-1];for(n=a+2;n--;i+=2){o=h*e[i+1];e[i]-=s+o;if(!n--)break;i+=2;s=h*e[i+1];e[i]-=s+o}i=t;s=l*e[i-1];for(n=a+1;n--;i+=2){o=l*e[i+1];e[i]-=s+o;if(!n--)break;i+=2;s=l*e[i+1];e[i]-=s+o}if(0!==a){i=t+1;s=c*e[i-1];for(n=a;n--;i+=2){o=c*e[i+1];e[i]-=s+o;if(!n--)break;i+=2;s=c*e[i+1];e[i]-=s+o}}}}class ReversibleTransform extends Transform{filter(e,t,r){const a=r>>1;let i,n;for(i=t|=0,n=a+1;n--;i+=2)e[i]-=e[i-1]+e[i+1]+2>>2;for(i=t+1,n=a;n--;i+=2)e[i]+=e[i-1]+e[i+1]>>1}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.LZWStream=void 0;var a=r(19);class LZWStream extends a.DecodeStream{constructor(e,t,r){super(t);this.str=e;this.dict=e.dict;this.cachedData=0;this.bitsCached=0;const a=4096,i={earlyChange:r,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(a),dictionaryLengths:new Uint16Array(a),dictionaryPrevCodes:new Uint16Array(a),currentSequence:new Uint8Array(a),currentSequenceLength:0};for(let e=0;e<256;++e){i.dictionaryValues[e]=e;i.dictionaryLengths[e]=1}this.lzwState=i}readBits(e){let t=this.bitsCached,r=this.cachedData;for(;t>>t&(1<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=0;t--){d[t]=o[r];r=l[r]}}else d[f++]=d[0]}if(i){l[s]=u;c[s]=c[u]+1;o[s]=d[0];s++;h=s+n&s+n-1?h:0|Math.min(Math.log(s+n)/.6931471805599453+1,12)}u=e;g+=f;if(a{Object.defineProperty(t,"__esModule",{value:!0});t.PredictorStream=void 0;var a=r(19),i=r(2),n=r(5);class PredictorStream extends a.DecodeStream{constructor(e,t,r){super(t);if(!(0,n.isDict)(r))return e;const a=this.predictor=r.get("Predictor")||1;if(a<=1)return e;if(2!==a&&(a<10||a>15))throw new i.FormatError(`Unsupported predictor: ${a}`);this.readBlock=2===a?this.readBlockTiff:this.readBlockPng;this.str=e;this.dict=e.dict;const s=this.colors=r.get("Colors")||1,o=this.bits=r.get("BitsPerComponent")||8,c=this.columns=r.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,r=this.ensureBuffer(t+e),a=this.bits,i=this.colors,n=this.str.getBytes(e);this.eof=!n.length;if(this.eof)return;let s,o=0,c=0,l=0,h=0,u=t;if(1===a&&1===i)for(s=0;s>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;r[u++]=e}else if(8===a){for(s=0;s>8&255;r[u++]=255&e}}else{const e=new Uint8Array(i+1),u=(1<>l-a)&u;l-=a;c=c<=8){r[f++]=c>>h-8&255;h-=8}}h>0&&(r[f++]=(c<<8-h)+(o&(1<<8-h)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,r=this.str.getByte(),a=this.str.getBytes(e);this.eof=!a.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(r){case 0:for(c=0;c>1)+a[c];for(;c>1)+a[c]&255;u++}break;case 4:for(c=0;c{Object.defineProperty(t,"__esModule",{value:!0});t.RunLengthStream=void 0;var a=r(19);class RunLengthStream extends a.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,r=this.bufferLength,a=e[0];if(a<128){t=this.ensureBuffer(r+a+1);t[r++]=e[1];if(a>0){const e=this.str.getBytes(a);t.set(e,r);r+=a}}else{a=257-a;const i=e[1];t=this.ensureBuffer(r+a+1);for(let e=0;e{Object.defineProperty(t,"__esModule",{value:!0});t.Font=t.ErrorFont=void 0;var a=r(2),i=r(35),n=r(38),s=r(39),o=r(37),c=r(41),l=r(40),h=r(42),u=r(43),d=r(44),f=r(16),g=r(45),p=r(9),m=r(10),b=r(46);const y=[[57344,63743],[1048576,1114109]],w=1e3,S=["ascent","bbox","black","bold","charProcOperatorList","composite","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","fallbackName","fontMatrix","fontType","isMonospace","isSerifFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","subtype","type","vertical"],x=["cMap","defaultEncoding","differences","isSymbolicFont","seacMap","toFontChar","toUnicode","vmetrics","widths"];function adjustWidths(e){if(!e.fontMatrix)return;if(e.fontMatrix[0]===a.FONT_IDENTITY_MATRIX[0])return;const t=.001/e.fontMatrix[0],r=e.widths;for(const e in r)r[e]*=t;e.defaultWidth*=t}class Glyph{constructor(e,t,r,a,i,n,s,o){this.fontChar=e;this.unicode=t;this.accent=r;this.width=a;this.vmetric=i;this.operatorListId=n;this.isSpace=s;this.isInFont=o}matchesForCache(e,t,r,a,i,n,s,o){return this.fontChar===e&&this.unicode===t&&this.accent===r&&this.width===a&&this.vmetric===i&&this.operatorListId===n&&this.isSpace===s&&this.isInFont===o}}function int16(e,t){return(e<<8)+t}function signedInt16(e,t){const r=(e<<8)+t;return 32768&r?r-65536:r}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,a.bytesToString)(t)}function getFontFileType(e,{type:t,subtype:r,composite:i}){let n,s;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===(0,p.readUint32)(t,0)||"true"===(0,a.bytesToString)(t)}(e)||isTrueTypeCollectionFile(e))n=i?"CIDFontType2":"TrueType";else if(function isOpenTypeFile(e){const t=e.peekBytes(4);return"OTTO"===(0,a.bytesToString)(t)}(e))n=i?"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))n=i?"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(i){n="CIDFontType0";s="CIDFontType0C"}else{n="MMType1"===t?"MMType1":"Type1";s="Type1C"}else{(0,a.warn)("getFontFileType: Unable to detect correct font file Type/Subtype.");n=t;s=r}return[n,s]}function buildToFontChar(e,t,r){const a=[];let i;for(let r=0,n=e.length;rc){s++;if(s>=y.length){(0,a.warn)("Ran out of space in font private use area.");break}o=y[s][0];c=y[s][1]}const u=o++;0===h&&(h=r);i[u]=h;n[l]=u}return{toFontChar:n,charCodeToGlyphId:i,nextAvailableFontCharCode:o}}function createCmapTable(e,t){const r=function getRanges(e,t){const r=[];for(const a in e)e[a]>=t||r.push({fontCharCode:0|a,glyphId:e[a]});0===r.length&&r.push({fontCharCode:0,glyphId:0});r.sort((function fontGetRangesSort(e,t){return e.fontCharCode-t.fontCharCode}));const a=[],i=r.length;for(let e=0;e65535?2:1;let n,s,o,c,l="\0\0"+string16(i)+"\0\0"+(0,a.string32)(4+8*i);for(n=r.length-1;n>=0&&!(r[n][0]<=65535);--n);const h=n+1;r[n][0]<65535&&65535===r[n][1]&&(r[n][1]=65534);const u=r[n][1]<65535?1:0,d=h+u,f=g.OpenTypeFileBuilder.getSearchParams(d,2);let p,m,b,y,w="",S="",x="",k="",C="",v=0;for(n=0,s=h;n0){S+="ÿÿ";w+="ÿÿ";x+="\0";k+="\0\0"}const O="\0\0"+string16(2*d)+string16(f.range)+string16(f.entry)+string16(f.rangeShift)+S+"\0\0"+w+x+k+C;let F="",T="";if(i>1){l+="\0\0\n"+(0,a.string32)(4+8*i+4+O.length);F="";for(n=0,s=r.length;ne||!c)&&(c=e);h 123 are reserved for internal usage");o|=1<65535&&(h=65535)}else{c=0;h=255}const u=e.bbox||[0,0,0,0],d=r.unitsPerEm||1/(e.fontMatrix||a.FONT_IDENTITY_MATRIX)[0],f=e.ascentScaled?1:d/w,g=r.ascent||Math.round(f*(e.ascent||u[3]));let p=r.descent||Math.round(f*(e.descent||u[1]));p>0&&e.descent>0&&u[1]<0&&(p=-p);const m=r.yMax||g,b=-r.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,a.string32)(i)+(0,a.string32)(n)+(0,a.string32)(s)+(0,a.string32)(o)+"*21*"+string16(e.italicAngle?1:0)+string16(c||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(c||e.firstChar)+"\0"}function createPostTable(e){const t=Math.floor(65536*e.italicAngle);return"\0\0\0"+(0,a.string32)(t)+"\0\0\0\0"+(0,a.string32)(e.fixedPitch)+"\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 r=[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"],a=[];let i,n,s,o,c;for(i=0,n=r.length;i0;if((g||p)&&"CIDFontType2"===r&&this.cidEncoding.startsWith("Identity-")){const r=(0,c.getGlyphMapForStandardFonts)(),a=e.cidToGidMap,i=[];for(const e in r)i[+e]=r[e];if(/Arial-?Black/i.test(t)){const e=(0,c.getSupplementalGlyphMapForArialBlack)();for(const t in e)i[+t]=e[t]}else if(/Calibri/i.test(t)){const e=(0,c.getSupplementalGlyphMapForCalibri)();for(const t in e)i[+t]=e[t]}if(a)for(const e in i){const t=i[e];void 0!==a[t]&&(i[+e]=a[t])}this.toUnicode instanceof h.IdentityToUnicodeMap||this.toUnicode.forEach((function(e,t){i[+e]=t}));this.toFontChar=i;this.toUnicode=new h.ToUnicodeMap(i)}else if(/Symbol/i.test(u))this.toFontChar=buildToFontChar(o.SymbolSetEncoding,(0,s.getGlyphsUnicode)(),this.differences);else if(/Dingbats/i.test(u)){/Wingdings/i.test(t)&&(0,a.warn)("Non-embedded Wingdings font, falling back to ZapfDingbats.");this.toFontChar=buildToFontChar(o.ZapfDingbatsEncoding,(0,s.getDingbatsGlyphsUnicode)(),this.differences)}else if(g)this.toFontChar=buildToFontChar(this.defaultEncoding,(0,s.getGlyphsUnicode)(),this.differences);else{const e=(0,s.getGlyphsUnicode)(),r=[];this.toUnicode.forEach(((t,a)=>{if(!this.composite){const r=this.differences[t]||this.defaultEncoding[t],i=(0,l.getUnicodeForGlyph)(r,e);-1!==i&&(a=i)}r[+t]=a}));if(this.composite&&this.toUnicode instanceof h.IdentityToUnicodeMap&&/Verdana/i.test(t)){const e=(0,c.getGlyphMapForStandardFonts)();for(const t in e)r[+t]=e[t]}this.toFontChar=r}this.loadedName=u.split("-")[0];this.fontType=(0,n.getFontType)(r,i)}checkAndRepair(e,t,r){const c=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e,t){const r=Object.create(null);r["OS/2"]=null;r.cmap=null;r.head=null;r.hhea=null;r.hmtx=null;r.maxp=null;r.name=null;r.post=null;for(let a=0;a>>0,a=e.getInt32()>>>0,i=e.getInt32()>>>0,n=e.pos;e.pos=e.start?e.start:0;e.skip(a);const s=e.getBytes(i);e.pos=n;if("head"===t){s[8]=s[9]=s[10]=s[11]=0;s[17]|=32}return{tag:t,checksum:r,length:i,offset:a,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,r,a,i,n){const s={length:0,sizeOfInstructions:0};if(r-t<=12)return s;const o=e.subarray(t,r);let c=signedInt16(o[0],o[1]);if(c<0){c=-1;!function writeSignedInt16(e,t,r){e[t+1]=r;e[t]=r>>>8}(o,0,c);a.set(o,i);s.length=o.length;return s}let l,h=10,u=0;for(l=0;lo.length)return s;if(!n&&f>0){a.set(o.subarray(0,d),i);a.set([0,0],i+d);a.set(o.subarray(g,m),i+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;a.set(o.subarray(0,m),i);s.length=m;return s}a.set(o,i);s.length=o.length;return s}function readNameTable(e){const r=(t.start?t.start:0)+e.offset;t.pos=r;const a=[[],[]],i=e.length,n=r+i;if(0!==t.getUint16()||i<6)return a;const s=t.getUint16(),o=t.getUint16(),c=[];let l,h;for(l=0;ln)continue;t.pos=i;const s=e.name;if(e.encoding){let r="";for(let a=0,i=e.length;a0&&(h+=e-1)}}else{if(b||w){(0,a.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[f.length-1];if(isNaN(s))(0,a.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,a.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,a.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){i=f.pop();isNaN(i)||(t=2*-i)}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,a.warn)("TT: complementing a missing function tail");S.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let r,a,i=0;for(r=0,a=t.length;r>>0,s=[];for(let t=0;t>>0);const o={ttcTag:t,majorVersion:r,minorVersion:i,numFonts:n,offsetTable:s};switch(r){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 a.FormatError(`Invalid TrueType Collection majorVersion: ${r}.`)}(e),n=t.split("+");let s;for(let o=0;o0||!(r.cMap instanceof f.IdentityCMap));if("OTTO"===h.version&&!t||!d.head||!d.hhea||!d.maxp||!d.post){b=new m.Stream(d["CFF "].data);p=new u.CFFFont(b,r);adjustWidths(r);return this.convert(e,p,r)}delete d.glyf;delete d.loca;delete d.fpgm;delete d.prep;delete d["cvt "];this.isOpenType=!0}if(!d.maxp)throw new a.FormatError('Required "maxp" table is not found');t.pos=(t.start||0)+d.maxp.offset;const w=t.getInt32(),S=t.getUint16();let x=S+1,k=!0;if(x>65535){k=!1;x=S;(0,a.warn)("Not enough space in glyfs to duplicate first glyph.")}let C=0,v=0;if(w>=65536&&d.maxp.length>=22){t.pos+=8;if(t.getUint16()>2){d.maxp.data[14]=0;d.maxp.data[15]=2}t.pos+=4;C=t.getUint16();t.pos+=4;v=t.getUint16()}d.maxp.data[4]=x>>8;d.maxp.data[5]=255&x;const O=function sanitizeTTPrograms(e,t,r,i){const n={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,n);t&&sanitizeTTProgram(t,n);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){(0,a.warn)("TT: more functions defined than expected");e.hintsValid=!1}else for(let r=0,i=e.functionsUsed.length;rt){(0,a.warn)("TT: invalid function id: "+r);e.hintsValid=!1;return}if(e.functionsUsed[r]&&!e.functionsDefined[r]){(0,a.warn)("TT: undefined function: "+r);e.hintsValid=!1;return}}}(n,i);if(r&&1&r.length){const e=new Uint8Array(r.length+1);e.set(r.data);r.data=e}return n.hintsValid}(d.fpgm,d.prep,d["cvt "],C);if(!O){delete d.fpgm;delete d.prep;delete d["cvt "]}!function sanitizeMetrics(e,t,r,i,n){if(!t){r&&(r.data=null);return}e.pos=(e.start?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;e.pos+=2;e.pos+=8;e.pos+=2;let s=e.getUint16();if(s>i){(0,a.info)("The numOfMetrics ("+s+") should not be greater than the numGlyphs ("+i+")");s=i;t.data[34]=(65280&s)>>8;t.data[35]=255&s}const o=i-s-(r.length-4*s>>1);if(o>0){const e=new Uint8Array(r.length+2*o);e.set(r.data);if(n){e[r.length]=r.data[2];e[r.length+1]=r.data[3]}r.data=e}}(t,d.hhea,d.hmtx,x,k);if(!d.head)throw new a.FormatError('Required "head" table is not found');!function sanitizeHead(e,t,r){const i=e.data,n=function int32(e,t,r,a){return(e<<24)+(t<<16)+(r<<8)+a}(i[0],i[1],i[2],i[3]);if(n>>16!=1){(0,a.info)("Attempting to fix invalid version in head table: "+n);i[0]=0;i[1]=1;i[2]=0;i[3]=0}const s=int16(i[50],i[51]);if(s<0||s>1){(0,a.info)("Attempting to fix invalid indexToLocFormat in head table: "+s);const e=t+1;if(r===e<<1){i[50]=0;i[51]=0}else{if(r!==e<<2)throw new a.FormatError("Could not fix indexToLocFormat: "+s);i[50]=0;i[51]=1}}}(d.head,S,y?d.loca.length:0);let F=Object.create(null);if(y){const e=int16(d.head.data[50],d.head.data[51]),t=function sanitizeGlyphLocations(e,t,r,a,i,n,s){let o,c,l;if(a){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,r){e[t]=r>>>24&255;e[t+1]=r>>16&255;e[t+2]=r>>8&255;e[t+3]=255&r}}else{o=2;c=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};l=function fontItemEncode(e,t,r){e[t]=r>>9&255;e[t+1]=r>>1&255}}const h=n?r+1:r,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;mg&&(e=g);y.push({index:m,offset:e,endOffset:0})}y.sort(((e,t)=>e.offset-t.offset));for(m=0;me.index-t.index));const w=Object.create(null);let S=0;l(d,0,S);for(m=0,b=o;ms&&(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;mr+S)t.data=p.subarray(0,r+S);else{t.data=new Uint8Array(r+S);t.data.set(p.subarray(0,S))}t.data.set(p.subarray(0,r),S);l(e.data,d.length-o,S+r)}else t.data=p.subarray(0,S);return{missingGlyphs:w,maxSizeOfInstructions:s}}(d.loca,d.glyf,S,e,O,k,v);F=t.missingGlyphs;if(w>=65536&&d.maxp.length>=22){d.maxp.data[26]=t.maxSizeOfInstructions>>8;d.maxp.data[27]=255&t.maxSizeOfInstructions}}if(!d.hhea)throw new a.FormatError('Required "hhea" table is not found');if(0===d.hhea.data[10]&&0===d.hhea.data[11]){d.hhea.data[10]=255;d.hhea.data[11]=255}const T={unitsPerEm:int16(d.head.data[18],d.head.data[19]),yMax:int16(d.head.data[42],d.head.data[43]),yMin:signedInt16(d.head.data[38],d.head.data[39]),ascent:int16(d.hhea.data[4],d.hhea.data[5]),descent:signedInt16(d.hhea.data[6],d.hhea.data[7])};this.ascent=T.ascent/T.unitsPerEm;this.descent=T.descent/T.unitsPerEm;d.post&&function readPostScriptTable(e,r,i){const s=(t.start?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=n.MacStandardGlyphOrdering;break;case 131072:const e=t.getUint16();if(e!==i){u=!1;break}const s=[];for(h=0;h=32768){u=!1;break}s.push(e)}if(!u)break;const d=[],f=[];for(;t.pos65535)throw new a.FormatError("Max size of CID is 65,535");let n=-1;t?n=i:void 0!==e[i]&&(n=e[i]);n>=0&&n>>0;let s=!1;if(!c||c.platformId!==e||c.encodingId!==a){if(0!==e||0!==a&&1!==a&&3!==a)if(1===e&&0===a)s=!0;else if(3!==e||1!==a||!i&&c){if(r&&3===e&&0===a){s=!0;l=!0}}else{s=!0;r||(l=!0)}else s=!0;s&&(c={platformId:e,encodingId:a,offset:n});if(l)break}}c&&(t.pos=s+c.offset);if(!c||-1===t.peekByte()){(0,a.warn)("Could not find a preferred cmap table.");return{platformId:-1,encodingId:-1,mappings:[],hasShortCmap:!1}}const h=t.getUint16();t.skip(4);let u=!1;const d=[];let f,g;if(0===h){for(f=0;f<256;f++){const e=t.getByte();e&&d.push({charCode:f,glyphId:e})}u=!0}else if(4===h){const e=t.getUint16()>>1;t.skip(6);const r=[];let a;for(a=0;a>1)-(e-a);n.offsetIndex=i;o=Math.max(o,i+n.end-n.start+1)}else n.offsetIndex=-1}const c=[];for(f=0;f=61440&&t<=61695&&(t&=255);E[t]=l[e].glyphId}if(r.glyphNames&&(u.length||this.differences.length))for(let e=0;e<256;++e){if(void 0!==E[e])continue;const t=this.differences[e]||u[e];if(!t)continue;const a=r.glyphNames.indexOf(t);a>0&&hasGlyph(a)&&(E[e]=a)}}0===E.length&&(E[0]=0);let M=x-1;k||(M=0);if(!r.cssFontInfo){const e=adjustMapping(E,hasGlyph,M);this.toFontChar=e.toFontChar;d.cmap={tag:"cmap",data:createCmapTable(e.charCodeToGlyphId,x)};d["OS/2"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const r=t.getUint16();t.skip(60);const a=t.getUint16();if(r<4&&768&a)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}(d["OS/2"],t)||(d["OS/2"]={tag:"OS/2",data:createOS2Table(r,e.charCodeToGlyphId,T)})}if(!y)try{b=new m.Stream(d["CFF "].data);p=new i.CFFParser(b,r,n.SEAC_ANALYSIS_ENABLED).parse();p.duplicateFirstGlyph();const e=new i.CFFCompiler(p);d["CFF "].data=e.compile()}catch(e){(0,a.warn)("Failed to compile font "+r.loadedName)}if(d.name){const t=readNameTable(d.name);d.name.data=createNameTable(e,t)}else d.name={tag:"name",data:createNameTable(this.name)};const D=new g.OpenTypeFileBuilder(h.version);for(const e in d)D.addTable(e,d[e].data);return D.toArray()}convert(e,t,r){r.fixedPitch=!1;r.builtInEncoding&&function adjustToUnicode(e,t){if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof h.IdentityToUnicodeMap)return;const r=[],a=(0,s.getGlyphsUnicode)();for(const i in t){if(e.hasEncoding&&void 0!==e.differences[i])continue;const n=t[i],s=(0,l.getUnicodeForGlyph)(n,a);-1!==s&&(r[i]=String.fromCharCode(s))}e.toUnicode.amend(r)}(r,r.builtInEncoding);let i=1;t instanceof u.CFFFont&&(i=t.numGlyphs-1);const c=t.getGlyphMapping(r);let d=null,f=c;if(!r.cssFontInfo){d=adjustMapping(c,t.hasGlyphId.bind(t),i);this.toFontChar=d.toFontChar;f=d.charCodeToGlyphId}const p=t.numGlyphs;function getCharCodes(e,t){let r=null;for(const a in e)if(t===e[a]){r||(r=[]);r.push(0|a)}return r}function createCharCode(e,t){for(const r in e)if(t===e[r])return 0|r;d.charCodeToGlyphId[d.nextAvailableFontCharCode]=t;return d.nextAvailableFontCharCode++}const m=t.seacs;if(d&&n.SEAC_ANALYSIS_ENABLED&&m&&m.length){const e=r.fontMatrix||a.FONT_IDENTITY_MATRIX,i=t.getCharset(),n=Object.create(null);for(let t in m){t|=0;const r=m[t],a=o.StandardEncoding[r[2]],s=o.StandardEncoding[r[3]],l=i.indexOf(a),h=i.indexOf(s);if(l<0||h<0)continue;const u={x:r[0]*e[0]+r[1]*e[2]+e[4],y:r[0]*e[1]+r[1]*e[3]+e[5]},f=getCharCodes(c,t);if(f)for(let e=0,t=f.length;et.length%2==1;for(let a=0,i=e.length;a55295&&(i<57344||i>65533)&&a++;if(this.toUnicode){const e=String.fromCodePoint(i),a=this.toUnicode.charCodeOf(e);if(-1!==a){if(hasCurrentBufErrors()){t.push(r.join(""));r.length=0}for(let e=(this.cMap?this.cMap.getCharCodeLength(a):1)-1;e>=0;e--)r.push(String.fromCharCode(a>>8*e&255));continue}}if(!hasCurrentBufErrors()){t.push(r.join(""));r.length=0}r.push(String.fromCodePoint(i))}t.push(r.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,r)=>{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 a=r(2),i=r(36),n=r(37);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=function CFFParserClosure(){const e=[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}],t=[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:function stack_div(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn:function stack_div(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn:function stack_div(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn:function stack_div(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:function stack_div(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}];return class CFFParser{constructor(e,t,r){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!r}parse(){const e=this.properties,t=new CFF;this.cff=t;const r=this.parseHeader(),a=this.parseIndex(r.endPos),i=this.parseIndex(a.endPos),n=this.parseIndex(i.endPos),s=this.parseIndex(n.endPos),o=this.parseDict(i.obj.get(0)),c=this.createDict(l,o,t.strings);t.header=r.obj;t.names=this.parseNameIndex(a.obj);t.strings=this.parseStringIndex(n.obj);t.topDict=c;t.globalSubrIndex=s.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=c.hasName("ROS");const h=c.getByName("CharStrings"),u=this.parseIndex(h).obj,d=c.getByName("FontMatrix");d&&(e.fontMatrix=d);const f=c.getByName("FontBBox");if(f){e.ascent=Math.max(f[3],f[1]);e.descent=Math.min(f[1],f[3]);e.ascentScaled=!0}let g,p;if(t.isCIDFont){const e=this.parseIndex(c.getByName("FDArray")).obj;for(let r=0,a=e.count;r=t)throw new a.FormatError("Invalid CFF header");if(0!==r){(0,a.info)("cff data is shifted");e=e.subarray(r);this.bytes=e}const i=e[0],n=e[1],s=e[2],o=e[3];return{obj:new CFFHeader(i,n,s,o),endPos:s}}parseDict(e){let t=0;function parseOperand(){let r=e[t++];if(30===r)return function parseFloatOperand(){let r="";const a=15,i=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],n=e.length;for(;t>4,o=15&n;if(s===a)break;r+=i[s];if(o===a)break;r+=i[o]}return parseFloat(r)}();if(28===r){r=e[t++];r=(r<<24|e[t++]<<16)>>16;return r}if(29===r){r=e[t++];r=r<<8|e[t++];r=r<<8|e[t++];r=r<<8|e[t++];return r}if(r>=32&&r<=246)return r-139;if(r>=247&&r<=250)return 256*(r-247)+e[t++]+108;if(r>=251&&r<=254)return-256*(r-251)-e[t++]-108;(0,a.warn)('CFFParser_parseDict: "'+r+'" is a reserved command.');return NaN}let r=[];const i=[];t=0;const n=e.length;for(;t10)return!1;let o=r.stackSize;const c=r.stack,l=i.length;for(let h=0;h>16;h+=2;o++}else if(14===l){if(o>=4){o-=4;if(this.seacAnalysisEnabled){r.seac=c.slice(o,o+4);return!1}}u=e[l]}else if(l>=32&&l<=246){c[o]=l-139;o++}else if(l>=247&&l<=254){c[o]=l<251?(l-247<<8)+i[h]+108:-(l-251<<8)-i[h]-108;h++;o++}else if(255===l){c[o]=(i[h]<<24|i[h+1]<<16|i[h+2]<<8|i[h+3])/65536;h+=4;o++}else if(19===l||20===l){r.hints+=o>>1;h+=r.hints+7>>3;o%=2;u=e[l]}else{if(10===l||29===l){let t;t=10===l?n:s;if(!t){u=e[l];(0,a.warn)("Missing subrsIndex for "+u.id);return!1}let i=32768;t.count<1240?i=107:t.count<33900&&(i=1131);const h=c[--o]+i;if(h<0||h>=t.count||isNaN(h)){u=e[l];(0,a.warn)("Out of bounds subrIndex for "+u.id);return!1}r.stackSize=o;r.callDepth++;if(!this.parseCharString(r,t.get(h),n,s))return!1;r.callDepth--;o=r.stackSize;continue}if(11===l){r.stackSize=o;return!0}u=e[l]}if(u){if(u.stem){r.hints+=o>>1;if(3===l||23===l)r.hasVStems=!0;else if(r.hasVStems&&(1===l||18===l)){(0,a.warn)("CFF stem hints are in wrong order");i[h-1]=1===l?3:23}}if("min"in u&&!r.undefStack&&o=2&&u.stem?o%=2:o>1&&(0,a.warn)("Found too many parameters for stack-clearing command");o>0&&(r.width=c[o-1])}if("stackDelta"in u){"stackFn"in u&&u.stackFn(c,o);o+=u.stackDelta}else if(u.stackClearing)o=0;else if(u.resetStack){o=0;r.undefStack=!1}else if(u.undefStack){o=0;r.undefStack=!0;r.firstStackClearing=!1}}}r.stackSize=o;return!0}parseCharStrings({charStrings:e,localSubrIndex:t,globalSubrIndex:r,fdSelect:i,fdArray:n,privateDict:s}){const o=[],c=[],l=e.count;for(let h=0;h=n.length){(0,a.warn)("Invalid fd index for glyph index.");d=!1}if(d){g=n[e].privateDict;f=g.subrsIndex}}else t&&(f=t);d&&(d=this.parseCharString(u,l,f,r));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(h,[],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 r=t[0],a=t[1];if(0===r||a>=this.bytes.length){this.emptyPrivateDictionary(e);return}const i=a+r,n=this.bytes.subarray(a,i),s=this.parseDict(n),o=this.createDict(h,s,e.strings);e.privateDict=o;if(!o.getByName("Subrs"))return;const c=o.getByName("Subrs"),l=a+c;if(0===c||l>=this.bytes.length){this.emptyPrivateDictionary(e);return}const u=this.parseIndex(l);o.subrsIndex=u.obj}parseCharsets(e,t,r,n){if(0===e)return new CFFCharset(!0,u.ISO_ADOBE,i.ISOAdobeCharset);if(1===e)return new CFFCharset(!0,u.EXPERT,i.ExpertCharset);if(2===e)return new CFFCharset(!0,u.EXPERT_SUBSET,i.ExpertSubsetCharset);const s=this.bytes,o=e,c=s[e++],l=[n?0:".notdef"];let h,d,f;t-=1;switch(c){case 0:for(f=0;f=65535){(0,a.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,r,a){this.major=e;this.minor=t;this.hdrSize=r;this.offSize=a}}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;const r=t.length;if(0===r)return!0;for(let i=0;i=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 a.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,r){if(!(e in this.offsets))throw new a.FormatError(`Not tracking location of ${e}`);const i=r.data,n=this.offsets[e];for(let e=0,r=t.length;e>24&255;i[o]=h>>16&255;i[c]=h>>8&255;i[l]=255&h}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add:function CFFCompiler_add(e){this.data=this.data.concat(e);this.length=this.data.length}},r=this.compileHeader(e.header);t.add(r);const i=this.compileNameIndex(e.names);t.add(i);if(e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(let r=0,i=e.fdArray.length;r16&&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 r=this.compileEncoding(e.encoding);o.setEntryLocation("Encoding",[t.length],t);t.add(r)}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 r=this.compileFDSelect(e.fdSelect);t.add(r);s=this.compileTopDicts(e.fdArray,t.length,!0);o.setEntryLocation("FDArray",[t.length],t);t.add(s.output);const a=s.trackers;this.compilePrivateDicts(e.fdArray,a,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,a.shadow)(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const r=CFFCompiler.EncodeFloatRegExp.exec(t);if(r){const a=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*a)/a).toString()}let a,i,n="";for(a=0,i=t.length;a=-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(let r=0,i=e.length;r"~"||"["===t||"]"===t||"("===t||")"===t||"{"===t||"}"===t||"<"===t||">"===t||"/"===t||"%"===t)&&(t="_");s[e]=t}s=s.join("");""===s&&(s="Bad_Font_Name");t.add((0,a.stringToBytes)(s))}return this.compileIndex(t)}compileTopDicts(e,t,r){const a=[];let i=new CFFIndex;for(let n=0,s=e.length;n>8&255,255&s]);else{n=new Uint8Array(1+2*s);n[0]=0;let t=0;const i=e.charset.length;let o=!1;for(let s=1;s>8&255;n[s+1]=255&c}}return this.compileTypedArray(n)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let r,a;switch(t){case 0:r=new Uint8Array(1+e.fdSelect.length);r[0]=t;for(a=0;a>8&255,255&i,n];for(a=1;a>8&255,255&a,t);n=t}}const o=(s.length-3)/3;s[1]=o>>8&255;s[2]=255&o;s.push(a>>8&255,255&a);r=new Uint8Array(s)}return this.compileTypedArray(r)}compileTypedArray(e){const t=[];for(let r=0,a=e.length;r>8&255,255&a];let n,s,o=1;for(n=0;n>8&255,255&c):3===s?i.push(c>>16&255,c>>8&255,255&c):i.push(c>>>24&255,c>>16&255,c>>8&255,255&c);r[n]&&(c+=r[n].length)}for(n=0;n{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.getEncoding=function getEncoding(e){switch(e){case"WinAnsiEncoding":return s;case"StandardEncoding":return n;case"MacRomanEncoding":return i;case"SymbolSetEncoding":return o;case"ZapfDingbatsEncoding":return c;case"ExpertEncoding":return r;case"MacExpertEncoding":return a;default:return null}};t.ZapfDingbatsEncoding=t.WinAnsiEncoding=t.SymbolSetEncoding=t.StandardEncoding=t.MacRomanEncoding=t.ExpertEncoding=void 0;const r=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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=r;const a=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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","","","",""],i=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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=i;const n=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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=n;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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.getFontType=function getFontType(e,t){switch(e){case"Type1":return"Type1C"===t?a.FontType.TYPE1C:a.FontType.TYPE1;case"CIDFontType0":return"CIDFontType0C"===t?a.FontType.CIDFONTTYPE0C:a.FontType.CIDFONTTYPE0;case"OpenType":return a.FontType.OPENTYPE;case"TrueType":return a.FontType.TRUETYPE;case"CIDFontType2":return a.FontType.CIDFONTTYPE2;case"MMType1":return a.FontType.MMTYPE1;case"Type0":return a.FontType.TYPE0;default:return a.FontType.UNKNOWN}};t.recoverGlyphName=recoverGlyphName;t.type1FontGlyphMapping=function type1FontGlyphMapping(e,t,r){const a=Object.create(null);let s,c,l;const h=!!(e.flags&o.Symbolic);if(e.baseEncodingName){l=(0,i.getEncoding)(e.baseEncodingName);for(c=0;c=0?s:0}}else if(h)for(c in t)a[c]=t[c];else{l=i.StandardEncoding;for(c=0;c=0?s:0}}const u=e.differences;let d;if(u)for(c in u){const e=u[c];s=r.indexOf(e);if(-1===s){d||(d=(0,n.getGlyphsUnicode)());const t=recoverGlyphName(e,d);t!==e&&(s=r.indexOf(t))}a[c]=s>=0?s:0}return a};t.SEAC_ANALYSIS_ENABLED=t.MacStandardGlyphOrdering=t.FontFlags=void 0;var a=r(2),i=r(37),n=r(39),s=r(40);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 r=(0,s.getUnicodeForGlyph)(e,t);if(-1!==r)for(const e in t)if(t[e]===r)return e;(0,a.info)("Unable to recover a standard glyph name for: "+e);return e}},(e,t,r)=>{r.r(t);r.d(t,{getDingbatsGlyphsUnicode:()=>n,getGlyphsUnicode:()=>i});var a=r(9);const i=(0,a.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,"ffl",64260,"fi",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,"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]})),n=(0,a.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,r)=>{r.r(t);r.d(t,{getNormalizedUnicodes:()=>s,getUnicodeForGlyph:()=>getUnicodeForGlyph,getUnicodeRangeFor:()=>getUnicodeRangeFor,mapSpecialUnicodeValues:()=>mapSpecialUnicodeValues,reverseIfRtl:()=>reverseIfRtl});var a=r(9);const i=(0,a.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?i()[e]||e:173===e?45:e}function getUnicodeForGlyph(e,t){let r=t[e];if(void 0!==r)return r;if(!e)return-1;if("u"===e[0]){const t=e.length;let a;if(7===t&&"n"===e[1]&&"i"===e[2])a=e.substring(3);else{if(!(t>=5&&t<=7))return-1;a=e.substring(1)}if(a===a.toUpperCase()){r=parseInt(a,16);if(r>=0)return r}}return-1}const n=[{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,r=n.length;t=r.begin&&e=t.begin&&e=t.begin&&e=0;a--)r.push(e[a]);return r.join("")}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.getSymbolsFonts=t.getSupplementalGlyphMapForCalibri=t.getSupplementalGlyphMapForArialBlack=t.getStdFontMap=t.getSerifFonts=t.getNonStdFontMap=t.getGlyphMapForStandardFonts=void 0;var a=r(9);const i=(0,a.getLookupTableFactory)((function(e){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["Arial-BoldItalicMT"]="Helvetica-BoldOblique";e["Arial-BoldMT"]="Helvetica-Bold";e["Arial-ItalicMT"]="Helvetica-Oblique";e.ArialMT="Helvetica";e["Courier-Bold"]="Courier-Bold";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="Helvetica";e["Helvetica-Bold"]="Helvetica-Bold";e["Helvetica-BoldItalic"]="Helvetica-BoldOblique";e["Helvetica-BoldOblique"]="Helvetica-BoldOblique";e["Helvetica-Italic"]="Helvetica-Oblique";e["Helvetica-Oblique"]="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 n=(0,a.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.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=n;const s=(0,a.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["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=s;const o=(0,a.getLookupTableFactory)((function(e){e.Dingbats=!0;e.Symbol=!0;e.ZapfDingbats=!0}));t.getSymbolsFonts=o;const c=(0,a.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[210]=218;e[223]=711;e[224]=321;e[225]=322;e[227]=353;e[229]=382;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[268]=283;e[269]=313;e[275]=323;e[276]=324;e[278]=328;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[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=c;const l=(0,a.getLookupTableFactory)((function(e){e[227]=322;e[264]=261;e[291]=346}));t.getSupplementalGlyphMapForArialBlack=l;const h=(0,a.getLookupTableFactory)((function(e){e[1]=32;e[4]=65;e[17]=66;e[18]=67;e[24]=68;e[28]=69;e[38]=70;e[39]=71;e[44]=72;e[47]=73;e[58]=74;e[60]=75;e[62]=76;e[68]=77;e[69]=78;e[75]=79;e[87]=80;e[89]=81;e[90]=82;e[94]=83;e[100]=84;e[104]=85;e[115]=86;e[116]=87;e[121]=88;e[122]=89;e[127]=90;e[258]=97;e[268]=261;e[271]=98;e[272]=99;e[273]=263;e[282]=100;e[286]=101;e[295]=281;e[296]=102;e[336]=103;e[346]=104;e[349]=105;e[361]=106;e[364]=107;e[367]=108;e[371]=322;e[373]=109;e[374]=110;e[381]=111;e[383]=243;e[393]=112;e[395]=113;e[396]=114;e[400]=115;e[401]=347;e[410]=116;e[437]=117;e[448]=118;e[449]=119;e[454]=120;e[455]=121;e[460]=122;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=h},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ToUnicodeMap=t.IdentityToUnicodeMap=void 0;var a=r(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 r in t)if(t[r]===e)return 0|r;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,r=this.lastChar;t<=r;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,a.unreachable)("Should not call amend()")}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CFFFont=void 0;var a=r(35),i=r(38),n=r(2);t.CFFFont=class CFFFont{constructor(e,t){this.properties=t;const r=new a.CFFParser(e,t,i.SEAC_ANALYSIS_ENABLED);this.cff=r.parse();this.cff.duplicateFirstGlyph();const s=new a.CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=s.compile()}catch(r){(0,n.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,r=e.charset.charset;let a,n;if(t.composite){a=Object.create(null);let i;if(e.isCIDFont)for(n=0;n=0){const a=r[t];a&&(i[e]=a)}}i.length>0&&(this.properties.builtInEncoding=i)}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FontRendererFactory=void 0;var a=r(2),i=r(35),n=r(39),s=r(37),o=r(10);function getLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function getUshort(e,t){return e[t]<<8|e[t+1]}function getSubroutineBias(e){const t=e.length;let r=32768;t<1240?r=107:t<33900&&(r=1131);return r}function parseCmap(e,t,r){const i=1===getUshort(e,t+2)?getLong(e,t+8):getLong(e,t+16),n=getUshort(e,t+i);let s,o,c;if(4===n){getUshort(e,t+i+2);const r=getUshort(e,t+i+6)>>1;o=t+i+14;s=[];for(c=0;c>1;r>16;let n,s=0,o=0;a+=10;if(i<0)do{n=e[a]<<8|e[a+1];const i=e[a+2]<<8|e[a+3];a+=4;let c,l;if(1&n){c=(e[a]<<24|e[a+1]<<16)>>16;l=(e[a+2]<<24|e[a+3]<<16)>>16;a+=4}else{c=e[a++];l=e[a++]}if(2&n){s=c;o=l}else{s=0;o=0}let h=1,u=1,d=0,f=0;if(8&n){h=u=(e[a]<<24|e[a+1]<<16)/1073741824;a+=2}else if(64&n){h=(e[a]<<24|e[a+1]<<16)/1073741824;u=(e[a+2]<<24|e[a+3]<<16)/1073741824;a+=4}else if(128&n){h=(e[a]<<24|e[a+1]<<16)/1073741824;d=(e[a+2]<<24|e[a+3]<<16)/1073741824;f=(e[a+4]<<24|e[a+5]<<16)/1073741824;u=(e[a+6]<<24|e[a+7]<<16)/1073741824;a+=8}const g=r.glyphs[i];if(g){t.push({cmd:"save"},{cmd:"transform",args:[h,d,f,u,s,o]});compileGlyf(g,t,r);t.push({cmd:"restore"})}}while(32&n);else{const t=[];let r,c;for(r=0;r0;)h.push({flags:n})}for(r=0;r>16;a+=2;break;case 2:s-=e[a++];break;case 18:s+=e[a++]}h[r].x=s}for(r=0;r>16;a+=2;break;case 4:o-=e[a++];break;case 36:o+=e[a++]}h[r].y=o}let u=0;for(a=0;a>1;S=!0;break;case 4:c+=n.pop();moveTo(o,c);S=!0;break;case 5:for(;n.length>0;){o+=n.shift();c+=n.shift();lineTo(o,c)}break;case 6:for(;n.length>0;){o+=n.shift();lineTo(o,c);if(0===n.length)break;c+=n.shift();lineTo(o,c)}break;case 7:for(;n.length>0;){c+=n.shift();lineTo(o,c);if(0===n.length)break;o+=n.shift();lineTo(o,c)}break;case 8:for(;n.length>0;){u=o+n.shift();f=c+n.shift();d=u+n.shift();g=f+n.shift();o=d+n.shift();c=g+n.shift();bezierCurveTo(u,f,d,g,o,c)}break;case 10:y=n.pop();w=null;if(r.isCFFCIDFont){const e=r.fdSelect.getFDIndex(i);if(e>=0&&eMath.abs(c-t)?o+=n.shift():c+=n.shift();bezierCurveTo(u,f,d,g,o,c);break;default:throw new a.FormatError(`unknown operator: 12 ${x}`)}break;case 14:if(n.length>=4){const e=n.pop(),a=n.pop();c=n.pop();o=n.pop();t.push({cmd:"save"},{cmd:"translate",args:[o,c]});let i=lookupCmap(r.cmap,String.fromCharCode(r.glyphNameMap[s.StandardEncoding[e]]));compileCharString(r.glyphs[i.glyphId],t,r,i.glyphId);t.push({cmd:"restore"});i=lookupCmap(r.cmap,String.fromCharCode(r.glyphNameMap[s.StandardEncoding[a]]));compileCharString(r.glyphs[i.glyphId],t,r,i.glyphId)}return;case 18:l+=n.length>>1;S=!0;break;case 19:case 20:l+=n.length>>1;h+=l+7>>3;S=!0;break;case 21:c+=n.pop();o+=n.pop();moveTo(o,c);S=!0;break;case 22:o+=n.pop();moveTo(o,c);S=!0;break;case 23:l+=n.length>>1;S=!0;break;case 24:for(;n.length>2;){u=o+n.shift();f=c+n.shift();d=u+n.shift();g=f+n.shift();o=d+n.shift();c=g+n.shift();bezierCurveTo(u,f,d,g,o,c)}o+=n.shift();c+=n.shift();lineTo(o,c);break;case 25:for(;n.length>6;){o+=n.shift();c+=n.shift();lineTo(o,c)}u=o+n.shift();f=c+n.shift();d=u+n.shift();g=f+n.shift();o=d+n.shift();c=g+n.shift();bezierCurveTo(u,f,d,g,o,c);break;case 26:n.length%2&&(o+=n.shift());for(;n.length>0;){u=o;f=c+n.shift();d=u+n.shift();g=f+n.shift();o=d;c=g+n.shift();bezierCurveTo(u,f,d,g,o,c)}break;case 27:n.length%2&&(c+=n.shift());for(;n.length>0;){u=o+n.shift();f=c;d=u+n.shift();g=f+n.shift();o=d+n.shift();c=g;bezierCurveTo(u,f,d,g,o,c)}break;case 28:n.push((e[h]<<24|e[h+1]<<16)>>16);h+=2;break;case 29:y=n.pop()+r.gsubrsBias;w=r.gsubrs[y];w&&parse(w);break;case 30:for(;n.length>0;){u=o;f=c+n.shift();d=u+n.shift();g=f+n.shift();o=d+n.shift();c=g+(1===n.length?n.shift():0);bezierCurveTo(u,f,d,g,o,c);if(0===n.length)break;u=o+n.shift();f=c;d=u+n.shift();g=f+n.shift();c=g+n.shift();o=d+(1===n.length?n.shift():0);bezierCurveTo(u,f,d,g,o,c)}break;case 31:for(;n.length>0;){u=o+n.shift();f=c;d=u+n.shift();g=f+n.shift();c=g+n.shift();o=d+(1===n.length?n.shift():0);bezierCurveTo(u,f,d,g,o,c);if(0===n.length)break;u=o;f=c+n.shift();d=u+n.shift();g=f+n.shift();o=d+n.shift();c=g+(1===n.length?n.shift():0);bezierCurveTo(u,f,d,g,o,c)}break;default:if(x<32)throw new a.FormatError(`unknown operator: ${x}`);if(x<247)n.push(x-139);else if(x<251)n.push(256*(x-247)+e[h++]+108);else if(x<255)n.push(256*-(x-251)-e[h++]-108);else{n.push((e[h]<<24|e[h+1]<<16|e[h+2]<<8|e[h+3])/65536);h+=4}}S&&(n.length=0)}}(e)}const c=[];class CompiledFont{constructor(e){this.constructor===CompiledFont&&(0,a.unreachable)("Cannot initialize CompiledFont.");this.fontMatrix=e;this.compiledGlyphs=Object.create(null);this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(e){const{charCode:t,glyphId:r}=lookupCmap(this.cmap,e);let a=this.compiledGlyphs[r];if(!a)try{a=this.compileGlyph(this.glyphs[r],r);this.compiledGlyphs[r]=a}catch(e){this.compiledGlyphs[r]=c;void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=r);throw e}void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=r);return a}compileGlyph(e,t){if(!e||0===e.length||14===e[0])return c;let r=this.fontMatrix;if(this.isCFFCIDFont){const e=this.fdSelect.getFDIndex(t);if(e>=0&&e{Object.defineProperty(t,"__esModule",{value:!0});t.OpenTypeFileBuilder=void 0;var a=r(9),i=r(2);function writeInt16(e,t,r){e[t]=r>>8&255;e[t+1]=255&r}function writeInt32(e,t,r){e[t]=r>>24&255;e[t+1]=r>>16&255;e[t+2]=r>>8&255;e[t+3]=255&r}function writeData(e,t,r){if(r instanceof Uint8Array)e.set(r,t);else if("string"==typeof r)for(let a=0,i=r.length;ar;){r<<=1;a++}const i=r*t;return{range:i,entry:a,rangeShift:t*e-i}}toArray(){let e=this.sfnt;const t=this.tables,r=Object.keys(t);r.sort();const n=r.length;let s,o,c,l,h,u=12+16*n;const d=[u];for(s=0;s>>0;d.push(u)}const f=new Uint8Array(u);for(s=0;s>>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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Type1Font=void 0;var a=r(35),i=r(38),n=r(9),s=r(10),o=r(47),c=r(2);function findBlock(e,t,r){const a=e.length,i=t.length,s=a-i;let o=r,c=!1;for(;o=i){o+=r;for(;o=0&&(a[e]=n)}}return(0,i.type1FontGlyphMapping)(e,a,r)}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 r=0,a=e.length;r0;e--)t[e]-=t[e-1];g.setByName(e,t)}s.topDict.privateDict=g;const m=new a.CFFIndex;for(u=0,d=i.length;u{Object.defineProperty(t,"__esModule",{value:!0});t.Type1Parser=void 0;var a=r(37),i=r(9),n=r(10),s=r(2);const o=function Type1CharStringClosure(){const e=[4],t=[5],r=[6],a=[7],i=[8],n=[12,35],o=[14],c=[21],l=[22],h=[30],u=[31];return class Type1CharString{constructor(){this.width=0;this.lsb=0;this.flexing=!1;this.output=[];this.stack=[]}convert(d,f,g){const p=d.length;let m,b,y,w=!1;for(let S=0;Sa)return!0;const i=a-e;for(let e=i;e>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.apply(this.output,t);r?this.stack.splice(i,e):this.stack.length=0;return!1}}}(),c=function Type1ParserClosure(){function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,r){if(r>=e.length)return new Uint8Array(0);let a,i,n=0|t;for(a=0;a>8;n=52845*(t+n)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}return class Type1Parser{constructor(e,t,r){if(t){const t=e.getBytes(),r=!((isHexDigit(t[0])||(0,i.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 n.Stream(r?decrypt(t,55665,4):function decryptAscii(e,t,r){let a=0|t;const i=e.length,n=new Uint8Array(i>>>1);let s,o;for(s=0,o=0;s>8;a=52845*(e+a)+22719&65535}}return n.slice(r,o)}(t,55665,4))}this.seacAnalysisEnabled=!!r;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()}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,i.isWhiteSpace)(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let r="";do{r+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!(0,i.isWhiteSpace)(t)&&!isSpecial(t));return r}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,r=[],a=[],i=Object.create(null);i.lenIV=4;const n={subrs:[],charstrings:[],properties:{privateData:i}};let s,c,l,h,u;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();c=this.readInt();this.getToken();l=c>0?t.getBytes(c):new Uint8Array(0);h=n.properties.privateData.lenIV;u=this.readCharStrings(l,h);this.nextChar();s=this.getToken();"noaccess"===s&&this.getToken();a.push({glyph:e,encoded:u})}break;case"Subrs":this.readInt();this.getToken();for(;"dup"===this.getToken();){const e=this.readInt();c=this.readInt();this.getToken();l=c>0?t.getBytes(c):new Uint8Array(0);h=n.properties.privateData.lenIV;u=this.readCharStrings(l,h);this.nextChar();s=this.getToken();"noaccess"===s&&this.getToken();r[e]=u}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":n.properties.privateData[s]=this.readNumberArray();break;case"StdHW":case"StdVW":n.properties.privateData[s]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":case"ExpansionFactor":n.properties.privateData[s]=this.readNumber();break;case"ForceBold":n.properties.privateData[s]=this.readBoolean()}}for(let t=0;t-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=s.width)}}return n}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t){t=this.getToken();switch(t){case"FontMatrix":const r=this.readNumberArray();e.fontMatrix=r;break;case"Encoding":const i=this.getToken();let n;if(/^\d+$/.test(i)){n=[];const e=0|parseInt(i,10);this.getToken();for(let r=0;r{Object.defineProperty(t,"__esModule",{value:!0});t.getTilingPatternIR=function getTilingPatternIR(e,t,r){const i=t.getArray("Matrix"),n=a.Util.normalizeRect(t.getArray("BBox")),s=t.get("XStep"),o=t.get("YStep"),c=t.get("PaintType"),l=t.get("TilingType");if(n[2]-n[0]==0||n[3]-n[1]==0)throw new a.FormatError(`Invalid getTilingPatternIR /BBox array: [${n}].`);return["TilingPattern",r,e,i,n,s,o,c,l]};t.Pattern=void 0;var a=r(2),i=r(14),n=r(5),s=r(9);const o=2,c=3,l=4,h=5,u=6,d=7;t.Pattern=class Pattern{constructor(){(0,a.unreachable)("Cannot initialize Pattern.")}static parseShading(e,t,r,i,f,g,p){const m=(0,n.isStream)(e)?e.dict:e,b=m.get("ShadingType");try{switch(b){case o:case c:return new RadialAxialShading(m,t,r,i,g,p);case l:case h:case u:case d:return new MeshShading(e,t,r,i,g,p);default:throw new a.FormatError("Unsupported ShadingType: "+b)}}catch(e){if(e instanceof s.MissingDataException)throw e;f.send("UnsupportedFeature",{featureId:a.UNSUPPORTED_FEATURES.shadingPattern});(0,a.warn)(e);return new DummyShading}}};class BaseShading{static get SMALL_NUMBER(){return(0,a.shadow)(this,"SMALL_NUMBER",1e-6)}constructor(){this.constructor===BaseShading&&(0,a.unreachable)("Cannot initialize BaseShading.")}getIR(){(0,a.unreachable)("Abstract method `getIR` called.")}}class RadialAxialShading extends BaseShading{constructor(e,t,r,n,s,o){super();this.matrix=t;this.coordsArr=e.getArray("Coords");this.shadingType=e.get("ShadingType");const l=i.ColorSpace.parse({cs:e.getRaw("ColorSpace")||e.getRaw("CS"),xref:r,resources:n,pdfFunctionFactory:s,localColorSpaceCache:o}),h=e.getArray("BBox");Array.isArray(h)&&4===h.length?this.bbox=a.Util.normalizeRect(h):this.bbox=null;let u=0,d=1;if(e.has("Domain")){const t=e.getArray("Domain");u=t[0];d=t[1]}let f=!1,g=!1;if(e.has("Extend")){const t=e.getArray("Extend");f=t[0];g=t[1]}if(!(this.shadingType!==c||f&&g)){const[e,t,r,i,n,s]=this.coordsArr,o=Math.hypot(e-i,t-n);r<=s+o&&s<=r+o&&(0,a.warn)("Unsupported radial gradient.")}this.extendStart=f;this.extendEnd=g;const p=e.getRaw("Function"),m=s.createFromArray(p),b=(d-u)/10,y=this.colorStops=[];if(u>=d||b<=0){(0,a.info)("Bad shading domain.");return}const w=new Float32Array(l.numComps),S=new Float32Array(1);let x;for(let e=0;e<=10;e++){S[0]=u+e*b;m(S,0,w,0);x=l.getRgb(w,0);const t=a.Util.makeHexColor(x[0],x[1],x[2]);y.push([e/10,t])}let k="transparent";if(e.has("Background")){x=l.getRgb(e.get("Background"),0);k=a.Util.makeHexColor(x[0],x[1],x[2])}if(!f){y.unshift([0,k]);y[1][0]+=BaseShading.SMALL_NUMBER}if(!g){y[y.length-1][0]-=BaseShading.SMALL_NUMBER;y.push([1,k])}this.colorStops=y}getIR(){const e=this.coordsArr,t=this.shadingType;let r,i,n,s,l;if(t===o){i=[e[0],e[1]];n=[e[2],e[3]];s=null;l=null;r="axial"}else if(t===c){i=[e[0],e[1]];n=[e[3],e[4]];s=e[2];l=e[5];r="radial"}else(0,a.unreachable)(`getPattern type unknown: ${t}`);return["RadialAxial",r,this.bbox,this.colorStops,i,n,s,l,this.matrix]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const r=t.numComps;this.tmpCompsBuf=new Float32Array(r);const a=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(a):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)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,r=this.bufferLength;if(32===e){if(0===r)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<>r)>>>0}if(8===e&&0===r)return this.stream.getByte();for(;r>r}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const e=this.context.bitsPerCoordinate,t=this.readBits(e),r=this.readBits(e),a=this.context.decode,i=e<32?1/((1<n?n:e;t=t>s?s:t;r=r{Object.defineProperty(t,"__esModule",{value:!0});t.isPDFFunction=function isPDFFunction(e){let t;if("object"!=typeof e)return!1;if((0,a.isDict)(e))t=e;else{if(!(0,a.isStream)(e))return!1;t=e.dict}return t.has("FunctionType")};t.PostScriptEvaluator=t.PostScriptCompiler=t.PDFFunctionFactory=void 0;var a=r(5),i=r(2),n=r(50),s=r(51);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 r=o.parse({xref:this.xref,isEvalSupported:this.isEvalSupported,fn:e instanceof a.Ref?this.xref.fetch(e):e});this._cache(e,r);return r}createFromArray(e){const t=this.getCached(e);if(t)return t;const r=o.parseArray({xref:this.xref,isEvalSupported:this.isEvalSupported,fnObj:e instanceof a.Ref?this.xref.fetch(e):e});this._cache(e,r);return r}getCached(e){let t;e instanceof a.Ref?t=e:e instanceof a.Dict?t=e.objId:(0,a.isStream)(e)&&(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 r;e instanceof a.Ref?r=e:e instanceof a.Dict?r=e.objId:(0,a.isStream)(e)&&(r=e.dict&&e.dict.objId);r&&this._localFunctionCache.set(null,r,t)}get _localFunctionCache(){return(0,i.shadow)(this,"_localFunctionCache",new s.LocalFunctionCache)}};function toNumberArray(e){if(!Array.isArray(e))return null;const t=e.length;for(let r=0;r>c)*h;l&=(1<r?e=r:e0&&(d=i[u-1]);let f=a[1];u>1,c=a.length>>1,h=new PostScriptEvaluator(s),u=Object.create(null);let d=8192;const f=new Float32Array(c);return function constructPostScriptFromIRResult(e,t,r,a){let i,s,l="";const g=f;for(i=0;ie&&(s=e)}m[i]=s}if(d>0){d--;u[l]=m}r.set(m,a)}}}}();const c=function PostScriptStackClosure(){return class PostScriptStack{constructor(e){this.stack=e?Array.prototype.slice.call(e,0):[]}push(e){if(this.stack.length>=100)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>=100)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let r=t.length-e,a=e-1;a>=0;a--,r++)t.push(t[r])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const r=this.stack,a=r.length-e,i=r.length-1,n=a+(t-Math.floor(t/e)*e);for(let e=a,t=i;e0?t.push(o<>l);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":l=t.pop();o=t.pop();t.push(o/l);break;case"dup":t.copy(1);break;case"eq":l=t.pop();o=t.pop();t.push(o===l);break;case"exch":t.roll(2,1);break;case"exp":l=t.pop();o=t.pop();t.push(o**l);break;case"false":t.push(!1);break;case"floor":o=t.pop();t.push(Math.floor(o));break;case"ge":l=t.pop();o=t.pop();t.push(o>=l);break;case"gt":l=t.pop();o=t.pop();t.push(o>l);break;case"idiv":l=t.pop();o=t.pop();t.push(o/l|0);break;case"index":o=t.pop();t.index(o);break;case"le":l=t.pop();o=t.pop();t.push(o<=l);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":l=t.pop();o=t.pop();t.push(o=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}return class PostScriptCompiler{compile(e,t,r){const a=[],i=[],n=t.length>>1,s=r.length>>1;let o,c,l,h,u,d,f,g,p=0;for(let e=0;et.min){o.unshift("Math.max(",n,", ");o.push(")")}if(s{Object.defineProperty(t,"__esModule",{value:!0});t.PostScriptParser=t.PostScriptLexer=void 0;var a=r(2),i=r(5),n=r(9);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 a.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 a.FormatError("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const r=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]=r;this.operators[e+1]="jz"}}}};const s={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5},o=function PostScriptTokenClosure(){const e=Object.create(null);class PostScriptToken{constructor(e,t){this.type=e;this.value=t}static getOperator(t){const r=e[t];return r||(e[t]=new PostScriptToken(s.OPERATOR,t))}static get LBRACE(){return(0,a.shadow)(this,"LBRACE",new PostScriptToken(s.LBRACE,"{"))}static get RBRACE(){return(0,a.shadow)(this,"RBRACE",new PostScriptToken(s.RBRACE,"}"))}static get IF(){return(0,a.shadow)(this,"IF",new PostScriptToken(s.IF,"IF"))}static get IFELSE(){return(0,a.shadow)(this,"IFELSE",new PostScriptToken(s.IFELSE,"IFELSE"))}}return PostScriptToken}();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 i.EOF;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!(0,n.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 o(s.NUMBER,this.getNumber());case 123:this.nextChar();return o.LBRACE;case 125:this.nextChar();return o.RBRACE}const r=this.strBuf;r.length=0;r[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)r.push(String.fromCharCode(t));const a=r.join("");switch(a.toLowerCase()){case"if":return o.IF;case"ifelse":return o.IFELSE;default:return o.getOperator(a)}}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 r=parseFloat(t.join(""));if(isNaN(r))throw new a.FormatError(`Invalid floating point number: ${r}`);return r}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.LocalTilingPatternCache=t.LocalImageCache=t.LocalGStateCache=t.LocalFunctionCache=t.LocalColorSpaceCache=t.GlobalImageCache=void 0;var a=r(2),i=r(5);class BaseLocalCache{constructor(e){this.constructor===BaseLocalCache&&(0,a.unreachable)("Cannot initialize BaseLocalCache.");if(!e||!e.onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new i.RefSetCache}getByName(e){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,r){(0,a.unreachable)("Abstract method `set` called.")}}t.LocalImageCache=class LocalImageCache extends BaseLocalCache{set(e,t=null,r){if(!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,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}};t.LocalColorSpaceCache=class LocalColorSpaceCache extends BaseLocalCache{set(e=null,t=null,r){if(!e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;e&&this._nameRefMap.set(e,t);this._imageCache.put(t,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}};t.LocalFunctionCache=class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}getByName(e){(0,a.unreachable)("Should not call `getByName` method.")}set(e=null,t,r){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,r)}};t.LocalGStateCache=class LocalGStateCache extends BaseLocalCache{set(e,t=null,r){if(!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,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}};t.LocalTilingPatternCache=class LocalTilingPatternCache extends BaseLocalCache{set(e,t=null,r){if(!e)throw new Error('LocalTilingPatternCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,r)}else this._imageMap.has(e)||this._imageMap.set(e,r)}};class GlobalImageCache{static get NUM_PAGES_THRESHOLD(){return(0,a.shadow)(this,"NUM_PAGES_THRESHOLD",2)}static get MIN_IMAGES_TO_CACHE(){return(0,a.shadow)(this,"MIN_IMAGES_TO_CACHE",10)}static get MAX_BYTE_SIZE(){return(0,a.shadow)(this,"MAX_BYTE_SIZE",4e7)}constructor(){this._refCache=new i.RefSetCache;this._imageCache=new i.RefSetCache}get _byteSize(){let e=0;this._imageCache.forEach((t=>{e+=t.byteSize}));return e}get _cacheLimitReached(){return!(this._imageCache.size{Object.defineProperty(t,"__esModule",{value:!0});t.bidi=function bidi(e,t,r){let c=!0;const l=e.length;if(0===l||r)return createBidiText(e,c,r);s.length=l;o.length=l;let h,u,d=0;for(h=0;h=0&&"ET"===o[e];--e)o[e]="EN";for(let e=h+1;e0&&(t=o[h-1]);let r=m;e+1w&&isOdd(w)&&(x=w)}for(w=S;w>=x;--w){let e=-1;for(h=0,u=f.length;h=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"!==e||(s[h]="")}return createBidiText(s.join(""),c)};var a=r(2);const i=["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"],n=["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,r){let a,i;for(a=t,i=e.length;a{Object.defineProperty(t,"__esModule",{value:!0});t.getMetrics=void 0;var a=r(9);const i=(0,a.getLookupTableFactory)((function(e){e.Courier=600;e["Courier-Bold"]=600;e["Courier-BoldOblique"]=600;e["Courier-Oblique"]=600;e.Helvetica=(0,a.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,a.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,a.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,a.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,a.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,a.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,a.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,a.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,a.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,a.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=i},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.MurmurHash3_64=void 0;var a=r(2);const i=3285377520,n=4294901760,s=65535;t.MurmurHash3_64=class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:i;this.h2=e?4294967295&e:i}update(e){let t,r;if((0,a.isString)(e)){t=new Uint8Array(2*e.length);r=0;for(let a=0,i=e.length;a>>8;t[r++]=255&i}}}else{if(!(0,a.isArrayBuffer)(e))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");t=e.slice();r=t.byteLength}const i=r>>2,o=r-4*i,c=new Uint32Array(t.buffer,0,i);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>>17;l=l*g&n|l*m&s;u^=l;u=u<<13|u>>>19;u=5*u+3864292196}else{h=c[e];h=h*f&n|h*p&s;h=h<<15|h>>>17;h=h*g&n|h*m&s;d^=h;d=d<<13|d>>>19;d=5*d+3864292196}l=0;switch(o){case 3:l^=t[4*i+2]<<16;case 2:l^=t[4*i+1]<<8;case 1:l^=t[4*i];l=l*f&n|l*p&s;l=l<<15|l>>>17;l=l*g&n|l*m&s;1&i?u^=l:d^=l}this.h1=u;this.h2=d}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&n|36045*e&s;t=4283543511*t&n|(2950163797*(t<<16|e>>>16)&n)>>>16;e^=t>>>1;e=444984403*e&n|60499*e&s;t=3301882366*t&n|(3120437893*(t<<16|e>>>16)&n)>>>16;e^=t>>>1;const r=(e>>>0).toString(16),a=(t>>>0).toString(16);return r.padStart(8,"0")+a.padStart(8,"0")}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.OperatorList=void 0;var a=r(2);function addState(e,t,r,a,i){let n=e;for(let e=0,r=t.length-1;e1e3){h=Math.max(h,f);g+=d+2;f=0;d=0}u.push({transform:t,x:f,y:g,w:r.width,h:r.height});f+=r.width+2;d=Math.max(d,r.height)}const p=Math.max(h,f)+1,m=g+d+1,b=new Uint8ClampedArray(p*m*4),y=p<<2;for(let e=0;e=0;){t[n-4]=t[n];t[n-3]=t[n+1];t[n-2]=t[n+2];t[n-1]=t[n+3];t[n+r]=t[n+r-4];t[n+r+1]=t[n+r-3];t[n+r+2]=t[n+r-2];t[n+r+3]=t[n+r-1];n-=y}}r.splice(s,4*l,a.OPS.paintInlineImageXObjectGroup);i.splice(s,4*l,[{width:p,height:m,kind:a.ImageKind.RGBA_32BPP,data:b},u]);return s+1}));addState(i,[a.OPS.save,a.OPS.transform,a.OPS.paintImageMaskXObject,a.OPS.restore],null,(function iterateImageMaskGroup(e,t){const r=e.fnArray,i=(t-(e.iCurr-3))%4;switch(i){case 0:return r[t]===a.OPS.save;case 1:return r[t]===a.OPS.transform;case 2:return r[t]===a.OPS.paintImageMaskXObject;case 3:return r[t]===a.OPS.restore}throw new Error(`iterateImageMaskGroup - invalid pos: ${i}`)}),(function foundImageMaskGroup(e,t){const r=e.fnArray,i=e.argsArray,n=e.iCurr,s=n-3,o=n-2,c=n-1;let l=Math.floor((t-s)/4);l=function handlePaintSolidColorImageMask(e,t,r,i){const n=e+2;let s;for(s=0;s=4&&r[n-4]===r[s]&&r[n-3]===r[o]&&r[n-2]===r[c]&&r[n-1]===r[l]&&a[n-4][0]===h&&a[n-4][1]===u){d++;f-=5}let g=f+4;for(let e=1;e=r)break}a=(a||i)[e[t]];if(a&&!Array.isArray(a)){s.iCurr=t;t++;if(!a.checkFn||(0,a.checkFn)(s)){n=a;a=null}else a=null}else t++}this.state=a;this.match=n;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,a.shadow)(this,"CHUNK_SIZE",1e3)}static get CHUNK_SIZE_ABOUT(){return(0,a.shadow)(this,"CHUNK_SIZE_ABOUT",OperatorList.CHUNK_SIZE-5)}constructor(e,t){this._streamSink=t;this.fnArray=[];this.argsArray=[];this.optimizer=t&&"oplist"!==e?new QueueOptimizer(this):new NullOptimizer(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===a.OPS.restore||e===a.OPS.endText))&&this.flush()}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(a.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,r=e.length;t{Object.defineProperty(t,"__esModule",{value:!0});t.PDFImage=void 0;var a=r(2),i=r(5),n=r(14),s=r(19),o=r(27),c=r(30);function decodeAndClamp(e,t,r,a){(e=t+e*r)<0?e=0:e>a&&(e=a);return e}function resizeImageMask(e,t,r,a,i,n){const s=i*n;let o;o=t<=8?new Uint8Array(s):t<=16?new Uint16Array(s):new Uint32Array(s);const c=r/i,l=a/n;let h,u,d,f,g=0;const p=new Uint16Array(i),m=r;for(h=0;h0&&Number.isInteger(r.height)&&r.height>0&&(r.width!==p||r.height!==m)){(0,a.warn)("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");p=r.width;m=r.height}if(p<1||m<1)throw new a.FormatError(`Invalid image width: ${p} or height: ${m}`);this.width=p;this.height=m;this.interpolate=f.get("Interpolate","I")||!1;this.imageMask=f.get("ImageMask","IM")||!1;this.matte=f.get("Matte")||!1;let b=r.bitsPerComponent;if(!b){b=f.get("BitsPerComponent","BPC");if(!b){if(!this.imageMask)throw new a.FormatError(`Bits per component missing in image: ${this.imageMask}`);b=1}}this.bpc=b;if(!this.imageMask){let o=f.getRaw("ColorSpace")||f.getRaw("CS");if(!o){(0,a.info)("JPX images (which do not require color spaces)");switch(r.numComps){case 1:o=i.Name.get("DeviceGray");break;case 3:o=i.Name.get("DeviceRGB");break;case 4:o=i.Name.get("DeviceCMYK");break;default:throw new Error(`JPX images with ${r.numComps} color components not supported.`)}}this.colorSpace=n.ColorSpace.parse({cs:o,xref:e,resources:s?t:null,pdfFunctionFactory:u,localColorSpaceCache:d});this.numComps=this.colorSpace.numComps}this.decode=f.getArray("Decode","D");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,b)||h&&!n.ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<>3)*r,s=e.byteLength;let o,c;if(!a||i&&!(n===s))if(i){o=new Uint8ClampedArray(n);o.set(e);for(c=s;c>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>=1}}}}else{let r=0;u=0;for(d=0,h=n;d>a;i<0?i=0:i>l&&(i=l);s[d]=i;u&=(1<o[a+1]){t=255;break}}c[u]=t}}}if(c)for(u=0,f=3,d=t*i;u>3;let d;if(!e){let e;"DeviceGray"===this.colorSpace.name&&1===h?e=a.ImageKind.GRAYSCALE_1BPP:"DeviceRGB"!==this.colorSpace.name||8!==h||this.needsDecode||(e=a.ImageKind.RGB_24BPP);if(e&&!this.smask&&!this.mask&&t===c&&r===l){i.kind=e;d=this.getImageBytes(l*u);if(this.image instanceof s.DecodeStream)i.data=d;else{const e=new Uint8ClampedArray(d.length);e.set(d);i.data=e}if(this.needsDecode){(0,a.assert)(e===a.ImageKind.GRAYSCALE_1BPP,"PDFImage.createImageData: The image must be grayscale.");const t=i.data;for(let e=0,r=t.length;e>3,o=this.getImageBytes(i*s),c=this.getComponents(o);let l,h;if(1===n){h=r*i;if(this.needsDecode)for(l=0;l{Object.defineProperty(t,"__esModule",{value:!0});t.Catalog=void 0;var a=r(5),i=r(9),n=r(2),s=r(58),o=r(14),c=r(59),l=r(51),h=r(60),u=r(62);function fetchDestination(e){e instanceof a.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(!(0,a.isDict)(this._catDict))throw new n.FormatError("Catalog object is not a dictionary.");this.fontCache=new a.RefSetCache;this.builtInCMapCache=new Map;this.globalImageCache=new l.GlobalImageCache;this.pageKidsCountCache=new a.RefSetCache;this.pageIndexCache=new a.RefSetCache;this.nonBlendModesSet=new a.RefSet}get version(){const e=this._catDict.get("Version");return(0,a.isName)(e)?(0,n.shadow)(this,"version",e.name):(0,n.shadow)(this,"version",null)}get collection(){let e=null;try{const t=this._catDict.get("Collection");(0,a.isDict)(t)&&t.size>0&&(e=t)}catch(e){if(e instanceof i.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");(0,a.isDict)(t)&&t.size>0&&(e=t)}catch(e){if(e instanceof i.MissingDataException)throw e;(0,n.info)("Cannot fetch AcroForm entry; assuming no forms are present.")}return(0,n.shadow)(this,"acroForm",e)}get metadata(){const e=this._catDict.getRaw("Metadata");if(!(0,a.isRef)(e))return(0,n.shadow)(this,"metadata",null);const t=!(this.xref.encrypt&&this.xref.encrypt.encryptMetadata),r=this.xref.fetch(e,t);let s=null;if((0,a.isStream)(r)&&(0,a.isDict)(r.dict)){const e=r.dict.get("Type"),t=r.dict.get("Subtype");if((0,a.isName)(e,"Metadata")&&(0,a.isName)(t,"XML"))try{const e=(0,n.stringToUTF8String)(r.getString());e&&(s=new h.MetadataParser(e).serializable)}catch(e){if(e instanceof i.MissingDataException)throw e;(0,n.info)("Skipping invalid metadata.")}}return(0,n.shadow)(this,"metadata",s)}get markInfo(){let e=null;try{e=this._readMarkInfo()}catch(e){if(e instanceof i.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(!(0,a.isDict)(e))return null;const t=Object.assign(Object.create(null),{Marked:!1,UserProperties:!1,Suspects:!1});for(const r in t){if(!e.has(r))continue;const a=e.get(r);(0,n.isBool)(a)&&(t[r]=a)}return t}get structTreeRoot(){let e=null;try{e=this._readStructTreeRoot()}catch(e){if(e instanceof i.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(!(0,a.isDict)(e))return null;const t=new u.StructTreeRoot(e);t.init();return t}get toplevelPagesDict(){const e=this._catDict.get("Pages");if(!(0,a.isDict)(e))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 i.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(!(0,a.isDict)(e))return null;e=e.getRaw("First");if(!(0,a.isRef)(e))return null;const t={items:[]},r=[{obj:e,parent:t}],i=new a.RefSet;i.put(e);const s=this.xref,c=new Uint8ClampedArray(3);for(;r.length>0;){const t=r.shift(),l=s.fetchIfRef(t.obj);if(null===l)continue;if(!l.has("Title"))throw new n.FormatError("Invalid outline item encountered.");const h={url:null,dest:null};Catalog.parseDestDictionary({destDict:l,resultObj:h,docBaseUrl:this.pdfManager.docBaseUrl});const u=l.get("Title"),d=l.get("F")||0,f=l.getArray("C"),g=l.get("Count");let p=c;!Array.isArray(f)||3!==f.length||0===f[0]&&0===f[1]&&0===f[2]||(p=o.ColorSpace.singletons.rgb.getRgb(f,0));const m={dest:h.dest,url:h.url,unsafeUrl:h.unsafeUrl,newWindow:h.newWindow,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=l.getRaw("First");if((0,a.isRef)(e)&&!i.has(e)){r.push({obj:e,parent:m});i.put(e)}e=l.getRaw("Next");if((0,a.isRef)(e)&&!i.has(e)){r.push({obj:e,parent:t.parent});i.put(e)}}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this._readPermissions()}catch(e){if(e instanceof i.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(!(0,a.isDict)(e))return null;let t=e.get("P");if(!(0,n.isNum)(t))return null;t+=2**32;const r=[];for(const e in n.PermissionFlag){const a=n.PermissionFlag[e];t&a&&r.push(a)}return r}get optionalContentConfig(){let e=null;try{const t=this._catDict.get("OCProperties");if(!t)return(0,n.shadow)(this,"optionalContentConfig",null);const r=t.get("D");if(!r)return(0,n.shadow)(this,"optionalContentConfig",null);const i=t.get("OCGs");if(!Array.isArray(i))return(0,n.shadow)(this,"optionalContentConfig",null);const s=[],o=[];for(const e of i){if(!(0,a.isRef)(e))continue;o.push(e);const t=this.xref.fetchIfRef(e);s.push({id:e.toString(),name:(0,n.isString)(t.get("Name"))?(0,n.stringToPDFString)(t.get("Name")):null,intent:(0,n.isString)(t.get("Intent"))?(0,n.stringToPDFString)(t.get("Intent")):null})}e=this._readOptionalContentConfig(r,o);e.groups=s}catch(e){if(e instanceof i.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 r=[];if(Array.isArray(e))for(const i of e)(0,a.isRef)(i)&&t.includes(i)&&r.push(i.toString());return r}function parseOrder(e,r=0){if(!Array.isArray(e))return null;const n=[];for(const s of e){if((0,a.isRef)(s)&&t.includes(s)){i.put(s);n.push(s.toString());continue}const e=parseNestedOrder(s,r);e&&n.push(e)}if(r>0)return n;const s=[];for(const e of t)i.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 a=r.fetchIfRef(e);if(!Array.isArray(a))return null;const i=r.fetchIfRef(a[0]);if("string"!=typeof i)return null;const o=parseOrder(a.slice(1),t);return o&&o.length?{name:(0,n.stringToPDFString)(i),order:o}:null}const r=this.xref,i=new a.RefSet,s=10;return{name:(0,n.isString)(e.get("Name"))?(0,n.stringToPDFString)(e.get("Name")):null,creator:(0,n.isString)(e.get("Creator"))?(0,n.stringToPDFString)(e.get("Creator")):null,baseState:(0,a.isName)(e.get("BaseState"))?e.get("BaseState").name:null,on:parseOnOff(e.get("ON")),off:parseOnOff(e.get("OFF")),order:parseOrder(e.get("Order")),groups:null}}get numPages(){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,"numPages",e)}get destinations(){const e=this._readDests(),t=Object.create(null);if(e instanceof s.NameTree)for(const[r,a]of e.getAll()){const e=fetchDestination(a);e&&(t[r]=e)}else e instanceof a.Dict&&e.forEach((function(e,r){const a=fetchDestination(r);a&&(t[e]=a)}));return(0,n.shadow)(this,"destinations",t)}getDestination(e){const t=this._readDests();if(t instanceof s.NameTree){const r=fetchDestination(t.get(e));if(r)return r;const a=this.destinations[e];if(a){(0,n.warn)(`Found "${e}" at an incorrect position in the NameTree.`);return a}}else if(t instanceof a.Dict){const r=fetchDestination(t.get(e));if(r)return r}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 i.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 r=null,o="";const c=new s.NumberTree(e,this.xref).getAll();let l="",h=1;for(let e=0,s=this.numPages;e=1))throw new n.FormatError("Invalid start in PageLabel dictionary.");h=e}else h=1}switch(r){case"D":l=h;break;case"R":case"r":l=(0,i.toRomanNumerals)(h,"r"===r);break;case"A":case"a":const e=26,t=65,a=97,s="a"===r?a:t,o=h-1,c=String.fromCharCode(s+o%e),u=[];for(let t=0,r=o/e|0;t<=r;t++)u.push(c);l=u.join("");break;default:if(r)throw new n.FormatError(`Invalid style "${r}" in PageLabel dictionary.`);l=""}t[e]=o+l;h++}return t}get pageLayout(){const e=this._catDict.get("PageLayout");let t="";if((0,a.isName)(e))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((0,a.isName)(e))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={HideToolbar:n.isBool,HideMenubar:n.isBool,HideWindowUI:n.isBool,FitWindow:n.isBool,CenterWindow:n.isBool,DisplayDocTitle:n.isBool,NonFullScreenPageMode:a.isName,Direction:a.isName,ViewArea:a.isName,ViewClip:a.isName,PrintArea:a.isName,PrintClip:a.isName,PrintScaling:a.isName,Duplex:a.isName,PickTrayByPDFSize:n.isBool,PrintPageRange:Array.isArray,NumCopies:Number.isInteger},t=this._catDict.get("ViewerPreferences");let r=null;if((0,a.isDict)(t))for(const a in e){if(!t.has(a))continue;const i=t.get(a);if(!e[a](i)){(0,n.info)(`Bad value in ViewerPreferences for "${a}".`);continue}let s;switch(a){case"NonFullScreenPageMode":switch(i.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":s=i.name;break;default:s="UseNone"}break;case"Direction":switch(i.name){case"L2R":case"R2L":s=i.name;break;default:s="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":switch(i.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":s=i.name;break;default:s="CropBox"}break;case"PrintScaling":switch(i.name){case"None":case"AppDefault":s=i.name;break;default:s="AppDefault"}break;case"Duplex":switch(i.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":s=i.name;break;default:s="None"}break;case"PrintPageRange":if(i.length%2!=0)break;i.every(((e,t,r)=>Number.isInteger(e)&&e>0&&(0===t||e>=r[t-1])&&e<=this.numPages))&&(s=i);break;case"NumCopies":i>0&&(s=i);break;default:if("boolean"!=typeof i)throw new n.FormatError(`viewerPreferences - expected a boolean value for: ${a}`);s=i}if(void 0!==s){r||(r=Object.create(null));r[a]=s}else(0,n.info)(`Bad value in ViewerPreferences for "${a}".`)}return(0,n.shadow)(this,"viewerPreferences",r)}get openAction(){const e=this._catDict.get("OpenAction"),t=Object.create(null);if((0,a.isDict)(e)){const r=new a.Dict(this.xref);r.set("A",e);const i={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:r,resultObj:i});Array.isArray(i.dest)?t.dest=i.dest:i.action&&(t.action=i.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 a.Dict&&e.has("EmbeddedFiles")){const r=new s.NameTree(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,a]of r.getAll()){const r=new c.FileSpec(a,this.xref);t||(t=Object.create(null));t[(0,n.stringToPDFString)(e)]=r.serializable}}return(0,n.shadow)(this,"attachments",t)}_collectJavaScript(){const e=this._catDict.get("Names");let t=null;function appendIfJavaScriptDict(e,r){if(!(r instanceof a.Dict))return;if(!(0,a.isName)(r.get("S"),"JavaScript"))return;let i=r.get("JS");if((0,a.isStream)(i))i=i.getString();else if("string"!=typeof i)return;null===t&&(t=new Map);t.set(e,(0,n.stringToPDFString)(i))}if(e instanceof a.Dict&&e.has("JavaScript")){const t=new s.NameTree(e.getRaw("JavaScript"),this.xref);for(const[e,r]of t.getAll())appendIfJavaScriptDict(e,r)}const r=this._catDict.get("OpenAction");r&&appendIfJavaScriptDict("OpenAction",r);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,i.collectActions)(this.xref,this._catDict,n.DocumentActionEventType);if(e){t||(t=Object.create(null));for(const[r,a]of e)r in t?t[r].push(a):t[r]=[a]}return(0,n.shadow)(this,"jsActions",t)}fontFallback(e,t){const r=[];this.fontCache.forEach((function(e){r.push(e)}));return Promise.all(r).then((r=>{for(const a of r)if(a.loadedName===e){a.fallback(t);return}}))}cleanup(e=!1){(0,a.clearPrimitiveCaches)();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.nonBlendModesSet.clear();const t=[];this.fontCache.forEach((function(e){t.push(e)}));return Promise.all(t).then((e=>{for(const{dict:t}of e)delete t.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear()}))}getPageDict(e){const t=(0,n.createPromiseCapability)(),r=[this._catDict.getRaw("Pages")],i=new a.RefSet,s=this.xref,o=this.pageKidsCountCache;let c,l=0;!function next(){for(;r.length;){const h=r.pop();if((0,a.isRef)(h)){c=o.get(h);if(c>0&&l+c=0){const t=h.objId;t&&!o.has(t)&&o.put(t,c);if(l+c<=e){l+=c;continue}}const u=h.get("Kids");if(!Array.isArray(u)){if((0,a.isName)(h.get("Type"),"Page")||!h.has("Type")&&h.has("Contents")){if(l===e){t.resolve([h,null]);return}l++;continue}t.reject(new n.FormatError("Page dictionary kids object is not an array."));return}for(let e=u.length-1;e>=0;e--)r.push(u[e])}t.reject(new Error(`Page index ${e} not found.`))}();return t.promise}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const r=this.xref;let i=0;const next=t=>function pagesBeforeRef(t){let i,s=0;return r.fetchAsync(t).then((function(r){if((0,a.isRefsEqual)(t,e)&&!(0,a.isDict)(r,"Page")&&(!(0,a.isDict)(r)||r.has("Type")||!r.has("Contents")))throw new n.FormatError("The reference does not point to a /Page dictionary.");if(!r)return null;if(!(0,a.isDict)(r))throw new n.FormatError("Node must be a dictionary.");i=r.getRaw("Parent");return r.getAsync("Parent")})).then((function(e){if(!e)return null;if(!(0,a.isDict)(e))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(let i=0,l=e.length;i{if(!t){this.pageIndexCache.put(e,i);return i}const[r,a]=t;i+=r;return next(a)}));return next(e)}static parseDestDictionary(e){const t=e.destDict;if(!(0,a.isDict)(t)){(0,n.warn)("parseDestDictionary: `destDict` must be a dictionary.");return}const r=e.resultObj;if("object"!=typeof r){(0,n.warn)("parseDestDictionary: `resultObj` must be an object.");return}const i=e.docBaseUrl||null;let s,o,c=t.get("A");if(!(0,a.isDict)(c))if(t.has("Dest"))c=t.get("Dest");else{c=t.get("AA");(0,a.isDict)(c)&&(c.has("D")?c=c.get("D"):c.has("U")&&(c=c.get("U")))}if((0,a.isDict)(c)){const e=c.get("S");if(!(0,a.isName)(e)){(0,n.warn)("parseDestDictionary: Invalid type in Action dictionary.");return}const t=e.name;switch(t){case"URI":s=c.get("URI");(0,a.isName)(s)?s="/"+s.name:(0,n.isString)(s)&&(s=function addDefaultProtocolToUrl(e){return e.startsWith("www.")?`http://${e}`:e}(s));break;case"GoTo":o=c.get("D");break;case"Launch":case"GoToR":const e=c.get("F");(0,a.isDict)(e)?s=e.get("F")||null:(0,n.isString)(e)&&(s=e);let i=c.get("D");if(i){(0,a.isName)(i)&&(i=i.name);if((0,n.isString)(s)){const e=s.split("#")[0];(0,n.isString)(i)?s=e+"#"+i:Array.isArray(i)&&(s=e+"#"+JSON.stringify(i))}}const l=c.get("NewWindow");(0,n.isBool)(l)&&(r.newWindow=l);break;case"Named":const h=c.get("N");(0,a.isName)(h)&&(r.action=h.name);break;case"JavaScript":const u=c.get("JS");let d;(0,a.isStream)(u)?d=u.getString():(0,n.isString)(u)&&(d=u);if(d){const e=new RegExp("^\\s*("+["app.launchURL","window.open"].join("|").split(".").join("\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec((0,n.stringToPDFString)(d));if(e&&e[2]){s=e[2];"true"===e[3]&&"app.launchURL"===e[1]&&(r.newWindow=!0);break}}default:if("JavaScript"===t||"ResetForm"===t||"SubmitForm"===t)break;(0,n.warn)(`parseDestDictionary - unsupported action: "${t}".`)}}else t.has("Dest")&&(o=t.get("Dest"));if((0,n.isString)(s)){s=function tryConvertUrlEncoding(e){try{return(0,n.stringToUTF8String)(e)}catch(t){return e}}(s);const e=(0,n.createValidAbsoluteUrl)(s,i);e&&(r.url=e.href);r.unsafeUrl=s}if(o){(0,a.isName)(o)&&(o=o.name);((0,n.isString)(o)||Array.isArray(o))&&(r.dest=o)}}}t.Catalog=Catalog},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NumberTree=t.NameTree=void 0;var a=r(2),i=r(5);class NameOrNumberTree{constructor(e,t,r){this.constructor===NameOrNumberTree&&(0,a.unreachable)("Cannot initialize NameOrNumberTree.");this.root=e;this.xref=t;this._type=r}getAll(){const e=new Map;if(!this.root)return e;const t=this.xref,r=new i.RefSet;r.put(this.root);const n=[this.root];for(;n.length>0;){const s=t.fetchIfRef(n.shift());if(!(0,i.isDict)(s))continue;if(s.has("Kids")){const e=s.get("Kids");for(let t=0,i=e.length;t10){(0,a.warn)(`Search depth limit reached for "${this._type}" tree.`);return null}const n=r.get("Kids");if(!Array.isArray(n))return null;let s=0,o=n.length-1;for(;s<=o;){const a=s+o>>1,i=t.fetchIfRef(n[a]).get("Limits");if(et.fetchIfRef(i[1]))){r=t.fetchIfRef(n[a]);break}s=a+1}}if(s>o)return null}const n=r.get(this._type);if(Array.isArray(n)){let r=0,a=n.length-2;for(;r<=a;){const i=r+a>>1,s=i+(1&i),o=t.fetchIfRef(n[s]);if(eo))return t.fetchIfRef(n[s+1]);r=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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FileSpec=void 0;var a=r(5),i=r(2);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&&(0,a.isDict)(e)){this.xref=t;this.root=e;e.has("FS")&&(this.fs=e.get("FS"));this.description=e.has("Desc")?(0,i.stringToPDFString)(e.get("Desc")):"";e.has("RF")&&(0,i.warn)("Related file specifications are not supported");this.contentAvailable=!0;if(!e.has("EF")){this.contentAvailable=!1;(0,i.warn)("Non-embedded file specifications are not supported")}}}get filename(){if(!this._filename&&this.root){const e=pickPlatformItem(this.root)||"unnamed";this._filename=(0,i.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&&(0,a.isStream)(t)?e=t.getBytes():(0,i.warn)("Embedded file specification points to non-existing/invalid content")}else(0,i.warn)("Embedded file specification does not have a content");return e}get serializable(){return{filename:this.filename,content:this.content}}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.MetadataParser=void 0;var a=r(61);t.MetadataParser=class MetadataParser{constructor(e){e=this._repair(e);const t=new a.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 r=t.replace(/\\([0-3])([0-7])([0-7])/g,(function(e,t,r,a){return String.fromCharCode(64*t+8*r+1*a)})).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.`)})),a=[];for(let e=0,t=r.length;e=32&&t<127&&60!==t&&62!==t&&38!==t?a.push(String.fromCharCode(t)):a.push("&#x"+(65536+t).toString(16).substring(1)+";")}return">"+a.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,r=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,r.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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XMLParserErrorCode=t.XMLParserBase=t.SimpleXMLParser=t.SimpleDOMNode=void 0;var a=r(9);const i={NoError:0,EndOfDocument:-1,UnterminatedCdat:-2,UnterminatedXmlDeclaration:-3,UnterminatedDoctypeDeclaration:-4,UnterminatedComment:-5,MalformedElement:-6,OutOfMemory:-7,UnterminatedAttributeValue:-8,UnterminatedElement:-9,ElementNeverBegun:-10};t.XMLParserErrorCode=i;function isWhitespace(e,t){const r=e[t];return" "===r||"\n"===r||"\r"===r||"\t"===r}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 r=[];let a=t;function skipWs(){for(;a"!==e[a]&&"/"!==e[a];)++a;const i=e.substring(t,a);skipWs();for(;a"!==e[a]&&"/"!==e[a]&&"?"!==e[a];){skipWs();let t="",i="";for(;a"!==e[r]&&"?"!==e[r]&&"/"!==e[r];)++r;const a=e.substring(t,r);!function skipWs(){for(;r"!==e[r+1]);)++r;return{name:a,value:e.substring(i,r),parsed:r-t}}parseXml(e){let t=0;for(;t",r);if(t<0){this.onError(i.UnterminatedElement);return}this.onEndElement(e.substring(r,t));r=t+1;break;case"?":++r;const a=this._parseProcessingInstruction(e,r);if("?>"!==e.substring(r+a.parsed,r+a.parsed+2)){this.onError(i.UnterminatedXmlDeclaration);return}this.onPi(a.name,a.value);r+=a.parsed+2;break;case"!":if("--"===e.substring(r+1,r+3)){t=e.indexOf("--\x3e",r+3);if(t<0){this.onError(i.UnterminatedComment);return}this.onComment(e.substring(r+3,t));r=t+3}else if("[CDATA["===e.substring(r+1,r+8)){t=e.indexOf("]]>",r+8);if(t<0){this.onError(i.UnterminatedCdat);return}this.onCdata(e.substring(r+8,t));r=t+3}else{if("DOCTYPE"!==e.substring(r+1,r+8)){this.onError(i.MalformedElement);return}{const a=e.indexOf("[",r+8);let n=!1;t=e.indexOf(">",r+8);if(t<0){this.onError(i.UnterminatedDoctypeDeclaration);return}if(a>0&&t>a){t=e.indexOf("]>",r+8);if(t<0){this.onError(i.UnterminatedDoctypeDeclaration);return}n=!0}const s=e.substring(r+8,t+(n?1:0));this.onDoctype(s);r=t+(n?2:1)}}break;default:const n=this._parseContent(e,r);if(null===n){this.onError(i.MalformedElement);return}let s=!1;if("/>"===e.substring(r+n.parsed,r+n.parsed+2))s=!0;else if(">"!==e.substring(r+n.parsed,r+n.parsed+1)){this.onError(i.UnterminatedElement);return}this.onBeginElement(n.name,n.attributes,s);r+=n.parsed+(s?2:1)}}else{for(;r0}searchNode(e,t){if(t>=e.length)return this;const r=e[t],a=[];let i=this;for(;;){if(r.name===i.nodeName){if(0!==r.pos){if(0===a.length)return null;{const[n]=a.pop();let s=0;for(const a of n.childNodes)if(r.name===a.nodeName){if(s===r.pos)return a.searchNode(e,t+1);s++}return i.searchNode(e,t+1)}}{const r=i.searchNode(e,t+1);if(null!==r)return r}}if(i.childNodes&&0!==i.childNodes.length){a.push([i,0]);i=i.childNodes[0]}else{if(0===a.length)return null;for(;0!==a.length;){const[e,t]=a.pop(),r=t+1;if(r");for(const t of this.childNodes)t.dump(e);e.push(``)}else this.nodeValue?e.push(`>${(0,a.encodeToXmlString)(this.nodeValue)}`):e.push("/>")}else e.push((0,a.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=i.NoError;this._hasAttributes=e;this._lowerCaseName=t}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=i.NoError;this.parseXml(e);if(this._errorCode!==i.NoError)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,r=e.length;t{Object.defineProperty(t,"__esModule",{value:!0});t.StructTreeRoot=t.StructTreePage=void 0;var a=r(5),i=r(2),n=r(58);const s="PAGE_CONTENT",o="STREAM_CONTENT",c="OBJECT",l="ELEMENT";t.StructTreeRoot=class StructTreeRoot{constructor(e){this.dict=e;this.roleMap=new Map}init(){this.readRoleMap()}readRoleMap(){const e=this.dict.get("RoleMap");(0,a.isDict)(e)&&e.forEach(((e,t)=>{(0,a.isName)(t)&&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=(0,a.isName)(e)?e.name:"",{root:r}=this.tree;return r.roleMap.has(t)?r.roleMap.get(t):t}parseKids(){let e=null;const t=this.dict.getRaw("Pg");(0,a.isRef)(t)&&(e=t.toString());const r=this.dict.get("K");if(Array.isArray(r))for(const t of r){const r=this.parseKid(e,t);r&&this.kids.push(r)}else{const t=this.parseKid(e,r);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:s,mcid:t,pageObjId:e});let r=null;(0,a.isRef)(t)?r=this.dict.xref.fetch(t):(0,a.isDict)(t)&&(r=t);if(!r)return null;const i=r.getRaw("Pg");(0,a.isRef)(i)&&(e=i.toString());const n=(0,a.isName)(r.get("Type"))?r.get("Type").name:null;return"MCR"===n?this.tree.pageDict.objId!==e?null:new StructElement({type:o,refObjId:(0,a.isRef)(r.getRaw("Stm"))?r.getRaw("Stm").toString():null,pageObjId:e,mcid:r.get("MCID")}):"OBJR"===n?this.tree.pageDict.objId!==e?null:new StructElement({type:c,refObjId:(0,a.isRef)(r.getRaw("Obj"))?r.getRaw("Obj").toString():null,pageObjId:e}):new StructElement({type:l,dict:r})}}class StructElement{constructor({type:e,dict:t=null,mcid:r=null,pageObjId:a=null,refObjId:i=null}){this.type=e;this.dict=t;this.mcid=r;this.pageObjId=a;this.refObjId=i;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 r=new n.NumberTree(e,this.rootDict.xref).get(t);if(!Array.isArray(r))return;const i=new Map;for(const e of r)(0,a.isRef)(e)&&this.addNode(this.rootDict.xref.fetch(e),i)}addNode(e,t,r=0){if(r>40){(0,i.warn)("StructTree MAX_DEPTH reached.");return null}if(t.has(e))return t.get(e);const n=new StructElementNode(this,e);t.set(e,n);const s=e.get("P");if(!s||(0,a.isName)(s.get("Type"),"StructTreeRoot")){this.addTopLevelNode(e,n)||t.delete(e);return n}const o=this.addNode(s,t,r+1);if(!o)return n;let c=!1;for(const t of o.kids)if(t.type===l&&t.dict===e){t.parentNode=n;c=!0}c||t.delete(e);return n}addTopLevelNode(e,t){const r=this.rootDict.get("K");if(!r)return!1;if((0,a.isDict)(r)){if(r.objId!==e.objId)return!1;this.nodes[0]=t;return!0}if(!Array.isArray(r))return!0;let i=!1;for(let a=0;a40){(0,i.warn)("StructTree too deep to be fully serialized.");return}const a=Object.create(null);a.role=e.role;a.children=[];t.children.push(a);const n=e.dict.get("Alt");(0,i.isString)(n)&&(a.alt=(0,i.stringToPDFString)(n));for(const t of e.kids){const e=t.type===l?t.parentNode:null;e?nodeToSerializable(e,a,r+1):t.type===s||t.type===o?a.children.push({type:"content",id:`page${t.pageObjId}_mcid${t.mcid}`}):t.type===c&&a.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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ObjectLoader=void 0;var a=r(5),i=r(9),n=r(2);function addChildren(e,t){if(e instanceof a.Dict)e=e.getRawValues();else if((0,a.isStream)(e))e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const i of e)((r=i)instanceof a.Ref||r instanceof a.Dict||Array.isArray(r)||(0,a.isStream)(r))&&t.push(i);var r}t.ObjectLoader=class ObjectLoader{constructor(e,t,r){this.dict=e;this.keys=t;this.xref=r;this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:e,dict:t}=this;this.refSet=new a.RefSet;const r=[];for(let a=0,i=e.length;a{Object.defineProperty(t,"__esModule",{value:!0});t.incrementalUpdate=function incrementalUpdate({originalData:e,xrefInfo:t,newRefs:r,xref:c=null,datasetsRef:l=null}){!function updateXFA(e,t,r){if(null===e||null===r)return;const i=r.fetchIfRef(e).getString(),o=new s.SimpleXMLParser({hasAttributes:!0}).parseFromString(i);for(const{xfa:e}of t){if(!e)continue;const{path:t,value:r}=e;if(!t)continue;const i=o.documentElement.searchNode((0,n.parseXFAPath)(t),0);i?i.childNodes=[new s.SimpleDOMNode("#text",r)]:(0,a.warn)(`Node not found for path: ${t}`)}const c=[];o.documentElement.dump(c);let l=c.join("");const h=r.encrypt;if(h){l=h.createCipherTransform(e.num,e.gen).encryptString(l)}const u=`${e.num} ${e.gen} obj\n<< /Type /EmbeddedFile /Length ${l.length}>>\nstream\n`+l+"\nendstream\nendobj\n";t.push({ref:e,data:u})}(l,r,c);const h=new i.Dict(null),u=t.newRef;let d,f;const g=e[e.length-1];if(10===g||13===g){d=[];f=e.length}else{d=["\n"];f=e.length+1}h.set("Size",u.num+1);h.set("Prev",t.startXRef);h.set("Type",i.Name.get("XRef"));null!==t.rootRef&&h.set("Root",t.rootRef);null!==t.infoRef&&h.set("Info",t.infoRef);null!==t.encryptRef&&h.set("Encrypt",t.encryptRef);r.push({ref:u,data:""});r=r.sort(((e,t)=>e.ref.num-t.ref.num));const p=[[0,1,65535]],m=[0,1];let b=0;for(const{ref:e,data:t}of r){b=Math.max(b,f);p.push([1,f,Math.min(e.gen,65535)]);f+=t.length;m.push(e.num,1);d.push(t)}h.set("Index",m);if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const e=function computeMD5(e,t){const r=Math.floor(Date.now()/1e3),i=t.filename||"",n=[r.toString(),i,e.toString()];let s=n.reduce(((e,t)=>e+t.length),0);for(const e of Object.values(t.info)){n.push(e);s+=e.length}const c=new Uint8Array(s);let l=0;for(const e of n){writeString(e,l,c);l+=e.length}return(0,a.bytesToString)((0,o.calculateMD5)(c))}(f,t);h.set("ID",[t.fileIds[0],e])}const y=[1,Math.ceil(Math.log2(b)/8),2],w=(y[0]+y[1]+y[2])*p.length;h.set("W",y);h.set("Length",w);d.push(`${u.num} ${u.gen} obj\n`);writeDict(h,d,null);d.push(" stream\n");const S=d.reduce(((e,t)=>e+t.length),0),x=`\nendstream\nendobj\nstartxref\n${f}\n%%EOF\n`,k=new Uint8Array(e.length+S+w+x.length);k.set(e);let C=e.length;for(const e of d){writeString(e,C,k);C+=e.length}for(const[e,t,r]of p){C=writeInt(e,y[0],C,k);C=writeInt(t,y[1],C,k);C=writeInt(r,y[2],C,k)}writeString(x,C,k);return k};t.writeDict=writeDict;var a=r(2),i=r(5),n=r(9),s=r(61),o=r(65);function writeDict(e,t,r){t.push("<<");for(const a of e.getKeys()){t.push(` /${(0,n.escapePDFName)(a)} `);writeValue(e.getRaw(a),t,r)}t.push(">>")}function writeValue(e,t,r){if((0,i.isName)(e))t.push(`/${(0,n.escapePDFName)(e.name)}`);else if((0,i.isRef)(e))t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e))!function writeArray(e,t,r){t.push("[");let a=!0;for(const i of e){a?a=!1:t.push(" ");writeValue(i,t,r)}t.push("]")}(e,t,r);else if("string"==typeof e){null!==r&&(e=r.encryptString(e));t.push(`(${(0,a.escapeString)(e)})`)}else"number"==typeof e?t.push(function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);return t%100==0?(t/100).toString():t%10==0?e.toFixed(1):e.toFixed(2)}(e)):(0,i.isDict)(e)?writeDict(e,t,r):(0,i.isStream)(e)&&function writeStream(e,t,r){writeDict(e.dict,t,r);t.push(" stream\n");let a=e.getString();null!==r&&(a=r.encryptString(a));t.push(a,"\nendstream\n")}(e,t,r)}function writeInt(e,t,r,a){for(let i=t+r-1;i>r-1;i--){a[i]=255&e;e>>=8}return r+t}function writeString(e,t,r){for(let a=0,i=e.length;a{Object.defineProperty(t,"__esModule",{value:!0});t.calculateSHA384=calculateSHA384;t.PDF20=t.PDF17=t.CipherTransformFactory=t.calculateSHA512=t.calculateSHA256=t.calculateMD5=t.ARCFourCipher=t.AES256Cipher=t.AES128Cipher=void 0;var a=r(2),i=r(5),n=r(66);class ARCFourCipher{constructor(e){this.a=0;this.b=0;const t=new Uint8Array(256),r=e.length;for(let e=0;e<256;++e)t[e]=e;for(let a=0,i=0;a<256;++a){const n=t[a];i=i+n+e[a%r]&255;t[a]=t[i];t[i]=n}this.s=t}encryptBlock(e){let t=this.a,r=this.b;const a=this.s,i=e.length,n=new Uint8Array(i);for(let s=0;s>5&255;h[u++]=i>>13&255;h[u++]=i>>21&255;h[u++]=i>>>29&255;h[u++]=0;h[u++]=0;h[u++]=0;const g=new Int32Array(16);for(u=0;u>>32-o)|0;i=n}n=n+i|0;s=s+l|0;o=o+f|0;c=c+p|0}return new Uint8Array([255&n,n>>8&255,n>>16&255,n>>>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<>>32-e;this.low=this.low<>>e|r<<32-e;this.high=r>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let r=(this.high>>>0)+(e.high>>>0);t>4294967295&&(r+=1);this.low=0|t;this.high=0|r}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,r){return e&t^~e&r}function maj(e,t,r){return e&t^e&r^t&r}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,r,a){let i=1779033703,n=3144134277,s=1013904242,o=2773480762,c=1359893119,l=2600822924,h=528734635,u=1541459225;const d=64*Math.ceil((a+9)/64),f=new Uint8Array(d);let g,p;for(g=0;g>>29&255;f[g++]=a>>21&255;f[g++]=a>>13&255;f[g++]=a>>5&255;f[g++]=a<<3&255;const b=new Uint32Array(64);for(g=0;g>>10)+b[p-7]+littleSigma(b[p-15])+b[p-16]|0;let t,r,a=i,d=n,m=s,w=o,S=c,x=l,k=h,C=u;for(p=0;p<64;++p){t=C+sigmaPrime(S)+ch(S,x,k)+e[p]+b[p];r=sigma(a)+maj(a,d,m);C=k;k=x;x=S;S=w+t|0;w=m;m=d;d=a;a=t+r|0}i=i+a|0;n=n+d|0;s=s+m|0;o=o+w|0;c=c+S|0;l=l+x|0;h=h+k|0;u=u+C|0}var y;return new Uint8Array([i>>24&255,i>>16&255,i>>8&255,255&i,n>>24&255,n>>16&255,n>>8&255,255&n,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,r,a,i){e.assign(t);e.and(r);i.assign(t);i.not();i.and(a);e.xor(i)}function maj(e,t,r,a,i){e.assign(t);e.and(r);i.assign(t);i.and(a);e.xor(i);i.assign(r);i.and(a);e.xor(i)}function sigma(e,t,r){e.assign(t);e.rotateRight(28);r.assign(t);r.rotateRight(34);e.xor(r);r.assign(t);r.rotateRight(39);e.xor(r)}function sigmaPrime(e,t,r){e.assign(t);e.rotateRight(14);r.assign(t);r.rotateRight(18);e.xor(r);r.assign(t);r.rotateRight(41);e.xor(r)}function littleSigma(e,t,r){e.assign(t);e.rotateRight(1);r.assign(t);r.rotateRight(8);e.xor(r);r.assign(t);r.shiftRight(7);e.xor(r)}function littleSigmaPrime(e,t,r){e.assign(t);e.rotateRight(19);r.assign(t);r.rotateRight(61);e.xor(r);r.assign(t);r.shiftRight(6);e.xor(r)}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,r,a,i=!1){let n,s,o,c,l,h,u,d;if(i){n=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{n=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((a+17)/128),g=new Uint8Array(f);let p,m;for(p=0;p>>29&255;g[p++]=a>>21&255;g[p++]=a>>13&255;g[p++]=a>>5&255;g[p++]=a<<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),k=new Word64(0,0),C=new Word64(0,0),v=new Word64(0,0),O=new Word64(0,0),F=new Word64(0,0);const T=new Word64(0,0),E=new Word64(0,0),M=new Word64(0,0),D=new Word64(0,0);let N,L;for(p=0;p=1;--e){r=n[13];n[13]=n[9];n[9]=n[5];n[5]=n[1];n[1]=r;r=n[14];a=n[10];n[14]=n[6];n[10]=n[2];n[6]=r;n[2]=a;r=n[15];a=n[11];i=n[7];n[15]=n[3];n[11]=r;n[7]=a;n[3]=i;for(let e=0;e<16;++e)n[e]=this._inv_s[n[e]];for(let r=0,a=16*e;r<16;++r,++a)n[r]^=t[a];for(let e=0;e<16;e+=4){const t=this._mix[n[e]],a=this._mix[n[e+1]],i=this._mix[n[e+2]],s=this._mix[n[e+3]];r=t^a>>>8^a<<24^i>>>16^i<<16^s>>>24^s<<8;n[e]=r>>>24&255;n[e+1]=r>>16&255;n[e+2]=r>>8&255;n[e+3]=255&r}}r=n[13];n[13]=n[9];n[9]=n[5];n[5]=n[1];n[1]=r;r=n[14];a=n[10];n[14]=n[6];n[10]=n[2];n[6]=r;n[2]=a;r=n[15];a=n[11];i=n[7];n[15]=n[3];n[11]=r;n[7]=a;n[3]=i;for(let e=0;e<16;++e){n[e]=this._inv_s[n[e]];n[e]^=t[e]}return n}_encrypt(e,t){const r=this._s;let a,i,n;const s=new Uint8Array(16);s.set(e);for(let e=0;e<16;++e)s[e]^=t[e];for(let e=1;e=a;--r)if(e[r]!==t){t=0;break}o-=t;n[n.length-1]=e.subarray(0,16-t)}}const c=new Uint8Array(o);for(let e=0,t=0,r=n.length;e=256&&(o=255&(27^o))}for(let t=0;t<4;++t){r[e]=a^=r[e-32];e++;r[e]=i^=r[e-32];e++;r[e]=n^=r[e-32];e++;r[e]=s^=r[e-32];e++}}return r}}t.AES256Cipher=AES256Cipher;class PDF17{checkOwnerPassword(e,t,r,i){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(r,e.length+t.length);const s=o(n,0,n.length);return(0,a.isArrayEqual)(s,i)}checkUserPassword(e,t,r){const i=new Uint8Array(e.length+8);i.set(e,0);i.set(t,e.length);const n=o(i,0,i.length);return(0,a.isArrayEqual)(n,r)}getOwnerKey(e,t,r,a){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(r,e.length+t.length);const n=o(i,0,i.length);return new AES256Cipher(n).decryptBlock(a,!1,new Uint8Array(16))}getUserKey(e,t,r){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);const i=o(a,0,a.length);return new AES256Cipher(i).decryptBlock(r,!1,new Uint8Array(16))}}t.PDF17=PDF17;const l=function PDF20Closure(){function calculatePDF20Hash(e,t,r){let a=o(t,0,t.length).subarray(0,32),i=[0],n=0;for(;n<64||i[i.length-1]>n-32;){const t=e.length+a.length+r.length,s=new Uint8Array(t);let l=0;s.set(e,l);l+=e.length;s.set(a,l);l+=a.length;s.set(r,l);const h=new Uint8Array(64*t);for(let e=0,r=0;e<64;e++,r+=t)h.set(s,r);i=new AES128Cipher(a.subarray(0,16)).encrypt(h,a.subarray(16,32));let u=0;for(let e=0;e<16;e++){u*=1;u%=3;u+=(i[e]>>>0)%3;u%=3}0===u?a=o(i,0,i.length):1===u?a=calculateSHA384(i,0,i.length):2===u&&(a=c(i,0,i.length));n++}return a.subarray(0,32)}return class PDF20{hash(e,t,r){return calculatePDF20Hash(e,t,r)}checkOwnerPassword(e,t,r,i){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(r,e.length+t.length);const s=calculatePDF20Hash(e,n,r);return(0,a.isArrayEqual)(s,i)}checkUserPassword(e,t,r){const i=new Uint8Array(e.length+8);i.set(e,0);i.set(t,e.length);const n=calculatePDF20Hash(e,i,[]);return(0,a.isArrayEqual)(n,r)}getOwnerKey(e,t,r,a){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(r,e.length+t.length);const n=calculatePDF20Hash(e,i,r);return new AES256Cipher(n).decryptBlock(a,!1,new Uint8Array(16))}getUserKey(e,t,r){const a=new Uint8Array(e.length+8);a.set(e,0);a.set(t,e.length);const i=calculatePDF20Hash(e,a,[]);return new AES256Cipher(i).decryptBlock(r,!1,new Uint8Array(16))}}}();t.PDF20=l;class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const r=new this.StreamCipherConstructor;return new n.DecryptStream(e,t,(function cipherTransformDecryptStream(e,t){return r.decryptBlock(e,t)}))}decryptString(e){const t=new this.StringCipherConstructor;let r=(0,a.stringToBytes)(e);r=t.decryptBlock(r,!0);return(0,a.bytesToString)(r)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const r=e.length,i=16-r%16;16!==i&&(e=e.padEnd(16*Math.ceil(r/16),String.fromCharCode(i)));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 s=(0,a.stringToBytes)(e);s=t.encrypt(s,n);const o=new Uint8Array(16+s.length);o.set(n);o.set(s,16);return(0,a.bytesToString)(o)}let r=(0,a.stringToBytes)(e);r=t.encrypt(r);return(0,a.bytesToString)(r)}}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,r,a,i,n,o,c,l){const h=40+a.length+t.length,u=new Uint8Array(h);let d,f,g=0;if(r){f=Math.min(32,r.length);for(;g>8&255;u[g++]=n>>16&255;u[g++]=n>>>24&255;for(d=0,f=t.length;d=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>8&255;i[o++]=e>>16&255;i[o++]=255&t;i[o++]=t>>8&255;if(a){i[o++]=115;i[o++]=65;i[o++]=108;i[o++]=84}return s(i,0,o).subarray(0,Math.min(r.length+5,16))}function buildCipherConstructor(e,t,r,n,s){if(!(0,i.isName)(t))throw new a.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(r,n,s,!1))};if("AESV2"===c.name)return function cipherTransformFactoryBuildCipherConstructorAESV2(){return new AES128Cipher(buildObjectKey(r,n,s,!0))};if("AESV3"===c.name)return function cipherTransformFactoryBuildCipherConstructorAESV3(){return new AES256Cipher(s)};throw new a.FormatError("Unknown crypto method")}return class CipherTransformFactory{constructor(r,n,o){const c=r.get("Filter");if(!(0,i.isName)(c,"Standard"))throw new a.FormatError("unknown encryption method");this.dict=r;const h=r.get("V");if(!Number.isInteger(h)||1!==h&&2!==h&&4!==h&&5!==h)throw new a.FormatError("unsupported encryption algorithm");this.algorithm=h;let u=r.get("Length");if(!u)if(h<=3)u=40;else{const e=r.get("CF"),t=r.get("StmF");if((0,i.isDict)(e)&&(0,i.isName)(t)){e.suppressEncryption=!0;const r=e.get(t.name);u=r&&r.get("Length")||128;u<40&&(u<<=3)}}if(!Number.isInteger(u)||u<40||u%8!=0)throw new a.FormatError("invalid key length");const d=(0,a.stringToBytes)(r.get("O")).subarray(0,32),f=(0,a.stringToBytes)(r.get("U")).subarray(0,32),g=r.get("P"),p=r.get("R"),m=(4===h||5===h)&&!1!==r.get("EncryptMetadata");this.encryptMetadata=m;const b=(0,a.stringToBytes)(n);let y,w;if(o){if(6===p)try{o=(0,a.utf8StringToString)(o)}catch(e){(0,a.warn)("CipherTransformFactory: Unable to convert UTF8 encoded password.")}y=(0,a.stringToBytes)(o)}if(5!==h)w=prepareKeyData(b,y,d,f,g,p,u,m);else{const e=(0,a.stringToBytes)(r.get("O")).subarray(32,40),t=(0,a.stringToBytes)(r.get("O")).subarray(40,48),i=(0,a.stringToBytes)(r.get("U")).subarray(0,48),n=(0,a.stringToBytes)(r.get("U")).subarray(32,40),s=(0,a.stringToBytes)(r.get("U")).subarray(40,48),o=(0,a.stringToBytes)(r.get("OE")),c=(0,a.stringToBytes)(r.get("UE"));(0,a.stringToBytes)(r.get("Perms"));w=function createEncryptionKey20(e,t,r,a,i,n,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,a,n,r)?f.getOwnerKey(t,i,n,h):null}(p,y,d,e,t,i,f,n,s,o,c)}if(!w&&!o)throw new a.PasswordException("No password given",a.PasswordResponses.NEED_PASSWORD);if(!w&&o){w=prepareKeyData(b,function decodeUserPassword(t,r,a,i){const n=new Uint8Array(32);let o=0;const c=Math.min(32,t.length);for(;o>3;if(a>=3)for(l=0;l<50;++l)h=s(h,0,h.length);let d,f;if(a>=3){f=r;const e=new Uint8Array(u);for(l=19;l>=0;l--){for(let t=0;t=4){const e=r.get("CF");(0,i.isDict)(e)&&(e.suppressEncryption=!0);this.cf=e;this.stmf=r.get("StmF")||t;this.strf=r.get("StrF")||t;this.eff=r.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(buildCipherConstructor(this.cf,this.stmf,e,t,this.encryptionKey),buildCipherConstructor(this.cf,this.strf,e,t,this.encryptionKey));const r=buildObjectKey(e,t,this.encryptionKey,!1),a=function buildCipherCipherConstructor(){return new ARCFourCipher(r)};return new CipherTransform(a,a)}}}();t.CipherTransformFactory=h},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.DecryptStream=void 0;var a=r(19);class DecryptStream extends a.DecodeStream{constructor(e,t,r){super(t);this.str=e;this.dict=e.dict;this.decrypt=r;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);let r=this.bufferLength;const a=e.length,i=this.ensureBuffer(r+a);for(let t=0;t{Object.defineProperty(t,"__esModule",{value:!0});t.XFAFactory=void 0;var a=r(68),i=r(71),n=r(76);class XFAFactory{constructor(e){try{this.root=(new n.XFAParser).parse(XFAFactory._createDocument(e));this.form=new i.Binder(this.root).bind();this.pages=this.form[a.$toHTML]()}catch(e){console.log(e)}}getPage(e){return this.pages.children[e]}get numberPages(){return this.pages.children.length}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}}t.XFAFactory=XFAFactory},(e,t,r)=>{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.$toHTML=t.$text=t.$setValue=t.$setSetAttributes=t.$setId=t.$searchNode=t.$resolvePrototypes=t.$removeChild=t.$onText=t.$onChildCheck=t.$onChild=t.$nsAttributes=t.$nodeName=t.$namespaceId=t.$isTransparent=t.$isDescendent=t.$isDataValue=t.$insertAt=t.$indexOf=t.$ids=t.$hasSettableValue=t.$hasItem=t.$global=t.$getRealChildrenByNameIt=t.$getParent=t.$getNextPage=t.$getDataValue=t.$getChildrenByNameIt=t.$getChildrenByName=t.$getChildrenByClass=t.$getChildren=t.$getAvailableSpace=t.$getAttributeIt=t.$flushHTML=t.$finalize=t.$extra=t.$dump=t.$data=t.$content=t.$consumed=t.$clone=t.$cleanup=t.$clean=t.$childrenToHTML=t.$break=t.$appendChild=t.$addHTML=t.$acceptWhitespace=void 0;var a=r(69),i=r(2),n=r(70);const s=Symbol();t.$acceptWhitespace=s;const o=Symbol();t.$addHTML=o;const c=Symbol();t.$appendChild=c;const l=Symbol();t.$break=l;const h=Symbol();t.$childrenToHTML=h;const u=Symbol();t.$clean=u;const d=Symbol();t.$cleanup=d;const f=Symbol();t.$clone=f;const g=Symbol();t.$consumed=g;const p=Symbol("content");t.$content=p;const m=Symbol("data");t.$data=m;const b=Symbol();t.$dump=b;const y=Symbol("extra");t.$extra=y;const w=Symbol();t.$finalize=w;const S=Symbol();t.$flushHTML=S;const x=Symbol();t.$getAttributeIt=x;const k=Symbol();t.$getAvailableSpace=k;const C=Symbol();t.$getChildrenByClass=C;const v=Symbol();t.$getChildrenByName=v;const O=Symbol();t.$getChildrenByNameIt=O;const F=Symbol();t.$getDataValue=F;const T=Symbol();t.$getRealChildrenByNameIt=T;const E=Symbol();t.$getChildren=E;const M=Symbol();t.$getNextPage=M;const D=Symbol();t.$getParent=D;const N=Symbol();t.$global=N;const L=Symbol();t.$hasItem=L;const R=Symbol();t.$hasSettableValue=R;const j=Symbol();t.$ids=j;const _=Symbol();t.$indexOf=_;const U=Symbol();t.$insertAt=U;const $=Symbol();t.$isDataValue=$;const X=Symbol();t.$isDescendent=X;const q=Symbol();t.$isTransparent=q;const H=Symbol(),z=Symbol("namespaceId");t.$namespaceId=z;const W=Symbol("nodeName");t.$nodeName=W;const G=Symbol();t.$nsAttributes=G;const V=Symbol();t.$onChild=V;const K=Symbol();t.$onChildCheck=K;const Y=Symbol();t.$onText=Y;const J=Symbol();t.$removeChild=J;const Z=Symbol();t.$resolvePrototypes=Z;const Q=Symbol();t.$searchNode=Q;const ee=Symbol();t.$setId=ee;const te=Symbol();t.$setSetAttributes=te;const re=Symbol();t.$setValue=re;const ae=Symbol();t.$text=ae;const ie=Symbol();t.$toHTML=ie;const ne=Symbol();t.$toStyle=ne;const se=Symbol("uid");t.$uid=se;const oe=Symbol(),ce=Symbol(),le=Symbol(),he=Symbol("_children"),ue=Symbol(),de=Symbol(),fe=Symbol(),ge=Symbol(),pe=Symbol(),me=Symbol(),be=Symbol(),ye=Symbol(),we=Symbol(),Se=Symbol("parent"),xe=Symbol(),ke=Symbol();let Ae=0;class XFAObject{constructor(e,t,r=!1){this[z]=e;this[W]=t;this[be]=r;this[Se]=null;this[he]=[];this[se]=`${t}${Ae++}`}[V](e){if(!this[be]||!this[K](e))return!1;const t=e[W],r=this[t];if(!(r instanceof XFAObjectArray)){null!==r&&this[J](r);this[t]=e;this[c](e);return!0}if(r.push(e)){this[c](e);return!0}let a="";this.id?a=` (id: ${this.id})`:this.name&&(a=` (name: ${this.name} ${this.h.value})`);(0,i.warn)(`XFA - node "${this[W]}"${a} has already enough "${t}"!`);return!1}[K](e){return this.hasOwnProperty(e[W])&&e[z]===this[z]}[s](){return!1}[ee](e){this.id&&this[z]===n.NamespaceIds.template.id&&e.set(this.id,this)}[c](e){e[Se]=this;this[he].push(e)}[J](e){const t=this[he].indexOf(e);this[he].splice(t,1)}[R](){return this.hasOwnProperty("value")}[re](e){}[Y](e){}[w](){}[u](e){delete this[be];if(this[d]){e.clean(this[d]);delete this[d]}}[L](){return!1}[_](e){return this[he].indexOf(e)}[U](e,t){t[Se]=this;this[he].splice(e,0,t)}[q](){return""===this.name}[H](){return""}[ae](){return 0===this[he].length?this[p]:this[he].map((e=>e[ae]())).join("")}get[le](){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,i.shadow)(this,le,e._attributes)}[X](e){let t=this;for(;t;){if(t===e)return!0;t=t[D]()}return!1}[D](){return this[Se]}[E](e=null){return e?this[e]:this[he]}[b](){const e=Object.create(null);this[p]&&(e.$content=this[p]);for(const t of Object.getOwnPropertyNames(this)){const r=this[t];null!==r&&(r instanceof XFAObject?e[t]=r[b]():r instanceof XFAObjectArray?r.isEmpty()||(e[t]=r.dump()):e[t]=r)}return e}[ne](){return null}[ie](){return a.HTMLResult.EMPTY}*[ge](e,t){for(const r of this[E]())if(!e||t===e.has(r[W])){const e=this[k](),t=r[ie](e);t.success||(this[y].failingNode=r);yield t}}[S](){return null}[o](e,t){this[y].children.push(e)}[k](){}[h]({filter:e=null,include:t=!0}){if(this[y].generator){const e=this[k](),t=this[y].failingNode[ie](e);if(!t.success)return!1;t.html&&this[o](t.html,t.bbox);delete this[y].failingNode}else this[y].generator=this[ge](e,t);for(;;){const e=this[y].generator.next();if(e.done)break;const t=e.value;if(!t.success)return!1;t.html&&this[o](t.html,t.bbox)}this[y].generator=null;return!0}[te](e){(e.use||e.id)&&(this[xe]=new Set(Object.keys(e)))}[me](e){const t=this[le],r=this[xe];return[...e].filter((e=>t.has(e)&&!r.has(e)))}[Z](e,t=new Set){for(const r of this[he]){const a=r[pe](e,t);a?r[oe](a,e,t):r[Z](e,t)}}[pe](e,t){const{use:r}=this;if(r&&r.startsWith("#")){const a=r.slice(1),n=e.get(a);this.use="";if(!n){(0,i.warn)(`XFA - Invalid prototype id: ${a}.`);return null}if(n[W]!==this[W]){(0,i.warn)(`XFA - Incompatible prototype: ${n[W]} !== ${this[W]}.`);return null}if(t.has(n)){(0,i.warn)("XFA - Cycle detected in prototypes use.");return null}t.add(n);const s=n[pe](e,t);if(!s){t.delete(n);return n}n[oe](s,e,t);t.delete(n);return n}return null}[oe](e,t,r){if(r.has(e)){(0,i.warn)("XFA - Cycle detected in prototypes use.");return}!this[p]&&e[p]&&(this[p]=e[p]);const a=new Set(r);a.add(e);for(const t of this[me](e[xe])){this[t]=e[t];this[xe]&&this[xe].add(t)}for(const i of Object.getOwnPropertyNames(this)){if(this[le].has(i))continue;const n=this[i],s=e[i];if(n instanceof XFAObjectArray){for(const e of n[he])e[Z](t,r);for(let r=n[he].length,i=s[he].length;rXFAObject[ue](e))):e instanceof Object?Object.assign({},e):e}[f](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch(r){(0,i.shadow)(e,t,this[t])}e[he]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[le].has(t)){e[t]=XFAObject[ue](this[t]);continue}const r=this[t];e[t]=r instanceof XFAObjectArray?new XFAObjectArray(r[ye]):null}for(const t of this[he]){const r=t[W],a=t[f]();e[he].push(a);a[Se]=e;null===e[r]?e[r]=a:e[r][he].push(a)}return e}[E](e=null){return e?this[he].filter((t=>t[W]===e)):this[he]}[C](e){return this[e]}[v](e,t,r=!0){return Array.from(this[O](e,t,r))}*[O](e,t,r=!0){if("parent"!==e){for(const r of this[he]){r[W]===e&&(yield r);r.name===e&&(yield r);(t||r[q]())&&(yield*r[O](e,t,!1))}r&&this[le].has(e)&&(yield new XFAAttribute(this,e,this[e]))}else yield this[Se]}}t.XFAObject=XFAObject;class XFAObjectArray{constructor(e=1/0){this[ye]=e;this[he]=[]}push(e){if(this[he].length<=this[ye]){this[he].push(e);return!0}(0,i.warn)(`XFA - node "${e[W]}" accepts no more than ${this[ye]} children`);return!1}isEmpty(){return 0===this[he].length}dump(){return 1===this[he].length?this[he][0][b]():this[he].map((e=>e[b]()))}[f](){const e=new XFAObjectArray(this[ye]);e[he]=this[he].map((e=>e[f]()));return e}get children(){return this[he]}clear(){this[he].length=0}}t.XFAObjectArray=XFAObjectArray;class XFAAttribute{constructor(e,t,r){this[Se]=e;this[W]=t;this[p]=r;this[g]=!1}[D](){return this[Se]}[$](){return!0}[ae](){return this[p]}[X](e){return this[Se]===e||this[Se][X](e)}}t.XFAAttribute=XFAAttribute;class XmlObject extends XFAObject{constructor(e,t,r={}){super(e,t);this[p]="";this[de]=null;if("#text"!==t){const e=new Map;this[ce]=e;for(const[t,a]of Object.entries(r))e.set(t,new XFAAttribute(this,t,a));if(r.hasOwnProperty(G)){const e=r[G].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[de]=!1:"dataValue"===e&&(this[de]=!0))}}this[g]=!1}[V](e){if(this[p]){const e=new XmlObject(this[z],"#text");this[c](e);e[p]=this[p];this[p]=""}this[c](e);return!0}[Y](e){this[p]+=e}[w](){if(this[p]&&this[he].length>0){const e=new XmlObject(this[z],"#text");this[c](e);e[p]=this[p];delete this[p]}}[ie](){return"#text"===this[W]?a.HTMLResult.success({name:"#text",value:this[p]}):a.HTMLResult.EMPTY}[E](e=null){return e?this[he].filter((t=>t[W]===e)):this[he]}[C](e){const t=this[ce].get(e);return void 0!==t?t:this[E](e)}*[O](e,t){const r=this[ce].get(e);r&&(yield r);for(const r of this[he]){r[W]===e&&(yield r);t&&(yield*r[O](e,t))}}*[x](e,t){const r=this[ce].get(e);!r||t&&r[g]||(yield r);for(const r of this[he])yield*r[x](e,t)}*[T](e,t,r){for(const a of this[he]){a[W]!==e||r&&a[g]||(yield a);t&&(yield*a[T](e,t,r))}}[$](){return null===this[de]?0===this[he].length||this[he][0][z]===n.NamespaceIds.xhtml.id:this[de]}[F](){return null===this[de]?0===this[he].length?this[p].trim():this[he][0][z]===n.NamespaceIds.xhtml.id?this[he][0][ae]().trim():null:this[p].trim()}[b](){const e=Object.create(null);this[p]&&(e.$content=this[p]);e.$name=this[W];e.children=[];for(const t of this[he])e.children.push(t[b]());e.attributes=Object.create(null);for(const[t,r]of this[ce])e.attributes[t]=r[p];return e}}t.XmlObject=XmlObject;class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[p]=""}[Y](e){this[p]+=e}[w](){}}t.ContentObject=ContentObject;t.OptionObject=class OptionObject extends ContentObject{constructor(e,t,r){super(e,t);this[we]=r}[w](){this[p]=(0,a.getKeyword)({data:this[p],defaultValue:this[we][0],validate:e=>this[we].includes(e)})}[u](e){super[u](e);delete this[we]}};t.StringObject=class StringObject extends ContentObject{[w](){this[p]=this[p].trim()}};class IntegerObject extends ContentObject{constructor(e,t,r,a){super(e,t);this[fe]=r;this[ke]=a}[w](){this[p]=(0,a.getInteger)({data:this[p],defaultValue:this[fe],validate:this[ke]})}[u](e){super[u](e);delete this[fe];delete this[ke]}}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)=>{Object.defineProperty(t,"__esModule",{value:!0});t.getBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const r=e.trim().split(/\s*,\s*/).map((e=>getMeasurement(e,"-1")));if(r.length<4||r[2]<0||r[3]<0)return{x:t,y:t,width:t,height:t};const[a,i,n,s]=r;return{x:a,y:i,width:n,height:s}};t.getColor=function getColor(e,t=[0,0,0]){let[r,a,i]=t;if(!e)return{r:r,g:a,b:i};const n=e.trim().split(/\s*,\s*/).map((e=>Math.min(Math.max(0,parseInt(e.trim(),10)),255))).map((e=>isNaN(e)?0:e));if(n.length<3)return{r:r,g:a,b:i};[r,a,i]=n;return{r:r,g:a,b:i}};t.getFloat=function getFloat({data:e,defaultValue:t,validate:r}){if(!e)return t;e=e.trim();const a=parseFloat(e);if(!isNaN(a)&&r(a))return a;return t};t.getInteger=function getInteger({data:e,defaultValue:t,validate:r}){if(!e)return t;e=e.trim();const a=parseInt(e,10);if(!isNaN(a)&&r(a))return a;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[r,a]=t;return{num:r,den:a}};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.HTMLResult=void 0;const r={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},a=/([+-]?[0-9]+\.?[0-9]*)(.*)/;function getKeyword({data:e,defaultValue:t,validate:r}){return e&&r(e=e.trim())?e:t}function getMeasurement(e,t="0"){t=t||"0";if(!e)return getMeasurement(t);const i=e.trim().match(a);if(!i)return getMeasurement(t);const[,n,s]=i,o=parseFloat(n);if(isNaN(o))return getMeasurement(t);if(0===o)return 0;const c=r[s];return c?c(o):o}class HTMLResult{constructor(e,t,r){this.success=e;this.html=t;this.bbox=r}static success(e,t=null){return new HTMLResult(!0,e,t)}}t.HTMLResult=HTMLResult;HTMLResult.FAILURE=new HTMLResult(!1,null,null);HTMLResult.EMPTY=new HTMLResult(!0,null,null)},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NamespaceIds=t.$buildXFAObject=void 0;const r=Symbol();t.$buildXFAObject=r;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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Binder=void 0;var a=r(68),i=r(72),n=r(75),s=r(70),o=r(2);function createText(e){const t=new i.Text({});t[a.$content]=e;return t}t.Binder=class Binder{constructor(e){this.root=e;this.datasets=e.datasets;if(e.datasets&&e.datasets.data){this.emptyMerge=!1;this.data=e.datasets.data}else{this.emptyMerge=!0;this.data=new a.XmlObject(s.NamespaceIds.datasets.id,"data")}this.root.form=this.form=e.template[a.$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,r){if(e[a.$hasSettableValue]())if(t[a.$isDataValue]()){const r=t[a.$getDataValue]();e[a.$setValue](createText(r));e[a.$data]=t}else if(e instanceof i.Field&&e.ui&&e.ui.choiceList&&"multiSelect"===e.ui.choiceList.open){const r=t[a.$getChildren]().map((e=>e[a.$content].trim())).join("\n");e[a.$setValue](createText(r));e[a.$data]=t}else this._isConsumeData()&&(0,o.warn)("XFA - Nodes haven't the same type.");else if(!t[a.$isDataValue]()||this._isMatchTemplate()){this._bindElement(e,t);e[a.$data]=t}else(0,o.warn)("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,r,i){if(!e)return null;let n,o;for(let i=0;i<3;i++){n=r[a.$getRealChildrenByNameIt](e,!1,!0);for(;;){o=n.next().value;if(!o)break;if(t===o[a.$isDataValue]())return o}if(r[a.$namespaceId]===s.NamespaceIds.datasets.id&&"data"===r[a.$nodeName])break;r=r[a.$getParent]()}if(!i)return null;n=this.data[a.$getRealChildrenByNameIt](e,!1,!1);for(;;){o=n.next().value;if(!o)break;if(o[a.$global])return o}n=this.data[a.$getAttributeIt](e,!0);o=n.next().value;return o&&o[a.$isDataValue]()?o:null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:r,target:s,connection:c}of e.setProperty.children){if(c)continue;if(!r)continue;const[l]=(0,n.searchNode)(this.root,t,r,!1,!1);if(!l){(0,o.warn)(`XFA - Invalid reference: ${r}.`);continue}if(!l[a.$isDescendent](this.data)){(0,o.warn)("XFA - Invalid node: must be a data node.");continue}const[h]=(0,n.searchNode)(this.root,e,s,!1,!1);if(!h){(0,o.warn)(`XFA - Invalid target: ${s}.`);continue}if(!h[a.$isDescendent](e)){(0,o.warn)("XFA - Invalid target: must be a property or subproperty.");continue}const u=h[a.$getParent]();if(h instanceof i.SetProperty||u instanceof i.SetProperty){(0,o.warn)("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(h instanceof i.BindItems||u instanceof i.BindItems){(0,o.warn)("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const d=l[a.$text](),f=h[a.$nodeName];if(h instanceof a.XFAAttribute){const e=Object.create(null);e[f]=d;const t=Reflect.construct(Object.getPrototypeOf(u).constructor,[e]);u[f]=t[f]}else if(h.hasOwnProperty(a.$content)){h[a.$data]=l;h[a.$content]=d;h[a.$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[a.$removeChild](t);e.items.clear();const r=new i.Items({}),s=new i.Items({});e[a.$appendChild](r);e.items.push(r);e[a.$appendChild](s);e.items.push(s);for(const{ref:i,labelRef:c,valueRef:l,connection:h}of e.bindItems.children){if(h)continue;if(!i)continue;const e=(0,n.searchNode)(this.root,t,i,!1,!1);if(e)for(const t of e){if(!t[a.$isDescendent](this.datasets)){(0,o.warn)(`XFA - Invalid ref (${i}): must be a datasets child.`);continue}const[e]=(0,n.searchNode)(this.root,t,c,!0,!1);if(!e){(0,o.warn)(`XFA - Invalid label: ${c}.`);continue}if(!e[a.$isDescendent](this.datasets)){(0,o.warn)("XFA - Invalid label: must be a datasets child.");continue}const[h]=(0,n.searchNode)(this.root,t,l,!0,!1);if(!h){(0,o.warn)(`XFA - Invalid value: ${l}.`);continue}if(!h[a.$isDescendent](this.datasets)){(0,o.warn)("XFA - Invalid value: must be a datasets child.");continue}const u=createText(e[a.$text]()),d=createText(h[a.$text]());r[a.$appendChild](u);r.text.push(u);s[a.$appendChild](d);s.text.push(d)}else(0,o.warn)(`XFA - Invalid reference: ${i}.`)}}_bindOccurrences(e,t,r){let i;t.length>1&&(i=e[a.$clone]());this._bindValue(e,t[0],r);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const n=e[a.$getParent](),s=e[a.$nodeName],o=n[a.$indexOf](e);for(let e=1,c=t.length;e!e[a.$consumed])));h.length>d?h=h.slice(0,d):0===h.length&&(h=null);h&&this._isConsumeData()&&h.forEach((e=>{e[a.$consumed]=!0}))}}else{if(!i.name){this._bindElement(i,t);continue}if(this._isConsumeData()){const e=[];for(;e.length0?e:null}else{h=t[a.$getRealChildrenByNameIt](i.name,!1,!1).next().value;if(!h){h=new a.XmlObject(t[a.$namespaceId],i.name);t[a.$appendChild](h)}h=[h]}}if(h){if(h.length0){this._setProperties(i,t);this._bindItems(i,t);this._bindElement(i,t)}else r.push(i)}r.forEach((e=>e[a.$getParent]()[a.$removeChild](e)))}}},(e,t,r)=>{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 a=r(68),i=r(70),n=r(73),s=r(74),o=r(69),c=r(2),l=r(75);const h=i.NamespaceIds.template.id;function _setValue(e,t){if(!e.value){const t=new Value({});e[a.$appendChild](t);e.value=t}e.value[a.$setValue](t)}function getRoot(e){let t=e[a.$getParent]();for(;!(t instanceof Template);)t=t[a.$getParent]();return t}function checkDimensions(e,t){if(""!==e.w&&Math.round(e.w+e.x-t.width)>1){const t=getRoot(e)[a.$extra].currentContentArea;return e.w+e.x>t.w?0:1}if(""!==e.h&&Math.round(e.h+e.y-t.height)>1){const t=getRoot(e)[a.$extra].currentContentArea;return e.h+e.y>t.h?0:1}return 2}class AppearanceFilter extends a.StringObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}}class Area extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.draw=new a.XFAObjectArray;this.exObject=new a.XFAObjectArray;this.exclGroup=new a.XFAObjectArray;this.field=new a.XFAObjectArray;this.subform=new a.XFAObjectArray;this.subformSet=new a.XFAObjectArray}[a.$isTransparent](){return!0}[a.$addHTML](e,t){const[r,i,n,s]=t;this[a.$extra].width=Math.max(this[a.$extra].width,r+n);this[a.$extra].height=Math.max(this[a.$extra].height,i+s);this[a.$extra].children.push(e)}[a.$getAvailableSpace](){return this[a.$extra].availableSpace}[a.$toHTML](e){const t=(0,n.toStyle)(this,"position"),r={style:t,id:this[a.$uid],class:"xfaArea"};this.name&&(r.xfaName=this.name);const i=[];this[a.$extra]={children:i,width:0,height:0,availableSpace:e};if(!this[a.$childrenToHTML]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0})){delete this[a.$extra];return o.HTMLResult.empty}t.width=(0,n.measureToString)(this[a.$extra].width);t.height=(0,n.measureToString)(this[a.$extra].height);const s={name:"div",attributes:r,children:i},c=[this.x,this.y,this[a.$extra].width,this[a.$extra].height];delete this[a.$extra];return o.HTMLResult.success(s,c)}}class Assist extends a.XFAObject{constructor(e){super(h,"assist",!0);this.id=e.id||"";this.role=e.role||"";this.use=e.use||"";this.usehref=e.usehref||"";this.speak=null;this.toolTip=null}}class Barcode extends a.XFAObject{constructor(e){super(h,"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-[0-9]{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 a.XFAObject{constructor(e){super(h,"bind",!0);this.match=(0,o.getStringOption)(e.match,["once","dataRef","global","none"]);this.ref=e.ref||"";this.picture=null}}class BindItems extends a.XFAObject{constructor(e){super(h,"bindItems");this.connection=e.connection||"";this.labelRef=e.labelRef||"";this.ref=e.ref||"";this.valueRef=e.valueRef||""}}t.BindItems=BindItems;class Bookend extends a.XFAObject{constructor(e){super(h,"bookend");this.id=e.id||"";this.leader=e.leader||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}}class BooleanElement extends a.Option01{constructor(e){super(h,"boolean");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$toHTML](e){return o.HTMLResult.success(1===this[a.$content])}}class Border extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray(4);this.edge=new a.XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[a.$toStyle](e,t){const r=this.edge.children.slice();if(r.length<4){const e=r[r.length-1]||new Edge({});for(let t=r.length;t<4;t++)r.push(e)}e=e||[0,0,0,0];for(let t=0;t<4;t++)e[t]=r[t].thickness;t=t||[0,0,0,0];const i=r.map((e=>{const t=e[a.$toStyle]();t.color=t.color||"#000000";return t}));let s;if(this.margin){s=this.margin[a.$toStyle]();t[0]=this.margin.topInset;t[1]=this.margin.rightInset;t[2]=this.margin.bottomInset;t[3]=this.margin.leftInset}else s=Object.create(null);let o=!1;const c=this[a.$getParent]();(c?c[a.$getParent]():null)instanceof Ui&&(o=!0);this.fill&&Object.assign(s,this.fill[a.$toStyle]());let l=!1;if(this.corner.children.some((e=>0!==e.radius))){const e=this.corner.children.map((e=>e[a.$toStyle]()));if(2===e.length||3===e.length){const t=e[e.length-1];for(let r=e.length;r<4;r++)e.push(t)}s.borderRadius=e.map((e=>e.radius)).join(" ");l=!0}const h=i[0];if(!l&&(this.edge.children.length<=1||i.every((e=>e.style===h.style&&e.width===h.width&&e.color===h.color))&&t.every((e=>e===t[0])))){let e;switch(this.presence){case"invisible":case"hidden":e="";break;case"inactive":e="none";break;default:e=h.style}s.outline=`${h.width} ${h.color} ${e}`;const a=r[0].thickness+t[0];s.outlineOffset=`-${(0,n.measureToString)(a)}`;o&&(s.padding=`${(0,n.measureToString)(a+1)}`)}else{switch(this.presence){case"invisible":case"hidden":s.borderStyle="";break;case"inactive":s.borderStyle="none";break;default:s.borderStyle=i.map((e=>e.style)).join(" ")}s.borderWidth=i.map((e=>e.width)).join(" ");s.borderColor=i.map((e=>e.color)).join(" ")}return s}}class Break extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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","pageEven","pageOdd"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}}class BreakBefore extends a.XFAObject{constructor(e){super(h,"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","pageEven","pageOdd"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}[a.$toHTML](e){this[a.$extra]={};return o.HTMLResult.FAILURE}}class Button extends a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){return o.HTMLResult.success({name:"button",attributes:{class:"xfaButton",style:{}},children:[]})}}class Calculate extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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=(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}[a.$setValue](e){_setValue(this,e)}[a.$toHTML](e){if(!this.value)return o.HTMLResult.EMPTY;const t=this.value[a.$toHTML](e).html;if(!t)return o.HTMLResult.EMPTY;const r=[];"string"==typeof t?r.push({name:"#text",value:t}):r.push(t);const i=(0,n.toStyle)(this,"font","margin","para","visibility");switch(this.placement){case"left":case"right":this.reserve>0?i.width=(0,n.measureToString)(this.reserve):i.minWidth=(0,n.measureToString)(this.reserve);break;case"top":case"bottom":this.reserve>0?i.height=(0,n.measureToString)(this.reserve):i.minHeight=(0,n.measureToString)(this.reserve)}return o.HTMLResult.success({name:"div",attributes:{style:i,class:"xfaCaption"},children:r})}}class Certificate extends a.StringObject{constructor(e){super(h,"certificate");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Certificates extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){const t=(0,n.toStyle)(this,"border","margin"),r=(0,n.measureToString)(this.size);t.width=t.height=r;let i,s;if("square"===this.shape){i="▪";s="10%"}else{i="●";s="50%"}t.borderRadius||(t.borderRadius=s);if("default"!==this.mark)switch(this.mark){case"check":i="✓";break;case"circle":i="●";break;case"cross":i="✕";break;case"diamond":i="♦";break;case"square":i="▪";break;case"star":i="★"}if("10px"!==r){t.fontSize=r;t.lineHeight=r;t.width=r;t.height=r}const c=this[a.$getParent]()[a.$getParent]()[a.$uid],l={name:"input",attributes:{class:"xfaCheckbox",fieldId:c,type:"radio",id:`${c}-radio`}},h=this[a.$getParent]()[a.$getParent]()[a.$getParent]();h instanceof ExclGroup&&(l.attributes.name=h[a.$uid]);return o.HTMLResult.success({name:"label",attributes:{class:"xfaLabel"},children:[l,{name:"span",attributes:{class:"xfaCheckboxMark",mark:i,style:t}}]})}}class ChoiceList extends a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){const t=(0,n.toStyle)(this,"border","margin"),r=this[a.$getParent]()[a.$getParent](),i=[];if(r.items.children.length>0){const e=r.items.children[0][a.$toHTML]().html,t=r.items.children[1]?r.items.children[1][a.$toHTML]().html:[];for(let r=0,a=e.length;re>=0});this.use=e.use||"";this.usehref=e.usehref||""}}class Connect extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){const t={position:"absolute",left:(0,n.measureToString)(this.x),top:(0,n.measureToString)(this.y),width:(0,n.measureToString)(this.w),height:(0,n.measureToString)(this.h)};return o.HTMLResult.success({name:"div",children:[],attributes:{style:t,class:"xfaContentarea",id:this[a.$uid]}})}}class Corner extends a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](){const e=(0,n.toStyle)(this,"visibility");e.radius=(0,n.measureToString)(this.radius);return e}}class DateElement extends a.ContentObject{constructor(e){super(h,"date");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){this[a.$content]=new Date(this[a.$content].trim())}[a.$toHTML](e){return o.HTMLResult.success(this[a.$content].toString())}}class DateTime extends a.ContentObject{constructor(e){super(h,"dateTime");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){this[a.$content]=new Date(this[a.$content].trim())}[a.$toHTML](e){return o.HTMLResult.success(this[a.$content].toString())}}class DateTimeEdit extends a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){const t=(0,n.toStyle)(this,"border","font","margin"),r={name:"input",attributes:{type:"text",fieldId:this[a.$getParent]()[a.$getParent]()[a.$uid],class:"xfaTextfield",style:t}};return o.HTMLResult.success({name:"label",attributes:{class:"xfaLabel"},children:[r]})}}class Decimal extends a.ContentObject{constructor(e){super(h,"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||""}[a.$finalize](){const e=parseFloat(this[a.$content].trim());this[a.$content]=isNaN(e)?null:e}[a.$toHTML](e){return o.HTMLResult.success(null!==this[a.$content]?this[a.$content].toString():"")}}class DefaultUi extends a.XFAObject{constructor(e){super(h,"defaultUi",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Desc extends a.XFAObject{constructor(e){super(h,"desc",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new a.XFAObjectArray;this.date=new a.XFAObjectArray;this.dateTime=new a.XFAObjectArray;this.decimal=new a.XFAObjectArray;this.exData=new a.XFAObjectArray;this.float=new a.XFAObjectArray;this.image=new a.XFAObjectArray;this.integer=new a.XFAObjectArray;this.text=new a.XFAObjectArray;this.time=new a.XFAObjectArray}}class DigestMethod extends a.OptionObject{constructor(e){super(h,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class DigestMethods extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Draw extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}[a.$setValue](e){_setValue(this,e)}[a.$toHTML](e){if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return o.HTMLResult.EMPTY;(0,n.fixDimensions)(this);if(""!==this.w&&""===this.h&&this.value){const e=this.value[a.$text]();if(e){const{height:t}=(0,n.layoutText)(e,this.font.size,{width:this.w,height:1/0});this.h=t||""}}switch(checkDimensions(this,e)){case 0:return o.HTMLResult.EMPTY;case 1:return o.HTMLResult.FAILURE}const t=(0,n.toStyle)(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","borderMarginPadding"),r=["xfaDraw"];this.font&&r.push("xfaFont");const i={style:t,id:this[a.$uid],class:r.join(" ")};this.name&&(i.xfaName=this.name);const s={name:"div",attributes:i,children:[]},c=(0,n.addExtraDivForBorder)(s),l=(0,n.computeBbox)(this,s,e),h=this.value?this.value[a.$toHTML](e).html:null;if(null===h)return o.HTMLResult.success(c,l);s.children.push(h);if("xfaRich"===h.attributes.class){""===this.h&&(t.height="auto");""===this.w&&(t.width="auto");if(this.para){i.style.display="flex";i.style.flexDirection="column";switch(this.para.vAlign){case"top":i.style.justifyContent="start";break;case"bottom":i.style.justifyContent="end";break;case"middle":i.style.justifyContent="center"}const e=this.para[a.$toStyle]();if(h.attributes.style)for(const[t,r]of Object.entries(e))t in h.attributes.style||(h.attributes.style[t]=r);else h.attributes.style=e}}return o.HTMLResult.success(c,l)}}class Edge extends a.XFAObject{constructor(e){super(h,"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=Math.max(1,Math.round((0,o.getMeasurement)(e.thickness,"0.5pt")));this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[a.$toStyle](){const e=(0,n.toStyle)(this,"visibility");Object.assign(e,{linecap:this.cap,width:(0,n.measureToString)(Math.max(1,Math.round(this.thickness))),color:this.color?this.color[a.$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 a.OptionObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Encrypt extends a.XFAObject{constructor(e){super(h,"encrypt",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=null}}class EncryptData extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class EncryptionMethod extends a.OptionObject{constructor(e){super(h,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EncryptionMethods extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Event extends a.XFAObject{constructor(e){super(h,"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 a.ContentObject{constructor(e){super(h,"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||""}[a.$onChild](e){if("text/html"===this.contentType&&e[a.$namespaceId]===i.NamespaceIds.xhtml.id){this[a.$content]=e;return!0}if("text/xml"===this.contentType){this[a.$content]=e;return!0}return!1}[a.$toHTML](e){return"text/html"===this.contentType&&this[a.$content]?this[a.$content][a.$toHTML](e):o.HTMLResult.EMPTY}}class ExObject extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.date=new a.XFAObjectArray;this.dateTime=new a.XFAObjectArray;this.decimal=new a.XFAObjectArray;this.exData=new a.XFAObjectArray;this.exObject=new a.XFAObjectArray;this.float=new a.XFAObjectArray;this.image=new a.XFAObjectArray;this.integer=new a.XFAObjectArray;this.text=new a.XFAObjectArray;this.time=new a.XFAObjectArray}}class ExclGroup extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.event=new a.XFAObjectArray;this.field=new a.XFAObjectArray;this.setProperty=new a.XFAObjectArray}[a.$hasSettableValue](){return!0}[a.$setValue](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[a.$appendChild](e);t.value=e}const r=new BooleanElement({});r[a.$content]=0;for(const i of t.items.children)if(i[a.$hasItem](e)){r[a.$content]=1;break}t.value[a.$setValue](r)}}[a.$flushHTML](){return(0,s.flushHTML)(this)}[a.$addHTML](e,t){(0,s.addHTML)(this,e,t)}[a.$getAvailableSpace](){return(0,s.getAvailableSpace)(this)}[a.$toHTML](e){if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return o.HTMLResult.EMPTY;(0,n.fixDimensions)(this);const t=[],r={id:this[a.$uid]};this[a.$extra]||(this[a.$extra]=Object.create(null));Object.assign(this[a.$extra],{children:t,attributes:r,attempt:0,availableSpace:e,width:0,height:0,prevHeight:0,currentWidth:0});switch(checkDimensions(this,e)){case 0:return o.HTMLResult.EMPTY;case 1:return o.HTMLResult.FAILURE}e={width:""===this.w?e.width:this.w,height:""===this.h?e.height:this.h};const i=new Set(["field"]);if("row"===this.layout){const e=this[a.$getParent]().columnWidths;if(Array.isArray(e)&&e.length>0){this[a.$extra].columnWidths=e;this[a.$extra].currentColumn=0}}const s=(0,n.toStyle)(this,"anchorType","dimensions","position","presence","borderMarginPadding","hAlign"),c=["xfaExclgroup"],l=(0,n.layoutClass)(this);l&&c.push(l);r.style=s;r.class=c.join(" ");this.name&&(r.xfaName=this.name);let h;if("lr-tb"===this.layout||"rl-tb"===this.layout){for(;this[a.$extra].attempt<2&&!this[a.$childrenToHTML]({filter:i,include:!0});this[a.$extra].attempt++);h=2===this[a.$extra].attempt}else h=!this[a.$childrenToHTML]({filter:i,include:!0});if(h)return o.HTMLResult.FAILURE;let u=0,d=0;if(this.margin){u=this.margin.leftInset+this.margin.rightInset;d=this.margin.topInset+this.margin.bottomInset}""===this.w&&(s.width=(0,n.measureToString)(this[a.$extra].width+u));""===this.h&&(s.height=(0,n.measureToString)(this[a.$extra].height+d));let f,g={name:"div",attributes:r,children:t};g=(0,n.addExtraDivForBorder)(g);if(""!==this.w&&""!==this.h)f=[this.x,this.y,this.w,this.h];else{const e=""===this.w?u+this[a.$extra].width:this.w,t=""===this.h?d+this[a.$extra].height:this.h;f=[this.x,this.y,e,t]}delete this[a.$extra];return o.HTMLResult.success(g,f)}}class Execute extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"extras",!0);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new a.XFAObjectArray;this.date=new a.XFAObjectArray;this.dateTime=new a.XFAObjectArray;this.decimal=new a.XFAObjectArray;this.exData=new a.XFAObjectArray;this.extras=new a.XFAObjectArray;this.float=new a.XFAObjectArray;this.image=new a.XFAObjectArray;this.integer=new a.XFAObjectArray;this.text=new a.XFAObjectArray;this.time=new a.XFAObjectArray}}class Field extends a.XFAObject{constructor(e){super(h,"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 a.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 a.XFAObjectArray;this.connect=new a.XFAObjectArray;this.event=new a.XFAObjectArray;this.setProperty=new a.XFAObjectArray}[a.$setValue](e){_setValue(this,e)}[a.$toHTML](e){if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return o.HTMLResult.EMPTY;(0,n.fixDimensions)(this);switch(checkDimensions(this,e)){case 0:return o.HTMLResult.EMPTY;case 1:return o.HTMLResult.FAILURE}const t=(0,n.toStyle)(this,"font","dimensions","position","rotate","anchorType","presence","borderMarginPadding","hAlign"),r=["xfaField"];this.font&&r.push("xfaFont");const i={style:t,id:this[a.$uid],class:r.join(" ")};this.name&&(i.xfaName=this.name);const s=[];let c={name:"div",attributes:i,children:s};const l=(0,n.computeBbox)(this,c,e);c=(0,n.addExtraDivForBorder)(c);const h=this.ui?this.ui[a.$toHTML]().html:null;if(!h)return o.HTMLResult.success(c,l);h.attributes.style||(h.attributes.style=Object.create(null));s.push(h);if(this.value)if(this.ui.imageEdit)h.children.push(this.value[a.$toHTML]().html);else if("button"!==h.name){const e=this.value[a.$toHTML]().html;e&&("textarea"===h.children[0].name?h.children[0].attributes.textContent=e.value:h.children[0].attributes.value=e.value)}const u=this.caption?this.caption[a.$toHTML]().html:null;if(!u)return o.HTMLResult.success(c,l);if("button"===h.name){h.attributes.style.background=t.background;delete t.background;"div"===u.name&&(u.name="span");h.children.push(u);return o.HTMLResult.success(c,l)}h.children.splice(0,0,u);switch(this.caption.placement){case"left":h.attributes.style.flexDirection="row";break;case"right":h.attributes.style.flexDirection="row-reverse";break;case"top":h.attributes.style.alignItems="start";h.attributes.style.flexDirection="column";break;case"bottom":h.attributes.style.alignItems="start";h.attributes.style.flexDirection="column-reverse";break;case"inline":delete h.attributes.class;u.attributes.style.float="left"}return o.HTMLResult.success(c,l)}}t.Field=Field;class Fill extends a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](){let e="color";this[a.$getParent]()instanceof Border&&(e="background");const t=Object.create(null);for(const r of Object.getOwnPropertyNames(this)){if("extras"===r||"color"===r)continue;const i=this[r];if(i instanceof a.XFAObject){t[e]=i[a.$toStyle](this.color);return t}}this.color&&(t[e]=this.color[a.$toStyle]());return t}}class Filter extends a.XFAObject{constructor(e){super(h,"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 a.ContentObject{constructor(e){super(h,"float");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){const e=parseFloat(this[a.$content].trim());this[a.$content]=isNaN(e)?null:e}[a.$toHTML](e){return o.HTMLResult.success(null!==this[a.$content]?this[a.$content].toString():"")}}class Font extends a.XFAObject{constructor(e){super(h,"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||"";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}[a.$toStyle](){const e=(0,n.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,n.measureToString)(this.baselineShift));"none"!==this.kerningMode&&(e.fontKerning="normal");this.letterSpacing&&(e.letterSpacing=(0,n.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")}"normal"!==this.posture&&(e.fontStyle=this.posture);const r=(0,n.measureToString)(.99*this.size);"10px"!==r&&(e.fontSize=r);e.fontFamily=(0,n.getFonts)(this.typeface);if(0!==this.underline){e.textDecoration="underline";2===this.underline&&(e.textDecorationStyle="double")}"normal"!==this.weight&&(e.fontWeight=this.weight);return e}}class Format extends a.XFAObject{constructor(e){super(h,"format",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null}}class Handler extends a.StringObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.StringObject{constructor(e){super(h,"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||""}[a.$toHTML](){if(this.href||!this[a.$content])return o.HTMLResult.EMPTY;if("base64"===this.transferEncoding){const e=(0,c.stringToBytes)(atob(this[a.$content])),t=new Blob([e],{type:this.contentType});return o.HTMLResult.success({name:"img",attributes:{class:"xfaImage",style:{},src:URL.createObjectURL(t)}})}return o.HTMLResult.EMPTY}}class ImageEdit extends a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){return"embed"===this.data?o.HTMLResult.success({name:"div",children:[],attributes:{}}):o.HTMLResult.EMPTY}}class Integer extends a.ContentObject{constructor(e){super(h,"integer");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){const e=parseInt(this[a.$content].trim(),10);this[a.$content]=isNaN(e)?null:e}[a.$toHTML](e){return o.HTMLResult.success(null!==this[a.$content]?this[a.$content].toString():"")}}class Issuers extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Items extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.date=new a.XFAObjectArray;this.dateTime=new a.XFAObjectArray;this.decimal=new a.XFAObjectArray;this.exData=new a.XFAObjectArray;this.float=new a.XFAObjectArray;this.image=new a.XFAObjectArray;this.integer=new a.XFAObjectArray;this.text=new a.XFAObjectArray;this.time=new a.XFAObjectArray}[a.$hasItem](e){return this.hasOwnProperty(e[a.$nodeName])&&this[e[a.$nodeName]].children.some((t=>t[a.$content]===e[a.$content]))}[a.$toHTML](){const e=[];for(const t of this[a.$getChildren]())e.push(t[a.$text]());return o.HTMLResult.success(e)}}t.Items=Items;class Keep extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}}class Linear extends a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](e){e=e?e[a.$toStyle]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[a.$toStyle]():"#000000"})`}}class LockDocument extends a.ContentObject{constructor(e){super(h,"lockDocument");this.id=e.id||"";this.type=(0,o.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){this[a.$content]=(0,o.getStringOption)(this[a.$content],["auto","0","1"])}}class Manifest extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Margin extends a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](){return{margin:(0,n.measureToString)(this.topInset)+" "+(0,n.measureToString)(this.rightInset)+" "+(0,n.measureToString)(this.bottomInset)+" "+(0,n.measureToString)(this.leftInset)}}}class Mdp extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"message",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.text=new a.XFAObjectArray}}class NumericEdit extends a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){const t=(0,n.toStyle)(this,"border","font","margin"),r={name:"input",attributes:{type:"text",fieldId:this[a.$getParent]()[a.$getParent]()[a.$uid],class:"xfaTextfield",style:t}};return o.HTMLResult.success({name:"label",attributes:{class:"xfaLabel"},children:[r]})}}class Occur extends a.XFAObject{constructor(e){super(h,"occur",!0);this.id=e.id||"";this.initial=(0,o.getInteger)({data:e.initial,defaultValue:1,validate:e=>!0});this.max=(0,o.getInteger)({data:e.max,defaultValue:1,validate:e=>!0});this.min=(0,o.getInteger)({data:e.min,defaultValue:1,validate:e=>!0});this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Oid extends a.StringObject{constructor(e){super(h,"oid");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Oids extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Overflow extends a.XFAObject{constructor(e){super(h,"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||""}}class PageArea extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.contentArea=new a.XFAObjectArray;this.draw=new a.XFAObjectArray;this.exclGroup=new a.XFAObjectArray;this.field=new a.XFAObjectArray;this.subform=new a.XFAObjectArray}[a.$getNextPage](){this[a.$extra]||(this[a.$extra]={numberOfUse:1});const e=this[a.$getParent]();if("orderedOccurrence"===e.relation&&this.occur&&(-1===this.occur.max||this[a.$extra].numberOfUse0?this.pageArea.children[0]:this.pageSet.children[0][a.$getNextPage]()}delete this[a.$extra];const e=this[a.$getParent]();return e instanceof PageSet?e[a.$getNextPage]():this[a.$getNextPage]()}const e=getRoot(this)[a.$extra].pageNumber,t=e%2==0?"even":"odd",r=0===e?"first":"rest";let i=this.pageArea.children.find((e=>e.oddOrEven===t&&e.pagePosition===r));if(i)return i;i=this.pageArea.children.find((e=>"any"===e.oddOrEven&&e.pagePosition===r));if(i)return i;i=this.pageArea.children.find((e=>"any"===e.oddOrEven&&"any"===e.pagePosition));return i||this.pageArea.children[0]}}class Para extends a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](){const e=(0,n.toStyle)(this,"hAlign");""!==this.marginLeft&&(e.marginLeft=(0,n.measureToString)(this.marginLeft));""!==this.marginRight&&(e.marginRight=(0,n.measureToString)(this.marginRight));""!==this.spaceAbove&&(e.marginTop=(0,n.measureToString)(this.spaceAbove));""!==this.spaceBelow&&(e.marginBottom=(0,n.measureToString)(this.spaceBelow));if(""!==this.textIndent){e.textIndent=(0,n.measureToString)(this.textIndent);(0,n.fixTextIndent)(e)}this.lineHeight>0&&(e.lineHeight=(0,n.measureToString)(this.lineHeight));""!==this.tabDefault&&(e.tabSize=(0,n.measureToString)(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[a.$toStyle]());return e}}class PasswordEdit extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](e){e=e?e[a.$toStyle]():"#FFFFFF";const t=this.color?this.color[a.$toStyle]():"#000000",r="repeating-linear-gradient",i=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${r}(to top,${i}) ${r}(to right,${i})`;case"crossDiagonal":return`${r}(45deg,${i}) ${r}(-45deg,${i})`;case"diagonalLeft":return`${r}(45deg,${i})`;case"diagonalRight":return`${r}(-45deg,${i})`;case"horizontal":return`${r}(to top,${i})`;case"vertical":return`${r}(to right,${i})`}return""}}class Picture extends a.StringObject{constructor(e){super(h,"picture");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Proto extends a.XFAObject{constructor(e){super(h,"proto",!0);this.appearanceFilter=new a.XFAObjectArray;this.arc=new a.XFAObjectArray;this.area=new a.XFAObjectArray;this.assist=new a.XFAObjectArray;this.barcode=new a.XFAObjectArray;this.bindItems=new a.XFAObjectArray;this.bookend=new a.XFAObjectArray;this.boolean=new a.XFAObjectArray;this.border=new a.XFAObjectArray;this.break=new a.XFAObjectArray;this.breakAfter=new a.XFAObjectArray;this.breakBefore=new a.XFAObjectArray;this.button=new a.XFAObjectArray;this.calculate=new a.XFAObjectArray;this.caption=new a.XFAObjectArray;this.certificate=new a.XFAObjectArray;this.certificates=new a.XFAObjectArray;this.checkButton=new a.XFAObjectArray;this.choiceList=new a.XFAObjectArray;this.color=new a.XFAObjectArray;this.comb=new a.XFAObjectArray;this.connect=new a.XFAObjectArray;this.contentArea=new a.XFAObjectArray;this.corner=new a.XFAObjectArray;this.date=new a.XFAObjectArray;this.dateTime=new a.XFAObjectArray;this.dateTimeEdit=new a.XFAObjectArray;this.decimal=new a.XFAObjectArray;this.defaultUi=new a.XFAObjectArray;this.desc=new a.XFAObjectArray;this.digestMethod=new a.XFAObjectArray;this.digestMethods=new a.XFAObjectArray;this.draw=new a.XFAObjectArray;this.edge=new a.XFAObjectArray;this.encoding=new a.XFAObjectArray;this.encodings=new a.XFAObjectArray;this.encrypt=new a.XFAObjectArray;this.encryptData=new a.XFAObjectArray;this.encryption=new a.XFAObjectArray;this.encryptionMethod=new a.XFAObjectArray;this.encryptionMethods=new a.XFAObjectArray;this.event=new a.XFAObjectArray;this.exData=new a.XFAObjectArray;this.exObject=new a.XFAObjectArray;this.exclGroup=new a.XFAObjectArray;this.execute=new a.XFAObjectArray;this.extras=new a.XFAObjectArray;this.field=new a.XFAObjectArray;this.fill=new a.XFAObjectArray;this.filter=new a.XFAObjectArray;this.float=new a.XFAObjectArray;this.font=new a.XFAObjectArray;this.format=new a.XFAObjectArray;this.handler=new a.XFAObjectArray;this.hyphenation=new a.XFAObjectArray;this.image=new a.XFAObjectArray;this.imageEdit=new a.XFAObjectArray;this.integer=new a.XFAObjectArray;this.issuers=new a.XFAObjectArray;this.items=new a.XFAObjectArray;this.keep=new a.XFAObjectArray;this.keyUsage=new a.XFAObjectArray;this.line=new a.XFAObjectArray;this.linear=new a.XFAObjectArray;this.lockDocument=new a.XFAObjectArray;this.manifest=new a.XFAObjectArray;this.margin=new a.XFAObjectArray;this.mdp=new a.XFAObjectArray;this.medium=new a.XFAObjectArray;this.message=new a.XFAObjectArray;this.numericEdit=new a.XFAObjectArray;this.occur=new a.XFAObjectArray;this.oid=new a.XFAObjectArray;this.oids=new a.XFAObjectArray;this.overflow=new a.XFAObjectArray;this.pageArea=new a.XFAObjectArray;this.pageSet=new a.XFAObjectArray;this.para=new a.XFAObjectArray;this.passwordEdit=new a.XFAObjectArray;this.pattern=new a.XFAObjectArray;this.picture=new a.XFAObjectArray;this.radial=new a.XFAObjectArray;this.reason=new a.XFAObjectArray;this.reasons=new a.XFAObjectArray;this.rectangle=new a.XFAObjectArray;this.ref=new a.XFAObjectArray;this.script=new a.XFAObjectArray;this.setProperty=new a.XFAObjectArray;this.signData=new a.XFAObjectArray;this.signature=new a.XFAObjectArray;this.signing=new a.XFAObjectArray;this.solid=new a.XFAObjectArray;this.speak=new a.XFAObjectArray;this.stipple=new a.XFAObjectArray;this.subform=new a.XFAObjectArray;this.subformSet=new a.XFAObjectArray;this.subjectDN=new a.XFAObjectArray;this.subjectDNs=new a.XFAObjectArray;this.submit=new a.XFAObjectArray;this.text=new a.XFAObjectArray;this.textEdit=new a.XFAObjectArray;this.time=new a.XFAObjectArray;this.timeStamp=new a.XFAObjectArray;this.toolTip=new a.XFAObjectArray;this.traversal=new a.XFAObjectArray;this.traverse=new a.XFAObjectArray;this.ui=new a.XFAObjectArray;this.validate=new a.XFAObjectArray;this.value=new a.XFAObjectArray;this.variables=new a.XFAObjectArray}}class Radial extends a.XFAObject{constructor(e){super(h,"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}[a.$toStyle](e){e=e?e[a.$toStyle]():"#FFFFFF";const t=this.color?this.color[a.$toStyle]():"#000000";return`radial-gradient(circle to center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends a.StringObject{constructor(e){super(h,"reason");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Reasons extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Rectangle extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray(4);this.edge=new a.XFAObjectArray(4);this.fill=null}}class RefElement extends a.StringObject{constructor(e){super(h,"ref");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Script extends a.StringObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"setProperty");this.connection=e.connection||"";this.ref=e.ref||"";this.target=e.target||""}}t.SetProperty=SetProperty;class SignData extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Solid extends a.XFAObject{constructor(e){super(h,"solid",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[a.$toStyle](e){return e?e[a.$toStyle]():"#FFFFFF"}}class Speak extends a.StringObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}[a.$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 a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.breakAfter=new a.XFAObjectArray;this.breakBefore=new a.XFAObjectArray;this.connect=new a.XFAObjectArray;this.draw=new a.XFAObjectArray;this.event=new a.XFAObjectArray;this.exObject=new a.XFAObjectArray;this.exclGroup=new a.XFAObjectArray;this.field=new a.XFAObjectArray;this.proto=new a.XFAObjectArray;this.setProperty=new a.XFAObjectArray;this.subform=new a.XFAObjectArray;this.subformSet=new a.XFAObjectArray}[a.$flushHTML](){return(0,s.flushHTML)(this)}[a.$addHTML](e,t){(0,s.addHTML)(this,e,t)}[a.$getAvailableSpace](){return(0,s.getAvailableSpace)(this)}[a.$toHTML](e){if("helpText"===this.name)return o.HTMLResult.EMPTY;if(this[a.$extra]&&this[a.$extra].afterBreakAfter){const e=this[a.$extra].afterBreakAfter;delete this[a.$extra];return e}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.");(0,n.fixDimensions)(this);const t=[],r={id:this[a.$uid]};this[a.$extra]||(this[a.$extra]=Object.create(null));Object.assign(this[a.$extra],{children:t,attributes:r,attempt:0,availableSpace:e,width:0,height:0,prevHeight:0,currentWidth:0});if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(!e[a.$extra]){e[a.$extra]=!0;getRoot(this)[a.$break](e);return o.HTMLResult.FAILURE}}switch(checkDimensions(this,e)){case 0:return o.HTMLResult.EMPTY;case 1:return o.HTMLResult.FAILURE}const i=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[a.$getParent]().columnWidths;if(Array.isArray(e)&&e.length>0){this[a.$extra].columnWidths=e;this[a.$extra].currentColumn=0}}const s=(0,n.toStyle)(this,"anchorType","dimensions","position","presence","borderMarginPadding","hAlign"),l=["xfaSubform"],h=(0,n.layoutClass)(this);h&&l.push(h);r.style=s;r.class=l.join(" ");this.name&&(r.xfaName=this.name);let u;if("lr-tb"===this.layout||"rl-tb"===this.layout){for(;this[a.$extra].attempt<2&&!this[a.$childrenToHTML]({filter:i,include:!0});this[a.$extra].attempt++);u=2===this[a.$extra].attempt}else u=!this[a.$childrenToHTML]({filter:i,include:!0});if(u)return o.HTMLResult.FAILURE;let d=0,f=0;if(this.margin){d=this.margin.leftInset+this.margin.rightInset;f=this.margin.topInset+this.margin.bottomInset}""===this.w&&(s.width=(0,n.measureToString)(this[a.$extra].width+d));""===this.h&&(s.height=(0,n.measureToString)(this[a.$extra].height+f));let g,p={name:"div",attributes:r,children:t};p=(0,n.addExtraDivForBorder)(p);if(""!==this.w&&""!==this.h)g=[this.x,this.y,this.w,this.h];else{const e=""===this.w?d+this[a.$extra].width:this.w,t=""===this.h?f+this[a.$extra].height:this.h;g=[this.x,this.y,e,t]}if(this.breakAfter.children.length>=1){const e=this.breakAfter.children[0];getRoot(this)[a.$break](e);this[a.$extra].afterBreakAfter=o.HTMLResult.success(p,g);return o.HTMLResult.FAILURE}delete this[a.$extra];return o.HTMLResult.success(p,g)}}class SubformSet extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray;this.breakBefore=new a.XFAObjectArray;this.subform=new a.XFAObjectArray;this.subformSet=new a.XFAObjectArray}[a.$toHTML](){const e=[];this[a.$extra]||(this[a.$extra]=Object.create(null));this[a.$extra].children=e;this[a.$childrenToHTML]({filter:new Set(["subform","subformSet"]),include:!0});return o.HTMLResult.success({name:"div",children:e,attributes:{id:this[a.$uid]}})}}class SubjectDN extends a.ContentObject{constructor(e){super(h,"subjectDN");this.delimiter=e.delimiter||",";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){this[a.$content]=new Map(this[a.$content].split(this.delimiter).map((e=>{(e=e.split("=",2))[0]=e[0].trim();return e})))}}class SubjectDNs extends a.XFAObject{constructor(e){super(h,"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 a.XFAObjectArray}}class Submit extends a.XFAObject{constructor(e){super(h,"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-[0-9]{2}/)});this.use=e.use||"";this.usehref=e.usehref||"";this.xdpContent=e.xdpContent||"";this.encrypt=null;this.encryptData=new a.XFAObjectArray;this.signData=new a.XFAObjectArray}}class Template extends a.XFAObject{constructor(e){super(h,"template",!0);this.baseProfile=(0,o.getStringOption)(e.baseProfile,["full","interactiveForms"]);this.extras=null;this.subform=new a.XFAObjectArray}[a.$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.")}[a.$break](e){this[a.$extra].breakingNode=e}[a.$searchNode](e,t){return e.startsWith("#")?[this[a.$ids].get(e.slice(1))]:(0,l.searchNode)(this,t,e,!0,!0)}[a.$toHTML](){if(!this.subform.children.length)return o.HTMLResult.success({name:"div",children:[]});this[a.$extra]={breakingNode:null,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank"};const e=this.subform.children[0],t=e.pageSet.pageArea.children,r={name:"div",children:[]};let i=null,n=null,s=null;if(e.breakBefore.children.length>=1){n=e.breakBefore.children[0];s=n.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){n=e.subform.children[0].breakBefore.children[0];s=n.target}else if(e.break&&e.break.beforeTarget){n=e.break;s=n.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break&&e.subform.children[0].break.beforeTarget){n=e.subform.children[0].break;s=n.beforeTarget}if(n){const e=this[a.$searchNode](s,n[a.$getParent]());if(e instanceof PageArea){i=e;n[a.$extra]={}}}i||(i=t[0]);const c=i[a.$getParent]();c[a.$extra]={numberOfUse:1,currentIndex:c.pageArea.children.indexOf(i)};let l,h=null,u=null;for(;;){l=null;const t=i[a.$toHTML]().html;r.children.push(t);if(h){t.children.push(h[a.$toHTML](t[a.$extra].space).html);h=null}if(u){t.children.push(u[a.$toHTML](t[a.$extra].space).html);u=null}const n=i.contentArea.children,s=t.children.filter((e=>"xfaContentarea"===e.attributes.class));for(let t=0,o=n.length;te>=0});this.name=e.name||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$onChild](e){if(e[a.$namespaceId]===i.NamespaceIds.xhtml.id){this[a.$content]=e;return!0}(0,c.warn)(`XFA - Invalid content in Text: ${e[a.$nodeName]}.`);return!1}[a.$toHTML](e){if("string"==typeof this[a.$content]){const e={name:"span",attributes:{class:"xfaRich",style:{}},value:this[a.$content]};if(this[a.$content].includes("\u2029")){e.name="div";e.children=[];this[a.$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[a.$content])){e.name="div";e.children=[];this[a.$content].split(/[\u2028\n]/).forEach((t=>{e.children.push({name:"span",value:t},{name:"br"})}))}return o.HTMLResult.success(e)}return this[a.$content][a.$toHTML](e)}}t.Text=Text;class TextEdit extends a.XFAObject{constructor(e){super(h,"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:1,validate:e=>0===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}[a.$toHTML](e){const t=(0,n.toStyle)(this,"border","font","margin");let r;r=1===this.multiLine?{name:"textarea",attributes:{fieldId:this[a.$getParent]()[a.$getParent]()[a.$uid],class:"xfaTextfield",style:t}}:{name:"input",attributes:{type:"text",fieldId:this[a.$getParent]()[a.$getParent]()[a.$uid],class:"xfaTextfield",style:t}};return o.HTMLResult.success({name:"label",attributes:{class:"xfaLabel"},children:[r]})}}class Time extends a.StringObject{constructor(e){super(h,"time");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[a.$finalize](){this[a.$content]=new Date(this[a.$content])}[a.$toHTML](e){return o.HTMLResult.success(this[a.$content].toString())}}class TimeStamp extends a.XFAObject{constructor(e){super(h,"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 a.StringObject{constructor(e){super(h,"toolTip");this.id=e.id||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Traversal extends a.XFAObject{constructor(e){super(h,"traversal",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.traverse=new a.XFAObjectArray}}class Traverse extends a.XFAObject{constructor(e){super(h,"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}[a.$isTransparent](){return!1}}class Ui extends a.XFAObject{constructor(e){super(h,"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}[a.$toHTML](e){for(const t of Object.getOwnPropertyNames(this)){if("extras"===t||"picture"===t)continue;const r=this[t];if(r instanceof a.XFAObject)return r[a.$toHTML](e)}return o.HTMLResult.EMPTY}}class Validate extends a.XFAObject{constructor(e){super(h,"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 a.XFAObject{constructor(e){super(h,"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}[a.$setValue](e){const t=this[a.$getParent]();if(t instanceof Field&&t.ui&&t.ui.imageEdit){this.image||(this.image=new Image({}));this.image[a.$content]=e[a.$content];return}const r=e[a.$nodeName];if(null===this[r]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof a.XFAObject){this[e]=null;this[a.$removeChild](t)}}this[e[a.$nodeName]]=e;this[a.$appendChild](e)}else this[r][a.$content]=e[a.$content]}[a.$text](){if(this.exData)return this.exData[a.$content][a.$text]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof a.XFAObject)return(t[a.$content]||"").toString().trim()}return null}[a.$toHTML](e){for(const t of Object.getOwnPropertyNames(this)){const r=this[t];if(r instanceof a.XFAObject)return r[a.$toHTML](e)}return o.HTMLResult.EMPTY}}t.Value=Value;class Variables extends a.XFAObject{constructor(e){super(h,"variables",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new a.XFAObjectArray;this.date=new a.XFAObjectArray;this.dateTime=new a.XFAObjectArray;this.decimal=new a.XFAObjectArray;this.exData=new a.XFAObjectArray;this.float=new a.XFAObjectArray;this.image=new a.XFAObjectArray;this.integer=new a.XFAObjectArray;this.manifest=new a.XFAObjectArray;this.script=new a.XFAObjectArray;this.text=new a.XFAObjectArray;this.time=new a.XFAObjectArray}[a.$isTransparent](){return!0}}class TemplateNamespace{static[i.$buildXFAObject](e,t){if(TemplateNamespace.hasOwnProperty(e)){const r=TemplateNamespace[e](t);r[a.$setSetAttributes](t);return r}}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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.addExtraDivForBorder=function addExtraDivForBorder(e){const t=e.attributes.style,r=t.borderData,a=[],i={class:"xfaWrapper",style:Object.create(null)};for(const e of["top","left"])void 0!==t[e]&&(i.style[e]=t[e]);delete t.top;delete t.left;"absolute"===t.position?i.style.position="absolute":i.style.position="relative";delete t.position;if(t.justifyContent){i.style.justifyContent=t.justifyContent;delete t.justifyContent}if(r){delete t.borderData;let e;if(r.margin){e=r.margin.split(" ");delete r.margin}else e=["0px","0px","0px","0px"];let i="100%",n=i;"0px"===e[1]&&"0px"===e[3]||(i=`calc(100% - ${parseInt(e[1])+parseInt(e[3])}px`);"0px"===e[0]&&"0px"===e[2]||(n=`calc(100% - ${parseInt(e[0])+parseInt(e[2])}px`);const s={top:e[0],left:e[3],width:i,height:n};for(const[e,t]of Object.entries(r))s[e]=t;t.transform&&(s.transform=t.transform);const o={name:"div",attributes:{class:"xfaBorderDiv",style:s}};a.push(o)}a.push(e);return{name:"div",attributes:i,children:a}};t.computeBbox=function computeBbox(e,t,r){let i;if(""!==e.w&&""!==e.h)i=[e.x,e.y,e.w,e.h];else{if(!r)return null;let n=e.w;if(""===n){if(0===e.maxW){const t=e[a.$getParent]();n="position"===t.layout&&""!==t.w?0:e.minW}else n=Math.min(e.maxW,r.width);t.attributes.style.width=measureToString(n)}let s=e.h;if(""===s){if(0===e.maxH){const t=e[a.$getParent]();s="position"===t.layout&&""!==t.h?0:e.minH}else s=Math.min(e.maxH,r.height);t.attributes.style.height=measureToString(s)}i=[e.x,e.y,n,s]}return i};t.fixDimensions=function fixDimensions(e){const t=e[a.$getParent]();if(t.layout&&t.layout.includes("row")){const r=t[a.$extra],i=e.colSpan;let n;n=-1===i?r.columnWidths.slice(r.currentColumn).reduce(((e,t)=>e+t),0):r.columnWidths.slice(r.currentColumn,r.currentColumn+i).reduce(((e,t)=>e+t),0);isNaN(n)||(e.w=n)}t.w&&e.w&&(e.w=Math.min(t.w,e.w));t.h&&e.h&&(e.h=Math.min(t.h,e.h));if(t.layout&&"position"!==t.layout){e.x=e.y=0;"tb"===t.layout&&""!==t.w&&(""===e.w||0===e.w||e.w>t.w)&&(e.w=t.w)}if("position"===e.layout){e.minW=e.minH=0;e.maxW=e.maxH=1/0}else"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 r=e.textAlign||"left";if("left"===r||"right"===r){const a="margin"+("left"===r?"Left":"Right"),n=(0,i.getMeasurement)(e[a],"0px");e[a]=n-t+"pt"}};t.getFonts=function getFonts(e){e.startsWith("'")?e=`"${e.slice(1,e.length-1)}"`:e.includes(" ")&&!e.startsWith('"')&&(e=`"${e}"`);const t=[e];switch(e){case'"Myriad Pro"':t.push('"Roboto Condensed"','"Ubuntu Condensed"','"Microsoft Sans Serif"','"Apple Symbols"',"Helvetica",'"sans serif"');break;case"Arial":t.push("Helvetica",'"Liberation Sans"',"Arimo",'"sans serif"')}return t.join(",")};t.layoutClass=function layoutClass(e){switch(e.layout){case"position":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";default:return"xfaPosition"}};t.layoutText=function layoutText(e,t,r){let a=0,i=0,n=0;const c=1.5*t,l=.4*t,h=Math.floor(r.width/l),u=e.match(s);let d=0,f=0,g=u[0];for(;g;){const e=g.length*l;if(a+e<=r.width){a+=e;d+=g.length;g=u[f++]}else if(!o.test(g)||g.length>h){const e=Math.floor((r.width-a)/l);g=g.slice(e);d+=e;if(i+c>r.height)return{width:0,height:0,splitPos:d};n=Math.max(a,n);a=0;i+=c}else{if(i+c>r.height)return{width:0,height:0,splitPos:d};n=Math.max(a,n);a=e;i+=c;g=u[f++]}}0===n&&(n=a);0!==n&&(i+=c);return{width:n,height:i,splitPos:-1}};t.measureToString=measureToString;t.toStyle=function toStyle(e,...t){const r=Object.create(null);for(const i of t){const t=e[i];if(null!==t)if(t instanceof a.XFAObject){const e=t[a.$toStyle]();e?Object.assign(r,e):(0,n.warn)(`(DEBUG) - XFA - style for ${i} not implemented yet`)}else c.hasOwnProperty(i)&&c[i](e,r)}return r};var a=r(68),i=r(69),n=r(2);const s=new RegExp("([\\p{N}\\p{L}\\p{M}]+)|([^\\p{N}\\p{L}\\p{M}]+)","gu"),o=new RegExp("^[\\p{N}\\p{L}\\p{M}]","u");function measureToString(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const c={anchorType(e,t){const r=e[a.$getParent]();if(r&&(!r.layout||"position"===r.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 r=e[a.$getParent]();let i=e.w;const n=e.h;if(r.layout&&r.layout.includes("row")){const t=r[a.$extra],n=e.colSpan;let s;if(-1===n){s=t.columnWidths.slice(t.currentColumn).reduce(((e,t)=>e+t),0);t.currentColumn=0}else{s=t.columnWidths.slice(t.currentColumn,t.currentColumn+n).reduce(((e,t)=>e+t),0);t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(s)||(i=e.w=s)}if(""!==i)t.width=measureToString(i);else{t.width="auto";e.maxW>0&&(t.maxWidth=measureToString(e.maxW));"position"===r.layout&&(t.minWidth=measureToString(e.minW))}if(""!==n)t.height=measureToString(n);else{t.height="auto";e.maxH>0&&(t.maxHeight=measureToString(e.maxH));"position"===r.layout&&(t.minHeight=measureToString(e.minH))}},position(e,t){const r=e[a.$getParent]();if(!r||!r.layout||"position"===r.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[a.$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"right":case"center":t.justifyContent=e.hAlign}},borderMarginPadding(e,t){const r=[0,0,0,0],i=[0,0,0,0],n=e.margin?[e.margin.topInset,e.margin.rightInset,e.margin.bottomInset,e.margin.leftInset]:[0,0,0,0];let s;if(e.border){Object.assign(t,e.border[a.$toStyle](r,i));s=t.margin;delete t.margin}if(r.every((e=>0===e))){if(n.every((e=>0===e)))return;Object.assign(t,e.margin[a.$toStyle]());t.padding=t.margin;delete t.margin;delete t.outline;delete t.outlineOffset}else{if(e.margin){Object.assign(t,e.margin[a.$toStyle]());t.padding=t.margin;delete t.margin}if(t.borderWidth){t.borderData={borderWidth:t.borderWidth,borderColor:t.borderColor,borderStyle:t.borderStyle,margin:s};delete t.borderWidth;delete t.borderColor;delete t.borderStyle}}}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.addHTML=function addHTML(e,t,r){const n=e[a.$extra],s=n.availableSpace;switch(e.layout){case"position":{const[e,a,i,s]=r;n.width=Math.max(n.width,e+i);n.height=Math.max(n.height,a+s);n.children.push(t);break}case"lr-tb":case"rl-tb":if(!n.line||1===n.attempt){n.line={name:"div",attributes:{class:"lr-tb"===e.layout?"xfaLr":"xfaRl"},children:[]};n.children.push(n.line)}n.line.children.push(t);if(0===n.attempt){const[,,e,t]=r;n.currentWidth+=e;n.height=Math.max(n.height,n.prevHeight+t)}else{const[,,e,t]=r;n.width=Math.max(n.width,n.currentWidth);n.currentWidth=e;n.prevHeight=n.height;n.height+=t;n.attempt=0}break;case"rl-row":case"row":{n.children.push(t);const[,,e,a]=r;n.width+=e;n.height=Math.max(n.height,a);const s=(0,i.measureToString)(n.height);for(const e of n.children)"xfaWrapper"===e.attributes.class?e.children[e.children.length-1].attributes.style.height=s:e.attributes.style.height=s;break}case"table":{const[,,e,a]=r;n.width=Math.min(s.width,Math.max(n.width,e));n.height+=a;n.children.push(t);break}case"tb":{const[,,,e]=r;n.width=s.width;n.height+=e;n.children.push(t);break}}};t.flushHTML=function flushHTML(e){const t={name:"div",attributes:e[a.$extra].attributes,children:e[a.$extra].children};if(e[a.$extra].failingNode){const r=e[a.$extra].failingNode[a.$flushHTML]();r&&t.children.push(r)}if(0===t.children.length)return null;e[a.$extra].children=[];delete e[a.$extra].line;return t};t.getAvailableSpace=function getAvailableSpace(e){const t=e[a.$extra].availableSpace;switch(e.layout){case"lr-tb":case"rl-tb":switch(e[a.$extra].attempt){case 0:return{width:t.width-e[a.$extra].currentWidth,height:t.height-e[a.$extra].prevHeight};case 1:return{width:t.width,height:t.height-e[a.$extra].height};default:return{width:1/0,height:t.height-e[a.$extra].prevHeight}}case"rl-row":case"row":return{width:e[a.$extra].columnWidths.slice(e[a.$extra].currentColumn).reduce(((e,t)=>e+t)),height:t.height};case"table":case"tb":return{width:t.width,height:t.height-e[a.$extra].height};case"position":default:return t}};var a=r(68),i=r(73)},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.createDataNode=function createDataNode(e,t,r){const n=parseExpression(r);if(!n)return null;if(n.some((e=>e.operator===c)))return null;const s=d.get(n[0].name);let h=0;if(s){e=s(e,t);h=1}else e=t||e;for(let t=n.length;h0&&p.push(e)}if(0!==p.length||u||0!==g)e=isFinite(d)?p.filter((e=>de[d])):p.reduce(((e,t)=>e.concat(t)),[]);else{const r=t[a.$getParent]();if(!(t=r))return null;g=-1;e=[t]}}if(0===e.length)return null;return e};var a=r(68),i=r(2);const n=/^[^.[]+/,s=/^[^\]]+/,o=0,c=1,l=2,h=3,u=4,d=new Map([["$data",(e,t)=>e.datasets.data],["$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]]),f=new WeakMap;function parseExpression(e,t){let r=e.match(n);if(!r)return null;let[a]=r;const d=[{name:a,cacheName:"."+a,index:0,js:null,formCalc:null,operator:o}];let f=a.length;for(;f{Object.defineProperty(t,"__esModule",{value:!0});t.XFAParser=void 0;var a=r(68),i=r(61),n=r(77),s=r(2);class XFAParser extends i.XMLParserBase{constructor(){super();this._builder=new n.Builder;this._stack=[];this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=i.XMLParserErrorCode.NoError;this._whiteRegex=/^\s+$/;this._nbsps=/\xa0+/g}parse(e){this.parseXml(e);if(this._errorCode===i.XMLParserErrorCode.NoError){this._current[a.$finalize]();return this._current.element}}onText(e){e=e.replace(this._nbsps,(e=>e.slice(1)+" "));this._current[a.$acceptWhitespace]()?this._current[a.$onText](e):this._whiteRegex.test(e)||this._current[a.$onText](e.trim())}onCdata(e){this._current[a.$onText](e)}_mkAttributes(e,t){let r=null,i=null;const n=Object.create({});for(const{name:o,value:c}of e)if("xmlns"===o)r?(0,s.warn)(`XFA - multiple namespace definition in <${t}>`):r=c;else if(o.startsWith("xmlns:")){const e=o.substring("xmlns:".length);i||(i=[]);i.push({prefix:e,value:c})}else{const e=o.indexOf(":");if(-1===e)n[o]=c;else{let t=n[a.$nsAttributes];t||(t=n[a.$nsAttributes]=Object.create(null));const[r,i]=[o.slice(0,e),o.slice(e+1)];let s=t[r];s||(s=t[r]=Object.create(null));s[i]=c}}return[r,i,n]}_getNameAndPrefix(e){const t=e.indexOf(":");return-1===t?[e,null]:[e.substring(t+1),e.substring(0,t)]}onBeginElement(e,t,r){const[i,n,s]=this._mkAttributes(t,e),[o,c]=this._getNameAndPrefix(e),l=this._builder.build({nsPrefix:c,name:o,attributes:s,namespace:i,prefixes:n});if(r){l[a.$finalize]();this._current[a.$onChild](l)&&l[a.$setId](this._ids);l[a.$clean](this._builder)}else{this._stack.push(this._current);this._current=l}}onEndElement(e){const t=this._current;t[a.$finalize]();this._current=this._stack.pop();this._current[a.$onChild](t)&&t[a.$setId](this._ids);t[a.$clean](this._builder)}onError(e){this._errorCode=e}}t.XFAParser=XFAParser},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Builder=void 0;var a=r(70),i=r(68),n=r(78),s=r(72),o=r(87),c=r(2);class Root extends i.XFAObject{constructor(e){super(-1,"root",Object.create(null));this.element=null;this[i.$ids]=e}[i.$onChild](e){this.element=e;return!0}[i.$finalize](){super[i.$finalize]();if(this.element.template instanceof s.Template){this.element.template[i.$resolvePrototypes](this[i.$ids]);this.element.template[i.$ids]=this[i.$ids]}}}class Empty extends i.XFAObject{constructor(){super(-1,"",Object.create(null))}[i.$onChild](e){return!1}}t.Builder=class Builder{constructor(){this._namespaceStack=[];this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(a.NamespaceIds).map((({id:e})=>e)));this._currentNamespace=new o.UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build({nsPrefix:e,name:t,attributes:r,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(r.hasOwnProperty(i.$nsAttributes)){const e=n.NamespaceSetUp.datasets,t=r[i.$nsAttributes];let a=null;for(const[r,i]of Object.entries(t)){if(this._getNamespaceToUse(r)===e){a={xfa:i};break}}a?r[i.$nsAttributes]=a:delete r[i.$nsAttributes]}const l=this._getNamespaceToUse(e),h=l&&l[a.$buildXFAObject](t,r)||new Empty;(c||o)&&(h[i.$cleanup]={hasNamespace:c,prefixes:o});return h}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[r,{check:i}]of Object.entries(a.NamespaceIds))if(i(e)){t=n.NamespaceSetUp[r];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:r}of e){const e=this._searchNamespace(r);let a=this._namespacePrefixes.get(t);if(!a){a=[];this._namespacePrefixes.set(t,a)}a.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t&&t.length>0)return t[t.length-1];(0,c.warn)(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:r}=e;t&&(this._currentNamespace=this._namespaceStack.pop());r&&r.forEach((({prefix:e})=>{this._namespacePrefixes.get(e).pop()}))}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NamespaceSetUp=void 0;var a=r(79),i=r(80),n=r(81),s=r(82),o=r(83),c=r(84),l=r(72),h=r(85),u=r(86);const d={config:a.ConfigNamespace,connection:i.ConnectionSetNamespace,datasets:n.DatasetsNamespace,localeSet:s.LocaleSetNamespace,signature:o.SignatureNamespace,stylesheet:c.StylesheetNamespace,template:l.TemplateNamespace,xdp:h.XdpNamespace,xhtml:u.XhtmlNamespace};t.NamespaceSetUp=d},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ConfigNamespace=void 0;var a=r(70),i=r(68),n=r(69),s=r(2);const o=a.NamespaceIds.config.id;class Acrobat extends i.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 i.XFAObjectArray}}class Acrobat7 extends i.XFAObject{constructor(e){super(o,"acrobat7",!0);this.dynamicRender=null}}class ADBE_JSConsole extends i.OptionObject{constructor(e){super(o,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends i.OptionObject{constructor(e){super(o,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends i.Option01{constructor(e){super(o,"addSilentPrint")}}class AddViewerPreferences extends i.Option01{constructor(e){super(o,"addViewerPreferences")}}class AdjustData extends i.Option10{constructor(e){super(o,"adjustData")}}class AdobeExtensionLevel extends i.IntegerObject{constructor(e){super(o,"adobeExtensionLevel",0,(e=>e>=1&&e<=8))}}class Agent extends i.XFAObject{constructor(e){super(o,"agent",!0);this.name=e.name?e.name.trim():"";this.common=new i.XFAObjectArray}}class AlwaysEmbed extends i.ContentObject{constructor(e){super(o,"alwaysEmbed")}}class Amd extends i.StringObject{constructor(e){super(o,"amd")}}class Area extends i.XFAObject{constructor(e){super(o,"area");this.level=(0,n.getInteger)({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=(0,n.getStringOption)(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends i.OptionObject{constructor(e){super(o,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends i.OptionObject{constructor(e){super(o,"autoSave",["disabled","enabled"])}}class Base extends i.StringObject{constructor(e){super(o,"base")}}class BatchOutput extends i.XFAObject{constructor(e){super(o,"batchOutput");this.format=(0,n.getStringOption)(e.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends i.ContentObject{constructor(e){super(o,"behaviorOverride")}[i.$finalize](){this[i.$content]=new Map(this[i.$content].trim().split(/\s+/).filter((e=>!!e&&e.include(":"))).map((e=>e.split(":",2))))}}class Cache extends i.XFAObject{constructor(e){super(o,"cache",!0);this.templateCache=null}}class Change extends i.Option01{constructor(e){super(o,"change")}}class Common extends i.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 i.XFAObjectArray}}class Compress extends i.XFAObject{constructor(e){super(o,"compress");this.scope=(0,n.getStringOption)(e.scope,["imageOnly","document"])}}class CompressLogicalStructure extends i.Option01{constructor(e){super(o,"compressLogicalStructure")}}class CompressObjectStream extends i.Option10{constructor(e){super(o,"compressObjectStream")}}class Compression extends i.XFAObject{constructor(e){super(o,"compression",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends i.XFAObject{constructor(e){super(o,"config",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new i.XFAObjectArray}}class Conformance extends i.OptionObject{constructor(e){super(o,"conformance",["A","B"])}}class ContentCopy extends i.Option01{constructor(e){super(o,"contentCopy")}}class Copies extends i.IntegerObject{constructor(e){super(o,"copies",1,(e=>e>=1))}}class Creator extends i.StringObject{constructor(e){super(o,"creator")}}class CurrentPage extends i.IntegerObject{constructor(e){super(o,"currentPage",0,(e=>e>=0))}}class Data extends i.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 i.XFAObjectArray;this.transform=new i.XFAObjectArray}}class Debug extends i.XFAObject{constructor(e){super(o,"debug",!0);this.uri=null}}class DefaultTypeface extends i.ContentObject{constructor(e){super(o,"defaultTypeface");this.writingScript=(0,n.getStringOption)(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends i.OptionObject{constructor(e){super(o,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends i.Option01{constructor(e){super(o,"documentAssembly")}}class Driver extends i.XFAObject{constructor(e){super(o,"driver",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class DuplexOption extends i.OptionObject{constructor(e){super(o,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends i.OptionObject{constructor(e){super(o,"dynamicRender",["forbidden","required"])}}class Embed extends i.Option01{constructor(e){super(o,"embed")}}class Encrypt extends i.Option01{constructor(e){super(o,"encrypt")}}class Encryption extends i.XFAObject{constructor(e){super(o,"encryption",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends i.OptionObject{constructor(e){super(o,"encryptionLevel",["40bit","128bit"])}}class Enforce extends i.StringObject{constructor(e){super(o,"enforce")}}class Equate extends i.XFAObject{constructor(e){super(o,"equate");this.force=(0,n.getInteger)({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||"";this.to=e.to||""}}class EquateRange extends i.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]+)/,r=this._unicodeRange;for(let a of r.split(",").map((e=>e.trim())).filter((e=>!!e))){a=a.split("-",2).map((e=>{const r=e.match(t);return r?parseInt(r[1],16):0}));1===a.length&&a.push(a[0]);e.push(a)}return(0,s.shadow)(this,"unicodeRange",e)}}class Exclude extends i.ContentObject{constructor(e){super(o,"exclude")}[i.$finalize](){this[i.$content]=this[i.$content].trim().split(/\s+/).filter((e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e)))}}class ExcludeNS extends i.StringObject{constructor(e){super(o,"excludeNS")}}class FlipLabel extends i.OptionObject{constructor(e){super(o,"flipLabel",["usePrinterSetting","on","off"])}}class FontInfo extends i.XFAObject{constructor(e){super(o,"fontInfo",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new i.XFAObjectArray;this.defaultTypeface=new i.XFAObjectArray;this.neverEmbed=new i.XFAObjectArray}}class FormFieldFilling extends i.Option01{constructor(e){super(o,"formFieldFilling")}}class GroupParent extends i.StringObject{constructor(e){super(o,"groupParent")}}class IfEmpty extends i.OptionObject{constructor(e){super(o,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends i.StringObject{constructor(e){super(o,"includeXDPContent")}}class IncrementalLoad extends i.OptionObject{constructor(e){super(o,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends i.Option01{constructor(e){super(o,"incrementalMerge")}}class Interactive extends i.Option01{constructor(e){super(o,"interactive")}}class Jog extends i.OptionObject{constructor(e){super(o,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends i.XFAObject{constructor(e){super(o,"labelPrinter",!0);this.name=(0,n.getStringOption)(e.name,["zpl","dpl","ipl","tcpl"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends i.OptionObject{constructor(e){super(o,"layout",["paginate","panel"])}}class Level extends i.IntegerObject{constructor(e){super(o,"level",0,(e=>e>0))}}class Linearized extends i.Option01{constructor(e){super(o,"linearized")}}class Locale extends i.StringObject{constructor(e){super(o,"locale")}}class LocaleSet extends i.StringObject{constructor(e){super(o,"localeSet")}}class Log extends i.XFAObject{constructor(e){super(o,"log",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends i.XFAObject{constructor(e){super(o,"map",!0);this.equate=new i.XFAObjectArray;this.equateRange=new i.XFAObjectArray}}class MediumInfo extends i.XFAObject{constructor(e){super(o,"mediumInfo",!0);this.map=null}}class Message extends i.XFAObject{constructor(e){super(o,"message",!0);this.msgId=null;this.severity=null}}class Messaging extends i.XFAObject{constructor(e){super(o,"messaging",!0);this.message=new i.XFAObjectArray}}class Mode extends i.OptionObject{constructor(e){super(o,"mode",["append","overwrite"])}}class ModifyAnnots extends i.Option01{constructor(e){super(o,"modifyAnnots")}}class MsgId extends i.IntegerObject{constructor(e){super(o,"msgId",1,(e=>e>=1))}}class NameAttr extends i.StringObject{constructor(e){super(o,"nameAttr")}}class NeverEmbed extends i.ContentObject{constructor(e){super(o,"neverEmbed")}}class NumberOfCopies extends i.IntegerObject{constructor(e){super(o,"numberOfCopies",null,(e=>e>=2&&e<=5))}}class OpenAction extends i.XFAObject{constructor(e){super(o,"openAction",!0);this.destination=null}}class Output extends i.XFAObject{constructor(e){super(o,"output",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends i.StringObject{constructor(e){super(o,"outputBin")}}class OutputXSL extends i.XFAObject{constructor(e){super(o,"outputXSL",!0);this.uri=null}}class Overprint extends i.OptionObject{constructor(e){super(o,"overprint",["none","both","draw","field"])}}class Packets extends i.StringObject{constructor(e){super(o,"packets")}[i.$finalize](){"*"!==this[i.$content]&&(this[i.$content]=this[i.$content].trim().split(/\s+/).filter((e=>["config","datasets","template","xfdf","xslt"].includes(e))))}}class PageOffset extends i.XFAObject{constructor(e){super(o,"pageOffset");this.x=(0,n.getInteger)({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0});this.y=(0,n.getInteger)({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class PageRange extends i.StringObject{constructor(e){super(o,"pageRange")}[i.$finalize](){const e=this[i.$content].trim().split(/\s+/).map((e=>parseInt(e,10))),t=[];for(let r=0,a=e.length;r!1))}}class Pcl extends i.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 i.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 i.XFAObject{constructor(e){super(o,"pdfa",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends i.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 i.Option01{constructor(e){super(o,"pickTrayByPDFSize")}}class Picture extends i.StringObject{constructor(e){super(o,"picture")}}class PlaintextMetadata extends i.Option01{constructor(e){super(o,"plaintextMetadata")}}class Presence extends i.OptionObject{constructor(e){super(o,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends i.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 i.XFAObjectArray;this.labelPrinter=new i.XFAObjectArray;this.pcl=new i.XFAObjectArray;this.pdf=new i.XFAObjectArray;this.ps=new i.XFAObjectArray;this.submitUrl=new i.XFAObjectArray;this.webClient=new i.XFAObjectArray;this.zpl=new i.XFAObjectArray}}class Print extends i.Option01{constructor(e){super(o,"print")}}class PrintHighQuality extends i.Option01{constructor(e){super(o,"printHighQuality")}}class PrintScaling extends i.OptionObject{constructor(e){super(o,"printScaling",["appdefault","noScaling"])}}class PrinterName extends i.StringObject{constructor(e){super(o,"printerName")}}class Producer extends i.StringObject{constructor(e){super(o,"producer")}}class Ps extends i.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 i.ContentObject{constructor(e){super(o,"range")}[i.$finalize](){this[i.$content]=this[i.$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 i.ContentObject{constructor(e){super(o,"record")}[i.$finalize](){this[i.$content]=this[i.$content].trim();const e=parseInt(this[i.$content],10);!isNaN(e)&&e>=0&&(this[i.$content]=e)}}class Relevant extends i.ContentObject{constructor(e){super(o,"relevant")}[i.$finalize](){this[i.$content]=this[i.$content].trim().split(/\s+/)}}class Rename extends i.ContentObject{constructor(e){super(o,"rename")}[i.$finalize](){this[i.$content]=this[i.$content].trim();(this[i.$content].toLowerCase().startsWith("xml")||this[i.$content].match(new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u")))&&(0,s.warn)("XFA - Rename: invalid XFA name")}}class RenderPolicy extends i.OptionObject{constructor(e){super(o,"renderPolicy",["server","client"])}}class RunScripts extends i.OptionObject{constructor(e){super(o,"runScripts",["both","client","none","server"])}}class Script extends i.XFAObject{constructor(e){super(o,"script",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends i.OptionObject{constructor(e){super(o,"scriptModel",["XFA","none"])}}class Severity extends i.OptionObject{constructor(e){super(o,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends i.XFAObject{constructor(e){super(o,"silentPrint",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends i.XFAObject{constructor(e){super(o,"staple");this.mode=(0,n.getStringOption)(e.mode,["usePrinterSetting","on","off"])}}class StartNode extends i.StringObject{constructor(e){super(o,"startNode")}}class StartPage extends i.IntegerObject{constructor(e){super(o,"startPage",0,(e=>!0))}}class SubmitFormat extends i.OptionObject{constructor(e){super(o,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends i.StringObject{constructor(e){super(o,"submitUrl")}}class SubsetBelow extends i.IntegerObject{constructor(e){super(o,"subsetBelow",100,(e=>e>=0&&e<=100))}}class SuppressBanner extends i.Option01{constructor(e){super(o,"suppressBanner")}}class Tagged extends i.Option01{constructor(e){super(o,"tagged")}}class Template extends i.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 i.OptionObject{constructor(e){super(o,"threshold",["trace","error","information","warning"])}}class To extends i.OptionObject{constructor(e){super(o,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends i.XFAObject{constructor(e){super(o,"templateCache");this.maxEntries=(0,n.getInteger)({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends i.XFAObject{constructor(e){super(o,"trace",!0);this.area=new i.XFAObjectArray}}class Transform extends i.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 i.OptionObject{constructor(e){super(o,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends i.StringObject{constructor(e){super(o,"uri")}}class Validate extends i.OptionObject{constructor(e){super(o,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends i.ContentObject{constructor(e){super(o,"validateApprovalSignatures")}[i.$finalize](){this[i.$content]=this[i.$content].trim().split(/\s+/).filter((e=>["docReady","postSign"].includes(e)))}}class ValidationMessaging extends i.OptionObject{constructor(e){super(o,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends i.OptionObject{constructor(e){super(o,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends i.XFAObject{constructor(e){super(o,"VersionControl");this.outputBelow=(0,n.getStringOption)(e.outputBelow,["warn","error","update"]);this.sourceAbove=(0,n.getStringOption)(e.sourceAbove,["warn","error"]);this.sourceBelow=(0,n.getStringOption)(e.sourceBelow,["update","maintain"])}}class ViewerPreferences extends i.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 i.XFAObject{constructor(e){super(o,"webClient",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class Whitespace extends i.OptionObject{constructor(e){super(o,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends i.ContentObject{constructor(e){super(o,"window")}[i.$finalize](){const e=this[i.$content].trim().split(/\s*,\s*/,2).map((e=>parseInt(e,10)));if(e.some((e=>isNaN(e))))this[i.$content]=[0,0];else{1===e.length&&e.push(e[0]);this[i.$content]=e}}}class Xdc extends i.XFAObject{constructor(e){super(o,"xdc",!0);this.uri=new i.XFAObjectArray;this.xsl=new i.XFAObjectArray}}class Xdp extends i.XFAObject{constructor(e){super(o,"xdp",!0);this.packets=null}}class Xsl extends i.XFAObject{constructor(e){super(o,"xsl",!0);this.debug=null;this.uri=null}}class Zpl extends i.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[a.$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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ConnectionSetNamespace=void 0;var a=r(70),i=r(68);const n=a.NamespaceIds.connectionSet.id;class ConnectionSet extends i.XFAObject{constructor(e){super(n,"connectionSet",!0);this.wsdlConnection=new i.XFAObjectArray;this.xmlConnection=new i.XFAObjectArray;this.xsdConnection=new i.XFAObjectArray}}class EffectiveInputPolicy extends i.XFAObject{constructor(e){super(n,"effectiveInputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EffectiveOutputPolicy extends i.XFAObject{constructor(e){super(n,"effectiveOutputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Operation extends i.StringObject{constructor(e){super(n,"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 i.StringObject{constructor(e){super(n,"rootElement");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAction extends i.StringObject{constructor(e){super(n,"soapAction");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAddress extends i.StringObject{constructor(e){super(n,"soapAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Uri extends i.StringObject{constructor(e){super(n,"uri");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlAddress extends i.StringObject{constructor(e){super(n,"wsdlAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlConnection extends i.XFAObject{constructor(e){super(n,"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 i.XFAObject{constructor(e){super(n,"xmlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.uri=null}}class XsdConnection extends i.XFAObject{constructor(e){super(n,"xsdConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[a.$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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.DatasetsNamespace=void 0;var a=r(68),i=r(70);const n=i.NamespaceIds.datasets.id;class Data extends a.XmlObject{constructor(e){super(n,"data",e)}}class Datasets extends a.XFAObject{constructor(e){super(n,"datasets",!0);this.data=null;this.Signature=null}[a.$onChild](e){const t=e[a.$nodeName];"data"===t&&e[a.$namespaceId]===n||"Signature"===t&&e[a.$namespaceId]===i.NamespaceIds.signature.id?this[t]=e:e[a.$global]=!0;this[a.$appendChild](e)}}class DatasetsNamespace{static[i.$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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.LocaleSetNamespace=void 0;var a=r(70),i=r(68),n=r(69);const s=a.NamespaceIds.localeSet.id;class CalendarSymbols extends i.XFAObject{constructor(e){super(s,"calendarSymbols",!0);this.name="gregorian";this.dayNames=new i.XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new i.XFAObjectArray(2)}}class CurrencySymbol extends i.StringObject{constructor(e){super(s,"currencySymbol");this.name=(0,n.getStringOption)(e.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends i.XFAObject{constructor(e){super(s,"currencySymbols",!0);this.currencySymbol=new i.XFAObjectArray(3)}}class DatePattern extends i.StringObject{constructor(e){super(s,"datePattern");this.name=(0,n.getStringOption)(e.name,["full","long","med","short"])}}class DatePatterns extends i.XFAObject{constructor(e){super(s,"datePatterns",!0);this.datePattern=new i.XFAObjectArray(4)}}class DateTimeSymbols extends i.ContentObject{constructor(e){super(s,"dateTimeSymbols")}}class Day extends i.StringObject{constructor(e){super(s,"day")}}class DayNames extends i.XFAObject{constructor(e){super(s,"dayNames",!0);this.abbr=(0,n.getInteger)({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new i.XFAObjectArray(7)}}class Era extends i.StringObject{constructor(e){super(s,"era")}}class EraNames extends i.XFAObject{constructor(e){super(s,"eraNames",!0);this.era=new i.XFAObjectArray(2)}}class Locale extends i.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 i.XFAObject{constructor(e){super(s,"localeSet",!0);this.locale=new i.XFAObjectArray}}class Meridiem extends i.StringObject{constructor(e){super(s,"meridiem")}}class MeridiemNames extends i.XFAObject{constructor(e){super(s,"meridiemNames",!0);this.meridiem=new i.XFAObjectArray(2)}}class Month extends i.StringObject{constructor(e){super(s,"month")}}class MonthNames extends i.XFAObject{constructor(e){super(s,"monthNames",!0);this.abbr=(0,n.getInteger)({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new i.XFAObjectArray(12)}}class NumberPattern extends i.StringObject{constructor(e){super(s,"numberPattern");this.name=(0,n.getStringOption)(e.name,["full","long","med","short"])}}class NumberPatterns extends i.XFAObject{constructor(e){super(s,"numberPatterns",!0);this.numberPattern=new i.XFAObjectArray(4)}}class NumberSymbol extends i.StringObject{constructor(e){super(s,"numberSymbol");this.name=(0,n.getStringOption)(e.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends i.XFAObject{constructor(e){super(s,"numberSymbols",!0);this.numberSymbol=new i.XFAObjectArray(5)}}class TimePattern extends i.StringObject{constructor(e){super(s,"timePattern");this.name=(0,n.getStringOption)(e.name,["full","long","med","short"])}}class TimePatterns extends i.XFAObject{constructor(e){super(s,"timePatterns",!0);this.timePattern=new i.XFAObjectArray(4)}}class TypeFace extends i.XFAObject{constructor(e){super(s,"typeFace",!0);this.name=""|e.name}}class TypeFaces extends i.XFAObject{constructor(e){super(s,"typeFaces",!0);this.typeFace=new i.XFAObjectArray}}class LocaleSetNamespace{static[a.$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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.SignatureNamespace=void 0;var a=r(70),i=r(68);const n=a.NamespaceIds.signature.id;class Signature extends i.XFAObject{constructor(e){super(n,"signature",!0)}}class SignatureNamespace{static[a.$buildXFAObject](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new Signature(e)}}t.SignatureNamespace=SignatureNamespace},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.StylesheetNamespace=void 0;var a=r(70),i=r(68);const n=a.NamespaceIds.stylesheet.id;class Stylesheet extends i.XFAObject{constructor(e){super(n,"stylesheet",!0)}}class StylesheetNamespace{static[a.$buildXFAObject](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}t.StylesheetNamespace=StylesheetNamespace},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XdpNamespace=void 0;var a=r(70),i=r(68);const n=a.NamespaceIds.xdp.id;class Xdp extends i.XFAObject{constructor(e){super(n,"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 i.XFAObjectArray;this.template=null}[i.$onChildCheck](e){const t=a.NamespaceIds[e[i.$nodeName]];return t&&e[i.$namespaceId]===t.id}}class XdpNamespace{static[a.$buildXFAObject](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new Xdp(e)}}t.XdpNamespace=XdpNamespace},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XhtmlNamespace=void 0;var a=r(68),i=r(70),n=r(73),s=r(69);const o=i.NamespaceIds.xhtml.id,c=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"]),l=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=>(0,n.measureToString)(1*(0,s.getMeasurement)(e))],["letter-spacing",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["line-height",e=>(0,n.measureToString)(.99*(0,s.getMeasurement)(e))],["margin",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["margin-bottom",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["margin-left",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["margin-right",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["margin-top",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["text-indent",e=>(0,n.measureToString)((0,s.getMeasurement)(e))],["font-family",e=>(0,n.getFonts)(e)]]),h=/\s+/g,u=/[\r\n]+/g;function mapStyle(e){const t=Object.create(null);if(!e)return t;for(const[r,a]of e.split(";").map((e=>e.split(":",2)))){const e=l.get(r);if(""===e)continue;let i=a;e&&(i="string"==typeof e?e:e(a));r.endsWith("scale")?t.transform?t.transform=`${t[r]} ${i}`:t.transform=i:t[r.replaceAll(/-([a-zA-Z])/g,((e,t)=>t.toUpperCase()))]=i}(0,n.fixTextIndent)(t);return t}const d=new Set(["body","html"]);class XhtmlObject extends a.XmlObject{constructor(e,t){super(o,t);this.style=function checkStyle(e){return e?e.trim().split(/\s*;\s*/).filter((e=>!!e)).map((e=>e.split(/\s*:\s*/,2))).filter((([e])=>c.has(e))).map((e=>e.join(":"))).join(";"):""}(e.style)}[a.$acceptWhitespace](){return!d.has(this[a.$nodeName])}[a.$onText](e){e=e.replace(u,"");this.style.includes("xfa-spacerun:yes")||(e=e.replace(h," "));e&&(this[a.$content]+=e)}[a.$toHTML](e){const t=[];this[a.$extra]={children:t};this[a.$childrenToHTML]({});return 0!==t.length||this[a.$content]?s.HTMLResult.success({name:this[a.$nodeName],attributes:{href:this.href,style:mapStyle(this.style)},children:t,value:this[a.$content]||""}):s.HTMLResult.EMPTY}}class A extends XhtmlObject{constructor(e){super(e,"a");this.href=e.href||""}}class B extends XhtmlObject{constructor(e){super(e,"b")}}class Body extends XhtmlObject{constructor(e){super(e,"body")}[a.$toHTML](e){const t=super[a.$toHTML](e),{html:r}=t;if(!r)return s.HTMLResult.EMPTY;r.name="div";r.attributes.class="xfaRich";return t}}class Br extends XhtmlObject{constructor(e){super(e,"br")}[a.$text](){return"\n"}[a.$toHTML](e){return s.HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(e){super(e,"html")}[a.$toHTML](e){const t=[];this[a.$extra]={children:t};this[a.$childrenToHTML]({});if(0===t.length)return s.HTMLResult.success({name:"div",attributes:{class:"xfaRich",style:{}},value:this[a.$content]||""});if(1===t.length){const e=t[0];if(e.attributes&&"xfaRich"===e.attributes.class)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")}}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")}[a.$text](){return super[a.$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[i.$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,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.UnknownNamespace=void 0;var a=r(70),i=r(68);class UnknownNamespace{constructor(e){this.namespaceId=e}[a.$buildXFAObject](e,t){return new i.XmlObject(this.namespaceId,e,t)}}t.UnknownNamespace=UnknownNamespace},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XRef=void 0;var a=r(2),i=r(5),n=r(17),s=r(9),o=r(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.stats={streamTypes:Object.create(null),fontTypes:Object.create(null)};this._newRefNum=null}getNewRef(){null===this._newRefNum&&(this._newRefNum=this.entries.length);return i.Ref.get(this._newRefNum++,0)}resetNewRef(){this._newRefNum=null}setStartXRef(e){this.startXRefQueue=[e]}parse(e=!1){let t,r,n;if(e){(0,a.warn)("Indexing all PDF objects");t=this.indexObjects()}else t=this.readXRef();t.assignXref(this);this.trailer=t;try{r=t.get("Encrypt")}catch(e){if(e instanceof s.MissingDataException)throw e;(0,a.warn)(`XRef.parse - Invalid "Encrypt" reference: "${e}".`)}if((0,i.isDict)(r)){const e=t.get("ID"),a=e&&e.length?e[0]:"";r.suppressEncryption=!0;this.encrypt=new o.CipherTransformFactory(r,a,this.pdfManager.password)}try{n=t.get("Root")}catch(e){if(e instanceof s.MissingDataException)throw e;(0,a.warn)(`XRef.parse - Invalid "Root" reference: "${e}".`)}if(!(0,i.isDict)(n)||!n.has("Pages")){if(!e)throw new s.XRefParseException;throw new a.FormatError("Invalid root reference")}this.root=n}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,i.isCmd)(t,"trailer"))throw new a.FormatError("Invalid XRef table: could not find trailer dictionary");let r=e.getObj();!(0,i.isDict)(r)&&r.dict&&(r=r.dict);if(!(0,i.isDict)(r))throw new a.FormatError("Invalid XRef table: could not parse trailer dictionary");delete this.tableState;return r}readXRefTable(e){const t=e.lexer.stream,r=this.tableState;t.pos=r.streamPos;e.buf1=r.parserBuf1;e.buf2=r.parserBuf2;let n;for(;;){if(!("firstEntryNum"in r)||!("entryCount"in r)){if((0,i.isCmd)(n=e.getObj(),"trailer"))break;r.firstEntryNum=n;r.entryCount=e.getObj()}let s=r.firstEntryNum;const o=r.entryCount;if(!Number.isInteger(s)||!Number.isInteger(o))throw new a.FormatError("Invalid XRef table: wrong types in subsection header");for(let n=r.entryNum;n0;){const n=l[0],h=l[1];if(!Number.isInteger(n)||!Number.isInteger(h))throw new a.FormatError(`Invalid XRef range fields: ${n}, ${h}`);if(!Number.isInteger(s)||!Number.isInteger(o)||!Number.isInteger(c))throw new a.FormatError(`Invalid XRef entry fields length: ${n}, ${h}`);for(t=i.entryNum;t=e.length);){r+=String.fromCharCode(a);a=e[t]}return r}function skipUntil(e,t,r){const a=r.length,i=e.length;let n=0;for(;t=a)break;t++;n++}return n}const e=/^(\d+)\s+(\d+)\s+obj\b/,t=/\bendobj[\b\s]$/,r=/\s+(\d+\s+\d+\s+obj[\b\s<])$/,s=new Uint8Array([116,114,97,105,108,101,114]),o=new Uint8Array([115,116,97,114,116,120,114,101,102]),c=new Uint8Array([111,98,106]),l=new Uint8Array([47,88,82,101,102]);this.entries.length=0;const h=this.stream;h.pos=0;const u=h.getBytes(),d=u.length;let f=h.start;const g=[],p=[];for(;f=d)break;i=u[f]}while(10!==i&&13!==i);continue}const n=readToken(u,f);let m;if(n.startsWith("xref")&&(4===n.length||/\s/.test(n[4]))){f+=skipUntil(u,f,s);g.push(f);f+=skipUntil(u,f,o)}else if(m=e.exec(n)){const e=0|m[1],i=0|m[2];this.entries[e]&&this.entries[e].gen!==i||(this.entries[e]={offset:f-h.start,gen:i,uncompressed:!0});let s,o=f+n.length;for(;o{Object.defineProperty(t,"__esModule",{value:!0});t.MessageHandler=void 0;var a=r(2);const i=1,n=2,s=1,o=2,c=3,l=4,h=5,u=6,d=7,f=8;function wrapReason(e){if("object"!=typeof e||null===e)return e;switch(e.name){case"AbortException":return new a.AbortException(e.message);case"MissingPDFException":return new a.MissingPDFException(e.message);case"UnexpectedResponseException":return new a.UnexpectedResponseException(e.message,e.status);case"UnknownErrorException":return new a.UnknownErrorException(e.message,e.details);default:return new a.UnknownErrorException(e.message,e.toString())}}t.MessageHandler=class MessageHandler{constructor(e,t,r){this.sourceName=e;this.targetName=t;this.comObj=r;this.callbackId=1;this.streamId=1;this.postMessageTransfers=!0;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,r=this.callbackCapabilities[e];if(!r)throw new Error(`Cannot resolve callback ${e}`);delete this.callbackCapabilities[e];if(t.callback===i)r.resolve(t.data);else{if(t.callback!==n)throw new Error("Unexpected callback case");r.reject(wrapReason(t.reason))}return}const a=this.actionHandler[t.action];if(!a)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,s=t.sourceName;new Promise((function(e){e(a(t.data))})).then((function(a){r.postMessage({sourceName:e,targetName:s,callback:i,callbackId:t.callbackId,data:a})}),(function(a){r.postMessage({sourceName:e,targetName:s,callback:n,callbackId:t.callbackId,reason:wrapReason(a)})}))}else t.streamId?this._createStreamSink(t):a(t.data)};r.addEventListener("message",this._onComObjOnMessage)}on(e,t){const r=this.actionHandler;if(r[e])throw new Error(`There is already an actionName called "${e}"`);r[e]=t}send(e,t,r){this._postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},r)}sendWithPromise(e,t,r){const i=this.callbackId++,n=(0,a.createPromiseCapability)();this.callbackCapabilities[i]=n;try{this._postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:t},r)}catch(e){n.reject(e)}return n.promise}sendWithStream(e,t,r,i){const n=this.streamId++,o=this.sourceName,c=this.targetName,l=this.comObj;return new ReadableStream({start:r=>{const s=(0,a.createPromiseCapability)();this.streamControllers[n]={controller:r,startCall:s,pullCall:null,cancelCall:null,isClosed:!1};this._postMessage({sourceName:o,targetName:c,action:e,streamId:n,data:t,desiredSize:r.desiredSize},i);return s.promise},pull:e=>{const t=(0,a.createPromiseCapability)();this.streamControllers[n].pullCall=t;l.postMessage({sourceName:o,targetName:c,stream:u,streamId:n,desiredSize:e.desiredSize});return t.promise},cancel:e=>{(0,a.assert)(e instanceof Error,"cancel must have a valid reason");const t=(0,a.createPromiseCapability)();this.streamControllers[n].cancelCall=t;this.streamControllers[n].isClosed=!0;l.postMessage({sourceName:o,targetName:c,stream:s,streamId:n,reason:wrapReason(e)});return t.promise}},r)}_createStreamSink(e){const t=this,r=this.actionHandler[e.action],i=e.streamId,n=this.sourceName,s=e.sourceName,o=this.comObj,u={enqueue(e,r=1,o){if(this.isCancelled)return;const c=this.desiredSize;this.desiredSize-=r;if(c>0&&this.desiredSize<=0){this.sinkCapability=(0,a.createPromiseCapability)();this.ready=this.sinkCapability.promise}t._postMessage({sourceName:n,targetName:s,stream:l,streamId:i,chunk:e},o)},close(){if(!this.isCancelled){this.isCancelled=!0;o.postMessage({sourceName:n,targetName:s,stream:c,streamId:i});delete t.streamSinks[i]}},error(e){(0,a.assert)(e instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;o.postMessage({sourceName:n,targetName:s,stream:h,streamId:i,reason:wrapReason(e)})}},sinkCapability:(0,a.createPromiseCapability)(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};u.sinkCapability.resolve();u.ready=u.sinkCapability.promise;this.streamSinks[i]=u;new Promise((function(t){t(r(e.data,u))})).then((function(){o.postMessage({sourceName:n,targetName:s,stream:f,streamId:i,success:!0})}),(function(e){o.postMessage({sourceName:n,targetName:s,stream:f,streamId:i,reason:wrapReason(e)})}))}_processStreamMessage(e){const t=e.streamId,r=this.sourceName,i=e.sourceName,n=this.comObj;switch(e.stream){case f:e.success?this.streamControllers[t].startCall.resolve():this.streamControllers[t].startCall.reject(wrapReason(e.reason));break;case d:e.success?this.streamControllers[t].pullCall.resolve():this.streamControllers[t].pullCall.reject(wrapReason(e.reason));break;case u:if(!this.streamSinks[t]){n.postMessage({sourceName:r,targetName:i,stream:d,streamId:t,success:!0});break}this.streamSinks[t].desiredSize<=0&&e.desiredSize>0&&this.streamSinks[t].sinkCapability.resolve();this.streamSinks[t].desiredSize=e.desiredSize;const{onPull:g}=this.streamSinks[e.streamId];new Promise((function(e){e(g&&g())})).then((function(){n.postMessage({sourceName:r,targetName:i,stream:d,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:r,targetName:i,stream:d,streamId:t,reason:wrapReason(e)})}));break;case l:(0,a.assert)(this.streamControllers[t],"enqueue should have stream controller");if(this.streamControllers[t].isClosed)break;this.streamControllers[t].controller.enqueue(e.chunk);break;case c:(0,a.assert)(this.streamControllers[t],"close should have stream controller");if(this.streamControllers[t].isClosed)break;this.streamControllers[t].isClosed=!0;this.streamControllers[t].controller.close();this._deleteStreamController(t);break;case h:(0,a.assert)(this.streamControllers[t],"error should have stream controller");this.streamControllers[t].controller.error(wrapReason(e.reason));this._deleteStreamController(t);break;case o:e.success?this.streamControllers[t].cancelCall.resolve():this.streamControllers[t].cancelCall.reject(wrapReason(e.reason));this._deleteStreamController(t);break;case s:if(!this.streamSinks[t])break;const{onCancel:p}=this.streamSinks[e.streamId];new Promise((function(t){t(p&&p(wrapReason(e.reason)))})).then((function(){n.postMessage({sourceName:r,targetName:i,stream:o,streamId:t,success:!0})}),(function(e){n.postMessage({sourceName:r,targetName:i,stream:o,streamId:t,reason:wrapReason(e)})}));this.streamSinks[t].sinkCapability.reject(wrapReason(e.reason));this.streamSinks[t].isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async _deleteStreamController(e){await Promise.allSettled([this.streamControllers[e].startCall,this.streamControllers[e].pullCall,this.streamControllers[e].cancelCall].map((function(e){return e&&e.promise})));delete this.streamControllers[e]}_postMessage(e,t){t&&this.postMessageTransfers?this.comObj.postMessage(e,t):this.comObj.postMessage(e)}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}},(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});t.PDFWorkerStream=void 0;var a=r(2);t.PDFWorkerStream=class PDFWorkerStream{constructor(e){this._msgHandler=e;this._contentLength=null;this._fullRequestReader=null;this._rangeRequestReaders=[]}getFullReader(){(0,a.assert)(!this._fullRequestReader,"PDFWorkerStream.getFullReader can only be called once.");this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler);return this._fullRequestReader}getRangeReader(e,t){const r=new PDFWorkerStreamRangeReader(e,t,this._msgHandler);this._rangeRequestReaders.push(r);return r}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,r){this._msgHandler=r;this.onProgress=null;const a=this._msgHandler.sendWithStream("GetRangeReader",{begin:e,end:t});this._reader=a.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__(r){var a=t[r];if(void 0!==a)return a.exports;var i=t[r]={exports:{}};e[r](i,i.exports,__w_pdfjs_require__);return i.exports}__w_pdfjs_require__.d=(e,t)=>{for(var r in t)__w_pdfjs_require__.o(t,r)&&!__w_pdfjs_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};__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 r={};(()=>{var e=r;Object.defineProperty(e,"__esModule",{value:!0});Object.defineProperty(e,"WorkerMessageHandler",{enumerable:!0,get:function(){return t.WorkerMessageHandler}});var t=__w_pdfjs_require__(1)})();return r})()})); \ No newline at end of file diff --git a/src/components/FilePopoverContent/__snapshots__/index.test.jsx.snap b/src/components/FilePopoverContent/__snapshots__/index.test.jsx.snap new file mode 100644 index 0000000..209e1e6 --- /dev/null +++ b/src/components/FilePopoverContent/__snapshots__/index.test.jsx.snap @@ -0,0 +1,32 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`FilePopoverContent component snapshot 1`] = ` + +
+ + + +
+ some file name +
+
+ + + +
+ long descriptive text... +
+
+`; diff --git a/src/components/FilePopoverContent/index.jsx b/src/components/FilePopoverContent/index.jsx new file mode 100644 index 0000000..f728cf1 --- /dev/null +++ b/src/components/FilePopoverContent/index.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { FormattedMessage } from '@edx/frontend-platform/i18n'; + +import messages from './messages'; + +export const FilePopoverContent = ({ file }) => ( + <> +
+ +
+ {file.name} +
+
+ +
+ {file.description} +
+ +); + +FilePopoverContent.defaultProps = { +}; + +FilePopoverContent.propTypes = { + file: PropTypes.shape({ + name: PropTypes.string.isRequired, + description: PropTypes.string, + downloadURL: PropTypes.string, + }).isRequired, +}; + +export default FilePopoverContent; diff --git a/src/components/FilePopoverContent/index.test.jsx b/src/components/FilePopoverContent/index.test.jsx new file mode 100644 index 0000000..87c8375 --- /dev/null +++ b/src/components/FilePopoverContent/index.test.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +import FilePopoverContent from '.'; + +describe('FilePopoverContent', () => { + describe('component', () => { + const props = { + file: { + name: 'some file name', + description: 'long descriptive text...', + downloadURL: 'this-url-is.working', + }, + }; + let el; + beforeEach(() => { + el = shallow(); + }); + test('snapshot', () => { + expect(el).toMatchSnapshot(); + }); + + describe('behavior', () => { + test('content', () => { + expect(el.text()).toContain(props.file.name); + expect(el.text()).toContain(props.file.description); + }); + }); + }); +}); diff --git a/src/components/FilePopoverContent/messages.js b/src/components/FilePopoverContent/messages.js new file mode 100644 index 0000000..0bfa47b --- /dev/null +++ b/src/components/FilePopoverContent/messages.js @@ -0,0 +1,16 @@ +import { defineMessages } from '@edx/frontend-platform/i18n'; + +const messages = defineMessages({ + filePopoverNameTitle: { + id: 'ora-grading.FilePopoverContent.filePopoverNameTitle', + defaultMessage: 'File Name', + description: 'Popover title for file name', + }, + filePopoverDescriptionTitle: { + id: 'ora-grading.FilePopoverCellContent.filePopoverDescriptionTitle', + defaultMessage: 'File Description', + description: 'Popover title for file description', + }, +}); + +export default messages; diff --git a/src/components/FilePreview/FileCard.jsx b/src/components/FilePreview/FileCard.jsx new file mode 100644 index 0000000..15af01c --- /dev/null +++ b/src/components/FilePreview/FileCard.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { Card, Collapsible } from '@edx/paragon'; +import FilePopoverContent from 'components/FilePopoverContent'; +import FileInfo from './FileInfo'; + +import './FileCard.scss'; + +/** + * + */ +export const FileCard = ({ file, children }) => ( + + {file.name}}> +
+ + {children} +
+
+
+); +FileCard.defaultProps = { +}; +FileCard.propTypes = { + file: PropTypes.shape({ + name: PropTypes.string.isRequired, + downloadUrl: PropTypes.string.isRequired, + description: PropTypes.string.isRequired, + }).isRequired, + children: PropTypes.node.isRequired, +}; + +export default FileCard; diff --git a/src/components/FilePreview/FileCard.scss b/src/components/FilePreview/FileCard.scss new file mode 100644 index 0000000..d98ce72 --- /dev/null +++ b/src/components/FilePreview/FileCard.scss @@ -0,0 +1,13 @@ +.preview-panel { + .image-renderer { + width: 100%; + height: auto; + } + + .pdf-renderer { + .react-pdf__Page__canvas { + width: 100% !important; + height: auto !important; + } + } +} \ No newline at end of file diff --git a/src/components/FilePreview/FileCard.test.jsx b/src/components/FilePreview/FileCard.test.jsx new file mode 100644 index 0000000..e7ef285 --- /dev/null +++ b/src/components/FilePreview/FileCard.test.jsx @@ -0,0 +1,42 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +import { Collapsible } from '@edx/paragon'; + +import FilePopoverContent from 'components/FilePopoverContent'; +import FileInfo from './FileInfo'; +import FileCard from './FileCard'; + +jest.mock('components/FilePopoverContent', () => 'FilePopoverContent'); +jest.mock('./FileInfo', () => 'FileInfo'); + +describe('File Preview Card component', () => { + const props = { + file: { + name: 'test-file-name.pdf', + description: 'test-file description', + downloadUrl: 'destination/test-file-name.pdf', + }, + }; + const children = (

some children

); + let el; + beforeEach(() => { + el = shallow({children}); + }); + test('snapshot', () => { + expect(el).toMatchSnapshot(); + }); + describe('Component', () => { + test('collapsible title is name header', () => { + const title = el.find(Collapsible).prop('title'); + expect(title).toEqual(

{props.file.name}

); + }); + test('forwards children into preview-panel', () => { + const previewPanelChildren = el.find('.preview-panel').children(); + expect(previewPanelChildren.at(0).equals( + , + )); + expect(previewPanelChildren.at(1).equals(children)).toEqual(true); + }); + }); +}); diff --git a/src/components/FilePreview/FileInfo.jsx b/src/components/FilePreview/FileInfo.jsx new file mode 100644 index 0000000..75b782c --- /dev/null +++ b/src/components/FilePreview/FileInfo.jsx @@ -0,0 +1,49 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { + Button, + OverlayTrigger, + Popover, +} from '@edx/paragon'; +import { InfoOutline } from '@edx/paragon/icons'; +import { FormattedMessage } from '@edx/frontend-platform/i18n'; +import messages from './messages'; + +/** + * + */ +export const FileInfo = ({ onClick, children }) => ( + + {children} + + )} + > + + +); + +FileInfo.defaultProps = { + onClick: () => {}, +}; +FileInfo.propTypes = { + onClick: PropTypes.func, + children: PropTypes.oneOfType([ + PropTypes.arrayOf(PropTypes.node), + PropTypes.node, + ]).isRequired, +}; + +export default FileInfo; diff --git a/src/components/FilePreview/FileInfo.test.jsx b/src/components/FilePreview/FileInfo.test.jsx new file mode 100644 index 0000000..d0f26de --- /dev/null +++ b/src/components/FilePreview/FileInfo.test.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +import { Popover } from '@edx/paragon'; + +import FileInfo from './FileInfo'; + +describe('File Preview Card component', () => { + const children = (

some Children

); + const props = { onClick: jest.fn().mockName('this.props.onClick') }; + let el; + beforeEach(() => { + el = shallow({children}); + }); + test('snapshot', () => { + expect(el).toMatchSnapshot(); + }); + describe('Component', () => { + test('overlay with passed children', () => { + const { overlay } = el.at(0).props(); + expect(overlay.type).toEqual(Popover); + expect(overlay.props.children).toEqual({children}); + }); + }); +}); diff --git a/src/components/FilePreview/ImageRenderer.jsx b/src/components/FilePreview/ImageRenderer.jsx new file mode 100644 index 0000000..776b05b --- /dev/null +++ b/src/components/FilePreview/ImageRenderer.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +const ImageRenderer = ({ url, fileName }) => ({fileName}); + +ImageRenderer.supportedTypes = ['jpg', 'jpeg', 'png', 'bmp']; + +ImageRenderer.defaultProps = { + fileName: '', +}; + +ImageRenderer.propTypes = { + url: PropTypes.string.isRequired, + fileName: PropTypes.string, +}; + +export default ImageRenderer; diff --git a/src/components/FilePreview/ImageRenderer.test.jsx b/src/components/FilePreview/ImageRenderer.test.jsx new file mode 100644 index 0000000..eae292d --- /dev/null +++ b/src/components/FilePreview/ImageRenderer.test.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +import ImageRenderer from './ImageRenderer'; + +describe('Image Renderer Component', () => { + const props = { + url: 'some_url.pdf', + }; + + let el; + beforeEach(() => { + el = shallow(); + }); + test('snapshot', () => { + expect(el).toMatchSnapshot(); + }); + + describe('Component', () => { + const supportedTypes = ['jpg', 'jpeg', 'png', 'bmp']; + test('static supported types is expected', () => { + expect(ImageRenderer.supportedTypes).toEqual(supportedTypes); + }); + }); +}); diff --git a/src/components/FilePreview/PDFRenderer.jsx b/src/components/FilePreview/PDFRenderer.jsx new file mode 100644 index 0000000..ba4bcaa --- /dev/null +++ b/src/components/FilePreview/PDFRenderer.jsx @@ -0,0 +1,147 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { pdfjs, Document, Page } from 'react-pdf'; +import { + Icon, Form, ActionRow, IconButton, +} from '@edx/paragon'; +import { ChevronLeft, ChevronRight } from '@edx/paragon/icons'; +import pdfjsWorker from 'react-pdf/node_modules/pdfjs-dist/build/pdf.worker.entry'; + +import 'react-pdf/dist/esm/Page/AnnotationLayer.css'; + +pdfjs.GlobalWorkerOptions.workerSrc = pdfjsWorker; + +/** + * + */ +export class PDFRenderer extends React.Component { + static supportedTypes = ['pdf']; + + static INITIAL_STATE = { + pageNumber: 1, + numPages: 1, + relativeHeight: 0, + }; + + constructor(props) { + super(props); + + this.state = { ...PDFRenderer.INITIAL_STATE }; + + this.wrapperRef = React.createRef(); + this.onDocumentLoadSuccess = this.onDocumentLoadSuccess.bind(this); + this.onDocumentLoadError = this.onDocumentLoadError.bind(this); + this.onLoadPageSuccess = this.onLoadPageSuccess.bind(this); + this.onPrevPageButtonClick = this.onPrevPageButtonClick.bind(this); + this.onNextPageButtonClick = this.onNextPageButtonClick.bind(this); + this.onInputPageChange = this.onInputPageChange.bind(this); + } + + onDocumentLoadSuccess = ({ numPages }) => { + this.setState({ numPages }); + }; + + onLoadPageSuccess = (page) => { + const pageWidth = page.view[2]; + const pageHeight = page.view[3]; + const wrapperHeight = this.wrapperRef.current.getBoundingClientRect().width; + const relativeHeight = (wrapperHeight * pageHeight) / pageWidth; + if (relativeHeight !== this.state.relativeHeight) { + this.setState({ relativeHeight }); + } + }; + + onDocumentLoadError = (error) => { + // eslint-disable-next-line no-console + console.error(error); + }; + + onInputPageChange = ({ target: { value } }) => { + this.setPageNumber(parseInt(value, 10)); + } + + onPrevPageButtonClick = () => { + this.setPageNumber(this.state.pageNumber - 1); + } + + onNextPageButtonClick = () => { + this.setPageNumber(this.state.pageNumber + 1); + } + + setPageNumber(pageNumber) { + if (pageNumber > 0 && pageNumber <= this.state.numPages) { + this.setState({ pageNumber }); + } + } + + get hasNext() { + return this.state.pageNumber < this.state.numPages; + } + + get hasPrev() { + return this.state.pageNumber > 1; + } + + render() { + return ( +
+ + {/* */} +
+ +
+
+ + + + Page + + of {this.state.numPages} + + + +
+ ); + } +} + +PDFRenderer.defaultProps = {}; + +PDFRenderer.propTypes = { + url: PropTypes.string.isRequired, +}; + +export default PDFRenderer; diff --git a/src/components/FilePreview/PDFRenderer.test.jsx b/src/components/FilePreview/PDFRenderer.test.jsx new file mode 100644 index 0000000..8efcbd7 --- /dev/null +++ b/src/components/FilePreview/PDFRenderer.test.jsx @@ -0,0 +1,225 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +import { Document, Page } from 'react-pdf'; +import { Form, IconButton } from '@edx/paragon'; + +import PDFRenderer from './PDFRenderer'; + +jest.mock('react-pdf', () => ({ + pdfjs: { GlobalWorkerOptions: {} }, + Document: () => 'Document', + Page: () => 'Page', +})); + +describe('PDF Renderer Component', () => { + const props = { + url: 'some_url.pdf', + }; + + let el; + describe('snapshots', () => { + beforeEach(() => { + el = shallow(); + el.instance().onDocumentLoadSuccess = jest + .fn() + .mockName('onDocumentLoadSuccess'); + el.instance().onDocumentLoadError = jest + .fn() + .mockName('onDocumentLoadError'); + el.instance().onLoadPageSuccess = jest.fn().mockName('onLoadPageSuccess'); + }); + test('snapshot', () => { + el.instance().onPrevPageButtonClick = jest + .fn() + .mockName('onPrevPageButtonClick'); + el.instance().onNextPageButtonClick = jest + .fn() + .mockName('onNextPageButtonClick'); + el.instance().onInputPageChange = jest.fn().mockName('onInputPageChange'); + expect(el.instance().render()).toMatchSnapshot(); + }); + }); + + describe('Component', () => { + const numPages = 99; + const pageNumber = 234; + const supportedTypes = ['pdf']; + beforeEach(() => { + el = shallow(); + }); + describe('render', () => { + describe('Top-level document', () => { + let documentEl; + beforeEach(() => { documentEl = el.find(Document); }); + it('displays file from props.url', () => { + expect(documentEl.props().file).toEqual(props.url); + }); + it('calls this.onDocumentLoadSuccess onLoadSuccess', () => { + expect(documentEl.props().onLoadSuccess).toEqual(el.instance().onDocumentLoadSuccess); + }); + it('calls this.onDocumentLoadError onLoadError', () => { + expect(documentEl.props().onLoadError).toEqual(el.instance().onDocumentLoadError); + }); + }); + describe('Page', () => { + let pageProps; + beforeEach(() => { + el.instance().setState({ pageNumber }); + pageProps = el.find(Page).props(); + }); + it('loads pageNumber from state', () => { + expect(pageProps.pageNumber).toEqual(pageNumber); + }); + it('calls onLoadPageSuccess onLoadSuccess', () => { + expect(pageProps.onLoadSuccess).toEqual(el.instance().onLoadPageSuccess); + }); + }); + describe('pagination ActionRow', () => { + describe('Previous page button', () => { + let hasPrev; + beforeEach(() => { + hasPrev = jest.spyOn(el.instance(), 'hasPrev', 'get').mockReturnValue(false); + }); + const btn = () => shallow(el.instance().render()).find(IconButton).at(0).props(); + test('disabled iff not this.hasPrev', () => { + expect(btn().disabled).toEqual(true); + hasPrev.mockReturnValue(true); + expect(btn().disabled).toEqual(false); + }); + it('calls onPrevPageButtonClick onClick', () => { + expect(btn().onClick).toEqual(el.instance().onPrevPageButtonClick); + }); + }); + describe('page indicator', () => { + const control = () => el.find(Form.Control).at(0).props(); + const labels = () => { + const flat = el.find({ isInline: true }); + return [0, 1].map(i => flat.at(i).text()); + }; + beforeEach(() => { el.instance().setState({ numPages, pageNumber }); }); + test('labels: Page of ', () => { + expect(`${labels()[0]}${control().value}${labels()[1]}`).toEqual( + `Page ${pageNumber} of ${numPages}`, + ); + }); + it('loads max from state.numPages', () => expect(control().max).toEqual(numPages)); + it('loads value from state.pageNumber', () => { + expect(control().value).toEqual(pageNumber); + }); + it('calls onInputPageChange onChange', () => { + expect(control().onChange).toEqual(el.instance().onInputPageChange); + }); + }); + describe('Next page button', () => { + let hasNext; + beforeEach(() => { + hasNext = jest.spyOn(el.instance(), 'hasNext', 'get').mockReturnValue(false); + }); + const btn = () => shallow(el.instance().render()).find(IconButton).at(1).props(); + test('disabled iff not this.hasNext', () => { + expect(btn().disabled).toEqual(true); + hasNext.mockReturnValue(true); + expect(btn().disabled).toEqual(false); + }); + it('calls onNextPageButtonClick onClick', () => { + expect(btn().onClick).toEqual(el.instance().onNextPageButtonClick); + }); + }); + }); + }); + test('static supported types is expected', () => { + expect(PDFRenderer.supportedTypes).toEqual(supportedTypes); + }); + + describe('behavior', () => { + test('initial state', () => { + expect(el.instance().state).toEqual(PDFRenderer.INITIAL_STATE); + }); + describe('onDocumentLoadSuccess', () => { + test('loads numPages into state', () => { + el.instance().onDocumentLoadSuccess({ numPages }); + expect(el.instance().state.numPages).toEqual(numPages); + }); + }); + describe('onLoadPageSuccess', () => { + const [pageHeight, pageWidth] = [23, 34]; + const page = { view: [1, 2, pageWidth, pageHeight] }; + const wrapperWidth = 20; + const expected = (wrapperWidth * pageHeight) / pageWidth; + beforeEach(() => { + el.instance().wrapperRef = { + current: { + getBoundingClientRect: () => ({ width: wrapperWidth }), + }, + }; + }); + it('sets relative height if it has changes', () => { + el.instance().onLoadPageSuccess(page); + expect(el.instance().state.relativeHeight).toEqual(expected); + }); + it('does not try to set height if has not changes', () => { + el.instance().setState({ relativeHeight: expected }); + el.instance().setState = jest.fn(); + el.instance().onLoadPageSuccess(page); + expect(el.instance().setState).not.toHaveBeenCalled(); + }); + }); + describe('setPageNumber inheritors', () => { + beforeEach(() => { + el.instance().setPageNumber = jest.fn(); + el.instance().setState({ pageNumber }); + }); + describe('onInputChange', () => { + it('calls setPageNumber with int value of event target value', () => { + el.instance().onInputPageChange({ target: { value: '23' } }); + expect(el.instance().setPageNumber).toHaveBeenCalledWith(23); + }); + }); + describe('onPrevPageButtonClick', () => { + it('calls setPageNumber with state.pageNumber - 1', () => { + el.instance().onPrevPageButtonClick(); + expect(el.instance().setPageNumber).toHaveBeenCalledWith(pageNumber - 1); + }); + }); + describe('onNextPageButtonClick', () => { + it('calls setPageNumber with state.pageNumber + 1', () => { + el.instance().onNextPageButtonClick(); + expect(el.instance().setPageNumber).toHaveBeenCalledWith(pageNumber + 1); + }); + }); + }); + describe('setPageNumber', () => { + it('calls setState with pageNumber iff valid', () => { + el.instance().setState({ numPages }); + const setState = jest.spyOn(el.instance(), 'setState'); + el.instance().setPageNumber(0); + expect(setState).not.toHaveBeenCalled(); + el.instance().setPageNumber(numPages + 1); + expect(setState).not.toHaveBeenCalled(); + el.instance().setPageNumber(2); + expect(setState).toHaveBeenCalledWith({ pageNumber: 2 }); + }); + }); + describe('hasNext getter', () => { + it('returns true iff state.pageNumber < state.numPages', () => { + el.instance().setState({ pageNumber: 1, numPages: 1 }); + expect(el.instance().hasNext).toEqual(false); + el.instance().setState({ pageNumber: 1, numPages: 2 }); + expect(el.instance().hasNext).toEqual(true); + }); + }); + describe('hasPrev getter', () => { + it('returns true iff state.pageNumber > 1', () => { + el.instance().setState({ pageNumber: 1 }); + expect(el.instance().hasPrev).toEqual(false); + el.instance().setState({ pageNumber: 2 }); + expect(el.instance().hasPrev).toEqual(true); + }); + }); + }); + test('static supported types is expected', () => { + expect(PDFRenderer.supportedTypes).toEqual(supportedTypes); + }); + }); +}); diff --git a/src/components/FilePreview/__snapshots__/FileCard.test.jsx.snap b/src/components/FilePreview/__snapshots__/FileCard.test.jsx.snap new file mode 100644 index 0000000..fe6107c --- /dev/null +++ b/src/components/FilePreview/__snapshots__/FileCard.test.jsx.snap @@ -0,0 +1,37 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`File Preview Card component snapshot 1`] = ` + + + test-file-name.pdf + + } + > +
+ + + +

+ some children +

+
+
+
+`; diff --git a/src/components/FilePreview/__snapshots__/FileInfo.test.jsx.snap b/src/components/FilePreview/__snapshots__/FileInfo.test.jsx.snap new file mode 100644 index 0000000..a728cd4 --- /dev/null +++ b/src/components/FilePreview/__snapshots__/FileInfo.test.jsx.snap @@ -0,0 +1,33 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`File Preview Card component snapshot 1`] = ` + + +

+ some Children +

+
+ + } + placement="right-end" + trigger="focus" +> + +
+`; diff --git a/src/components/FilePreview/__snapshots__/ImageRenderer.test.jsx.snap b/src/components/FilePreview/__snapshots__/ImageRenderer.test.jsx.snap new file mode 100644 index 0000000..3785069 --- /dev/null +++ b/src/components/FilePreview/__snapshots__/ImageRenderer.test.jsx.snap @@ -0,0 +1,9 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Image Renderer Component snapshot 1`] = ` + +`; diff --git a/src/components/FilePreview/__snapshots__/PDFRenderer.test.jsx.snap b/src/components/FilePreview/__snapshots__/PDFRenderer.test.jsx.snap new file mode 100644 index 0000000..2552795 --- /dev/null +++ b/src/components/FilePreview/__snapshots__/PDFRenderer.test.jsx.snap @@ -0,0 +1,69 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`PDF Renderer Component snapshots snapshot 1`] = ` +
+ +
+ +
+
+ + + + + Page + + + + of + 1 + + + + +
+`; diff --git a/src/components/FilePreview/index.jsx b/src/components/FilePreview/index.jsx new file mode 100644 index 0000000..3eb2c45 --- /dev/null +++ b/src/components/FilePreview/index.jsx @@ -0,0 +1,3 @@ +export { default as FileCard } from './FileCard'; +export { default as ImageRenderer } from './ImageRenderer'; +export { default as PDFRenderer } from './PDFRenderer'; diff --git a/src/components/FilePreview/messages.js b/src/components/FilePreview/messages.js new file mode 100644 index 0000000..86e5faf --- /dev/null +++ b/src/components/FilePreview/messages.js @@ -0,0 +1,11 @@ +import { defineMessages } from '@edx/frontend-platform/i18n'; + +const messages = defineMessages({ + fileInfo: { + id: 'ora-grading.InfoPopover.fileInfo', + defaultMessage: 'File info', + description: 'Popover trigger button text for file preview card', + }, +}); + +export default messages; diff --git a/src/components/InfoPopover/__snapshots__/index.test.jsx.snap b/src/components/InfoPopover/__snapshots__/index.test.jsx.snap index 08ccc24..e8bb38d 100644 --- a/src/components/InfoPopover/__snapshots__/index.test.jsx.snap +++ b/src/components/InfoPopover/__snapshots__/index.test.jsx.snap @@ -21,7 +21,7 @@ exports[`Info Popover Component snapshot 1`] = ` alt="Display more info" className="esg-help-icon" iconAs="Icon" - onClick={[Function]} + onClick={[MockFunction this.props.onClick]} src={[MockFunction icons.InfoOutline]} /> diff --git a/src/components/InfoPopover/index.jsx b/src/components/InfoPopover/index.jsx index 0a29cdd..b2b0cff 100644 --- a/src/components/InfoPopover/index.jsx +++ b/src/components/InfoPopover/index.jsx @@ -15,7 +15,7 @@ import messages from './messages'; /** * */ -export const InfoPopover = ({ children, intl }) => ( +export const InfoPopover = ({ onClick, children, intl }) => ( ( src={InfoOutline} alt={intl.formatMessage(messages.altText)} iconAs={Icon} - onClick={() => {}} + onClick={onClick} /> ); -InfoPopover.defaultProps = {}; +InfoPopover.defaultProps = { + onClick: () => {}, +}; InfoPopover.propTypes = { + onClick: PropTypes.func, children: PropTypes.oneOfType([ PropTypes.arrayOf(PropTypes.node), PropTypes.node, diff --git a/src/components/InfoPopover/index.test.jsx b/src/components/InfoPopover/index.test.jsx index f44eb12..b0b5a50 100644 --- a/src/components/InfoPopover/index.test.jsx +++ b/src/components/InfoPopover/index.test.jsx @@ -6,15 +6,15 @@ import { InfoPopover } from '.'; describe('Info Popover Component', () => { const child =
Children component
; - test('snapshot', () => { - expect(shallow({child})).toMatchSnapshot(); + const onClick = jest.fn().mockName('this.props.onClick'); + let el; + beforeEach(() => { + el = shallow({child}); + }); + test('snapshot', () => { + expect(el).toMatchSnapshot(); }); - describe('Component', () => { - let el; - beforeEach(() => { - el = shallow({child}); - }); test('Test component render', () => { expect(el.length).toEqual(1); expect(el.find('.esg-help-icon').length).toEqual(1); diff --git a/src/containers/ResponseDisplay/PreviewDisplay.jsx b/src/containers/ResponseDisplay/PreviewDisplay.jsx new file mode 100644 index 0000000..9be27d2 --- /dev/null +++ b/src/containers/ResponseDisplay/PreviewDisplay.jsx @@ -0,0 +1,69 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +import { StrictDict } from 'utils'; +import { FileTypes } from 'data/constants/files'; + +import { FileCard, PDFRenderer, ImageRenderer } from 'components/FilePreview'; + +import './PreviewDisplay.scss'; + +/** + * + */ +export class PreviewDisplay extends React.Component { + static RENDERERS = StrictDict({ + [FileTypes.pdf]: PDFRenderer, + [FileTypes.jpg]: ImageRenderer, + [FileTypes.jpeg]: ImageRenderer, + [FileTypes.bmp]: ImageRenderer, + [FileTypes.png]: ImageRenderer, + }); + + static SUPPORTED_TYPES = Object.keys(PreviewDisplay.RENDERERS); + + constructor(props) { + super(props); + this.isSupported = this.isSupported.bind(this); + this.fileType = this.fileType.bind(this); + } + + get supportedFiles() { + return this.props.files.filter(this.isSupported); + } + + isSupported(file) { + return PreviewDisplay.SUPPORTED_TYPES.includes(this.fileType(file.name)); + } + + fileType(fileName) { + return fileName.split('.').pop(); + } + + render() { + return ( + <> + {this.supportedFiles.map((file) => { + const Renderer = PreviewDisplay.RENDERERS[this.fileType(file.name)]; + return ( + + + + ); + })} + + ); + } +} + +PreviewDisplay.defaultProps = { + files: [], +}; +PreviewDisplay.propTypes = { + files: PropTypes.arrayOf(PropTypes.shape({ + name: PropTypes.string, + downloadUrl: PropTypes.string, + })), +}; + +export default PreviewDisplay; diff --git a/src/containers/ResponseDisplay/PreviewDisplay.scss b/src/containers/ResponseDisplay/PreviewDisplay.scss new file mode 100644 index 0000000..d98ce72 --- /dev/null +++ b/src/containers/ResponseDisplay/PreviewDisplay.scss @@ -0,0 +1,13 @@ +.preview-panel { + .image-renderer { + width: 100%; + height: auto; + } + + .pdf-renderer { + .react-pdf__Page__canvas { + width: 100% !important; + height: auto !important; + } + } +} \ No newline at end of file diff --git a/src/containers/ResponseDisplay/PreviewDisplay.test.jsx b/src/containers/ResponseDisplay/PreviewDisplay.test.jsx new file mode 100644 index 0000000..2a4831e --- /dev/null +++ b/src/containers/ResponseDisplay/PreviewDisplay.test.jsx @@ -0,0 +1,83 @@ +import React from 'react'; +import { shallow } from 'enzyme'; + +import { FileTypes } from 'data/constants/files'; +import { FileCard, ImageRenderer, PDFRenderer } from 'components/FilePreview'; +import { PreviewDisplay } from './PreviewDisplay'; + +jest.mock('components/FilePreview', () => ({ + FileCard: () => 'FileCard', + PDFRenderer: () => 'PDFRenderer', + ImageRenderer: () => 'ImageRenderer', +})); + +describe('PreviewDisplay', () => { + describe('component', () => { + const supportedTypes = [ + FileTypes.pdf, + FileTypes.jpg, + FileTypes.jpeg, + FileTypes.bmp, + FileTypes.png, + ]; + const props = { + files: [ + ...supportedTypes.map((fileType, index) => ({ + name: `fake_file_${index}.${fileType}`, + description: `file description ${index}`, + downloadUrl: `/url-path/fake_file_${index}.${fileType}`, + })), + { + name: 'bad_ext_fake_file.other', + description: 'bad_ext file description', + downloadUrl: 'bad_ext.other', + }, + ], + }; + let el; + beforeEach(() => { + el = shallow(); + }); + + describe('snapshot', () => { + test('files does not exist', () => { + expect(el).toMatchSnapshot(); + }); + test('files exited for props', () => { + el.setProps({ files: [] }); + expect(el.instance().render()).toMatchSnapshot(); + }); + }); + + describe('component', () => { + test('only renders compatible files', () => { + const cards = el.find(FileCard); + expect(cards.length).toEqual(supportedTypes.length); + [0, 1, 2, 3, 4].forEach(index => { + expect( + cards.at(index).prop('file'), + ).toEqual(props.files[index]); + }); + }); + describe('uses the correct renderers', () => { + const loadRenderer = (index) => ( + el.find(FileCard).at(index).children().at(0) + ); + const checkFile = (index, expectedRenderer) => { + const file = props.files[index]; + const renderer = loadRenderer(index); + expect(renderer.type()).toEqual(expectedRenderer); + expect(renderer.props()).toEqual({ + url: file.downloadUrl, + fileName: file.name, + }); + }; + test(FileTypes.pdf, () => checkFile(0, PDFRenderer)); + test(FileTypes.jpg, () => checkFile(1, ImageRenderer)); + test(FileTypes.jpeg, () => checkFile(2, ImageRenderer)); + test(FileTypes.bmp, () => checkFile(3, ImageRenderer)); + test(FileTypes.png, () => checkFile(4, ImageRenderer)); + }); + }); + }); +}); diff --git a/src/containers/ResponseDisplay/ResponseDisplay.scss b/src/containers/ResponseDisplay/ResponseDisplay.scss index ca1a065..ca0f4c9 100644 --- a/src/containers/ResponseDisplay/ResponseDisplay.scss +++ b/src/containers/ResponseDisplay/ResponseDisplay.scss @@ -7,10 +7,10 @@ height: fit-content; .submission-files { - padding: map-get($spacers, 3); margin-bottom: map-get($spacers, 2); .submission-files-title { + padding: map-get($spacers, 3); border-radius: calc(0.375rem - 1px); border-bottom: 1px solid transparent; transition: border-color 100ms ease 150ms; @@ -33,7 +33,8 @@ } .submission-files-body { - padding: map-get($spacers, 3) 0; + padding: map-get($spacers, 3); + padding-top: 0; thead { display: none; diff --git a/src/containers/ResponseDisplay/__snapshots__/PreviewDisplay.test.jsx.snap b/src/containers/ResponseDisplay/__snapshots__/PreviewDisplay.test.jsx.snap new file mode 100644 index 0000000..3f379b2 --- /dev/null +++ b/src/containers/ResponseDisplay/__snapshots__/PreviewDisplay.test.jsx.snap @@ -0,0 +1,83 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`PreviewDisplay component snapshot files does not exist 1`] = ` + + + + + + + + + + + + + + + + + +`; + +exports[`PreviewDisplay component snapshot files exited for props 1`] = ``; diff --git a/src/containers/ResponseDisplay/__snapshots__/index.test.jsx.snap b/src/containers/ResponseDisplay/__snapshots__/index.test.jsx.snap index c5abd53..871e868 100644 --- a/src/containers/ResponseDisplay/__snapshots__/index.test.jsx.snap +++ b/src/containers/ResponseDisplay/__snapshots__/index.test.jsx.snap @@ -19,6 +19,9 @@ exports[`ResponseDisplay component snapshot file upload disabled without respons + `; @@ -42,6 +45,22 @@ exports[`ResponseDisplay component snapshot file upload enable with valid respon ] } /> + parsed html (sanitized (some text response here)) @@ -57,5 +76,8 @@ exports[`ResponseDisplay component snapshot file upload enable without response + `; diff --git a/src/containers/ResponseDisplay/components/FilePopoverCell.jsx b/src/containers/ResponseDisplay/components/FilePopoverCell.jsx index 9e673d3..8b1a7fe 100644 --- a/src/containers/ResponseDisplay/components/FilePopoverCell.jsx +++ b/src/containers/ResponseDisplay/components/FilePopoverCell.jsx @@ -1,24 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { FormattedMessage } from '@edx/frontend-platform/i18n'; - import InfoPopover from 'components/InfoPopover'; - -import messages from './messages'; +import FilePopoverContent from 'components/FilePopoverContent'; export const FilePopoverCell = ({ row: { original } }) => ( -
- -
- {original.name} -
-
- -
- {original.description} -
+
); diff --git a/src/containers/ResponseDisplay/components/FilePopoverCell.test.jsx b/src/containers/ResponseDisplay/components/FilePopoverCell.test.jsx index bcc8cf0..de2b775 100644 --- a/src/containers/ResponseDisplay/components/FilePopoverCell.test.jsx +++ b/src/containers/ResponseDisplay/components/FilePopoverCell.test.jsx @@ -1,9 +1,11 @@ import React from 'react'; import { shallow } from 'enzyme'; +import FilePopoverContent from 'components/FilePopoverContent'; import FilePopoverCell from './FilePopoverCell'; jest.mock('components/InfoPopover', () => 'InfoPopover'); +jest.mock('components/FilePopoverContent', () => 'FilePopoverContent'); describe('FilePopoverCell', () => { describe('component', () => { @@ -27,8 +29,8 @@ describe('FilePopoverCell', () => { describe('behavior', () => { test('content', () => { const { original } = props.row; - expect(el.text()).toContain(original.name); - expect(el.text()).toContain(original.description); + const content = el.find(FilePopoverContent); + expect(content.props()).toEqual({ file: original }); }); }); }); diff --git a/src/containers/ResponseDisplay/components/__snapshots__/FilePopoverCell.test.jsx.snap b/src/containers/ResponseDisplay/components/__snapshots__/FilePopoverCell.test.jsx.snap index 4ab40e0..6b9d1b1 100644 --- a/src/containers/ResponseDisplay/components/__snapshots__/FilePopoverCell.test.jsx.snap +++ b/src/containers/ResponseDisplay/components/__snapshots__/FilePopoverCell.test.jsx.snap @@ -2,31 +2,14 @@ exports[`FilePopoverCell component snapshot 1`] = ` -
- - - -
- some file name -
-
- - - -
- long descriptive text... -
+
`; diff --git a/src/containers/ResponseDisplay/index.jsx b/src/containers/ResponseDisplay/index.jsx index bd15038..9d34b4c 100644 --- a/src/containers/ResponseDisplay/index.jsx +++ b/src/containers/ResponseDisplay/index.jsx @@ -12,6 +12,7 @@ import { selectors } from 'data/redux'; import { fileUploadResponseOptions } from 'data/services/lms/constants'; import SubmissionFiles from './SubmissionFiles'; +import PreviewDisplay from './PreviewDisplay'; import './ResponseDisplay.scss'; @@ -42,6 +43,7 @@ export class ResponseDisplay extends React.Component { return (
{this.allowFileUpload && } + {this.allowFileUpload && } { /* eslint-disable react/no-array-index-key */ this.textContents.map((textContent, index) => ( diff --git a/src/data/constants/files.js b/src/data/constants/files.js new file mode 100644 index 0000000..f07e197 --- /dev/null +++ b/src/data/constants/files.js @@ -0,0 +1,11 @@ +import { StrictDict } from 'utils'; + +export const FileTypes = StrictDict({ + pdf: 'pdf', + jpg: 'jpg', + jpeg: 'jpeg', + png: 'png', + bmp: 'bmp', +}); + +export default FileTypes; diff --git a/src/data/services/lms/fakeData/submissionFull.js b/src/data/services/lms/fakeData/submissionFull.js index 4857026..b6b922a 100644 --- a/src/data/services/lms/fakeData/submissionFull.js +++ b/src/data/services/lms/fakeData/submissionFull.js @@ -9,11 +9,13 @@ Phasellus porttitor vel magna et auctor. Nulla porttitor convallis aliquam. Done const descriptiveText = (fileName) => `This is some descriptive text for (${fileName}). Phasellus tempor eros aliquam ipsum molestie, vitae varius lectus tempus. Morbi iaculis, libero euismod vehicula rutrum, nisi leo volutpat diam, quis commodo ex nunc ut odio. Pellentesque condimentum feugiat erat ac vulputate. Pellentesque porta rutrum sagittis. Curabitur vulputate tempus accumsan. Fusce bibendum gravida metus a scelerisque. Mauris fringilla orci non lobortis commodo. Quisque iaculis, quam a tincidunt vehicula, erat nisi accumsan quam, eu cursus ligula magna id odio. Nulla porttitor, lorem gravida vehicula tristique, sapien metus tristique ex, id tincidunt sapien justo nec sapien. Maecenas luctus, nisl vestibulum scelerisque pharetra, ligula orci vulputate turpis, in ultrices mauris dolor eu enim. Suspendisse quis nibh nec augue semper maximus. Morbi maximus eleifend magna.`; const allFiles = [ - 'presentation.pdf', - 'example.jpg', - 'diagram.png', - 'notes.doc', - 'recording.wav', + 'edX_2021_Internal_BrandTMGuidelines_V1.0.9.pdf', + 'irs_p5563.pdf', + 'mit_Cohen_GRL16.pdf', + 'sample.bmp', + 'sample.jpg', + 'sample.png', + 'sample.jpeg', ]; const getFiles = (submissionUUID) => { @@ -23,9 +25,9 @@ const getFiles = (submissionUUID) => { for (let i = 0; i < numFiles; i++) { const fileName = `${submissionUUID}_${allFiles[i]}`; files.push({ - name: fileName, + name: allFiles[i], description: descriptiveText(fileName), - downloadURL: `/download/${fileName}/`, + downloadUrl: allFiles[i], }); } return files; diff --git a/src/test/app.test.jsx b/src/test/app.test.jsx index 0f9d65e..31a69bd 100644 --- a/src/test/app.test.jsx +++ b/src/test/app.test.jsx @@ -29,6 +29,21 @@ jest.mock('@edx/frontend-platform/auth', () => ({ getLoginRedirectUrl: jest.fn(), })); +jest.mock('react-pdf', () => ({ + Document: () =>
Document
, + Image: () =>
Image
, + Page: () =>
Page
, + PDFViewer: jest.fn(() => null), + StyleSheet: { create: () => {} }, + Text: () =>
Text
, + View: () =>
View
, + pdfjs: { GlobalWorkerOptions: {} }, +})); +/* +jest.mock('react-pdf/node_modules/pdfjs-dist/build/pdf.worker.entry', () => ( + jest.requireActual('react-pdf/dist/umd/entry.jest') +)); +*/ const configureStore = () => redux.createStore( reducers, redux.compose(redux.applyMiddleware(thunk)), @@ -153,9 +168,8 @@ const checkLoadedResponses = async (currentIndex) => { }; describe('ESG app integration tests', () => { - beforeAll(() => mockApi()); - test('initialState', async () => { + mockApi(); await renderEl(); expect(state.app).toEqual( jest.requireActual('data/redux/app/reducer').initialState, @@ -177,12 +191,10 @@ describe('ESG app integration tests', () => { }); describe('table selection', () => { - beforeAll(async () => { + it('loads selected submission ids', async () => { await renderEl(); await initialize(); await makeTableSelections(); - }); - it('loads selected submission ids', () => { expect(state.grading.selected).toEqual(submissionUUIDs); }); test('app flags, { showReview: true, isGrading: false, showRubric: false }', () => {