1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,107805,(t,e,i)=>{var r=function(t){"use strict";var e,i=Object.prototype,r=i.hasOwnProperty,s=Object.defineProperty||function(t,e,i){t[e]=i.value},n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",o=n.asyncIterator||"@@asyncIterator",l=n.toStringTag||"@@toStringTag";function h(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,i){return t[e]=i}}function d(t,i,r,n){var a,o,l,h,d=Object.create((i&&i.prototype instanceof m?i:m).prototype);return s(d,"_invoke",{value:(a=t,o=r,l=new C(n||[]),h=u,function(t,i){if(h===p)throw Error("Generator is already running");if(h===g){if("throw"===t)throw i;return k()}for(l.method=t,l.arg=i;;){var r=l.delegate;if(r){var s=function t(i,r){var s=r.method,n=i.iterator[s];if(e===n)return(r.delegate=null,"throw"===s&&i.iterator.return&&(r.method="return",r.arg=e,t(i,r),"throw"===r.method))?f:("return"!==s&&(r.method="throw",r.arg=TypeError("The iterator does not provide a '"+s+"' method")),f);var a=c(n,i.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,f;var o=a.arg;return o?o.done?(r[i.resultName]=o.value,r.next=i.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,f):o:(r.method="throw",r.arg=TypeError("iterator result is not an object"),r.delegate=null,f)}(r,l);if(s){if(s===f)continue;return s}}if("next"===l.method)l.sent=l._sent=l.arg;else if("throw"===l.method){if(h===u)throw h=g,l.arg;l.dispatchException(l.arg)}else"return"===l.method&&l.abrupt("return",l.arg);h=p;var n=c(a,o,l);if("normal"===n.type){if(h=l.done?g:"suspendedYield",n.arg===f)continue;return{value:n.arg,done:l.done}}"throw"===n.type&&(h=g,l.method="throw",l.arg=n.arg)}})}),d}function c(t,e,i){try{return{type:"normal",arg:t.call(e,i)}}catch(t){return{type:"throw",arg:t}}}t.wrap=d;var u="suspendedStart",p="executing",g="completed",f={};function m(){}function b(){}function v(){}var y={};h(y,a,function(){return this});var w=Object.getPrototypeOf,x=w&&w(w(M([])));x&&x!==i&&r.call(x,a)&&(y=x);var A=v.prototype=m.prototype=Object.create(y);function _(t){["next","throw","return"].forEach(function(e){h(t,e,function(t){return this._invoke(e,t)})})}function S(t,e){var i;s(this,"_invoke",{value:function(s,n){function a(){return new e(function(i,a){!function i(s,n,a,o){var l=c(t[s],t,n);if("throw"===l.type)o(l.arg);else{var h=l.arg,d=h.value;return d&&"object"==typeof d&&r.call(d,"__await")?e.resolve(d.__await).then(function(t){i("next",t,a,o)},function(t){i("throw",t,a,o)}):e.resolve(d).then(function(t){h.value=t,a(h)},function(t){return i("throw",t,a,o)})}}(s,n,i,a)})}return i=i?i.then(a,a):a()}})}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function M(t){if(t){var i=t[a];if(i)return i.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var s=-1,n=function i(){for(;++s<t.length;)if(r.call(t,s))return i.value=t[s],i.done=!1,i;return i.value=e,i.done=!0,i};return n.next=n}}return{next:k}}function k(){return{value:e,done:!0}}return b.prototype=v,s(A,"constructor",{value:v,configurable:!0}),s(v,"constructor",{value:b,configurable:!0}),b.displayName=h(v,l,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,h(t,l,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},_(S.prototype),h(S.prototype,o,function(){return this}),t.AsyncIterator=S,t.async=function(e,i,r,s,n){void 0===n&&(n=Promise);var a=new S(d(e,i,r,s),n);return t.isGeneratorFunction(i)?a:a.next().then(function(t){return t.done?t.value:a.next()})},_(A),h(A,l,"Generator"),h(A,a,function(){return this}),h(A,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),i=[];for(var r in e)i.push(r);return i.reverse(),function t(){for(;i.length;){var r=i.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=M,C.prototype={constructor:C,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEac
1h(T),!t)for(var i in this)"t"===i.charAt(0)&&r.call(this,i)&&!isNaN(+i.slice(1))&&(this[i]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var i=this;function s(r,s){return o.type="throw",o.arg=t,i.next=r,s&&(i.method="next",i.arg=e),!!s}for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),h=r.call(a,"finallyLoc");if(l&&h){if(this.prev<a.catchLoc)return s(a.catchLoc,!0);else if(this.prev<a.finallyLoc)return s(a.finallyLoc)}else if(l){if(this.prev<a.catchLoc)return s(a.catchLoc,!0)}else if(h){if(this.prev<a.finallyLoc)return s(a.finallyLoc)}else throw Error("try statement without catch or finally")}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&r.call(s,"finallyLoc")&&this.prev<s.finallyLoc){var n=s;break}}n&&("break"===t||"continue"===t)&&n.tryLoc<=e&&e<=n.finallyLoc&&(n=null);var a=n?n.completion:{};return(a.type=t,a.arg=e,n)?(this.method="next",this.next=n.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),T(i),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var r=i.completion;if("throw"===r.type){var s=r.arg;T(i)}return s}}throw Error("illegal catch attempt")},delegateYield:function(t,i,r){return this.delegate={iterator:M(t),resultName:i,nextLoc:r},"next"===this.method&&(this.arg=e),f}},t}(e.exports);try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}},13485,(t,e,i)=>{"use strict";e.exports=(t,e)=>`${t}-${e}-${Math.random().toString(16).slice(3,8)}`},282779,(t,e,i)=>{"use strict";let r=t.r(13485),s=0;e.exports=({id:t,action:e,payload:i={}})=>{let n=t;return void 0===n&&(n=r("Job",s),s+=1),{id:n,action:e,payload:i}}},437716,(t,e,i)=>{"use strict";let r=!1;i.logging=!1,i.setLogging=t=>{r=t},i.log=(...e)=>r?console.log.apply(t.e,e):null},561565,(t,e,i)=>{"use strict";let r=t.r(282779),{log:s}=t.r(437716),n=t.r(13485),a=0;e.exports=()=>{let e=n("Scheduler",a),i={},o={},l=[];a+=1;let h=()=>Object.keys(i).length,d=()=>{if(0!==l.length){let t=Object.keys(i);for(let e=0;e<t.length;e+=1)if(void 0===o[t[e]]){l[0](i[t[e]]);break}}};return{addWorker:t=>(i[t.id]=t,s(`[${e}]: Add ${t.id}`),s(`[${e}]: Number of workers=${h()}`),d(),t.id),addJob:async(i,...n)=>{if(0===h())throw Error(`[${e}]: You need to have at least one worker before adding jobs`);return new Promise((a,h)=>{let c=r({action:i,payload:n});l.push(async e=>{l.shift(),o[e.id]=c;try{a(await e[i].apply(t.e,[...n,c.id]))}catch(t){h(t)}finally{delete o[e.id],d()}}),s(`[${e}]: Add ${c.id} to JobQueue`),s(`[${e}]: JobQueue length=${l.length}`),d()})},terminate:async()=>
1{Object.keys(i).forEach(async t=>{await i[t].terminate()}),l=[]},getQueueLen:()=>l.length,getNumWorkers:h}}},775261,(t,e,i)=>{"use strict";var r=t.i(247167);e.exports=t=>{let e={};return("undefined"!=typeof WorkerGlobalScope?e.type="webworker":"object"==typeof document?e.type="browser":"object"==typeof r.default&&(e.type="node"),void 0===t)?e:e[t]}},248824,(t,e,i)=>{"use strict";let r="browser"===t.r(775261)("type")?t=>new URL(t,window.location.href).href:t=>t;e.exports=t=>{let e={...t};return["corePath","workerPath","langPath"].forEach(i=>{t[i]&&(e[i]=r(e[i]))}),e}},89220,(t,e,i)=>{"use strict";e.exports={TESSERACT_ONLY:0,LSTM_ONLY:1,TESSERACT_LSTM_COMBINED:2,DEFAULT:3}},714301,t=>{t.v({name:"tesseract.js",version:"6.0.1",description:"Pure Javascript Multilingual OCR",main:"src/index.js",type:"commonjs",types:"src/index.d.ts",unpkg:"dist/tesseract.min.js",jsdelivr:"dist/tesseract.min.js",scripts:{start:"node scripts/server.js",build:"rimraf dist && webpack --config scripts/webpack.config.prod.js && rollup -c scripts/rollup.esm.mjs","profile:tesseract":"webpack-bundle-analyzer dist/tesseract-stats.json","profile:worker":"webpack-bundle-analyzer dist/worker-stats.json",prepublishOnly:"npm run build",wait:"rimraf dist && wait-on http://localhost:3000/dist/tesseract.min.js",test:"npm-run-all -p -r start test:all","test:all":"npm-run-all wait test:browser test:node:all","test:browser":"karma start karma.conf.js","test:node":"nyc mocha --exit --bail --require ./scripts/test-helper.mjs","test:node:all":"npm run test:node -- ./tests/*.test.mjs",lint:"eslint src","lint:fix":"eslint --fix src",postinstall:"opencollective-postinstall || true"},browser:{"./src/worker/node/index.js":"./src/worker/browser/index.js"},author:"",contributors:["jeromewu"],license:"Apache-2.0",devDependencies:{"@babel/core":"^7.21.4","@babel/eslint-parser":"^7.21.3","@babel/preset-env":"^7.21.4","@rollup/plugin-commonjs":"^24.1.0",acorn:"^8.8.2","babel-loader":"^9.1.2",buffer:"^6.0.3",cors:"^2.8.5",eslint:"^7.32.0","eslint-config-airbnb-base":"^14.2.1","eslint-plugin-import":"^2.27.5","expect.js":"^0.3.1",express:"^4.18.2",mocha:"^10.2.0","npm-run-all":"^4.1.5",karma:"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-firefox-launcher":"^2.1.2","karma-mocha":"^2.0.1","karma-webpack":"^5.0.0",nyc:"^15.1.0",rimraf:"^5.0.0",rollup:"^3.20.7","wait-on":"^7.0.1",webpack:"^5.79.0","webpack-bundle-analyzer":"^4.8.0","webpack-cli":"^5.0.1","webpack-dev-middleware":"^6.0.2","rollup-plugin-sourcemaps":"^0.6.3"},dependencies:{"bmp-js":"^0.1.0","idb-keyval":"^6.2.0","is-url":"^1.2.4","node-fetch":"^2.6.9","opencollective-postinstall":"^2.0.3","regenerator-runtime":"^0.13.3","tesseract.js-core":"^6.0.0","wasm-feature-detect":"^1.2.11",zlibjs:"^0.3.1"},overrides:{"@rollup/pluginutils":"^5.0.2"},repository:{type:"git",url:"https://github.com/naptha/tesseract.js.git"},bugs:{url:"https://github.com/naptha/tesseract.js/issues"},homepage:"https://github.com/naptha/tesseract.js",collective:{type:"opencollective",url:"https://opencollective.com/tesseractjs"}})},604207,(t,e,i)=>{"use strict";e.exports={workerBlobURL:!0,logger:()=>{}}},876423,(t,e,i)=>{"use strict";let r=t.r(714301).version;e.exports={...t.r(604207),workerPath:`https://cdn.jsdelivr.net/npm/tesseract.js@v${r}/dist/worker.min.js`}},160465,(t,e,i)=>{"use strict";e.exports=({workerPath:t,workerBlobURL:e})=>{let i;if(Blob&&URL&&e){let e=new Blob([`importScripts("${t}");`],{type:"application/javascript"});i=new Worker(URL.createObjectURL(e))}else i=new Worker(t);return i}},246257,(t,e,i)=>{"use strict";e.exports=t=>{t.terminate()}},543660,(t,e,i)=>{"use strict";e.exports=(t,e)=>{t.onmessage=({data:t})=>{e(t)}}},254657,(t,e,i)=>{"use strict";e.exports=async(t,e)=>{t.postMessage(e)}},53377,(t,e,i)=>{"use strict";let r=t=>new Promise((e,i)=>{let r=new FileReader;r.onload=()=>{e(r.result)},r.onerror=({target:{error:{code:t}}})=>{i(Error(`File could not be read! Code=${t}`))},r.readAsArrayBuffer(t)}),s=async t=>{let e=t;if(void 0===t)return"undefined";if("string"==typeof t)if(/data:image\/([a-zA-Z]*);base64,([^"]*)/.test(t))e=atob(t.split(",")[1]).split("").map(t=>t.charCodeAt(0));else{let i=await fetch(t);e=await i.arrayBuffer()}else if("undefined"!=typeof HTMLElement&&t instanceof HTMLElement)"IMG"===t.tagName&&(e=await s(t.src)),"VIDEO"===t.tagName&&(e=await s(t.poster)),"CANVAS"===t.tagName&&await new Promise(i=>{t.toBlob(async t=>{e=await r(t),i()})});else if("undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas){let i=await t.convertToBlob();e=await r(i)}else(t instanceof File||t instanceof Blob)&&(e=await r(t));return new Uint8Array(e)};e.exports=s},572978,(t,e,i)=>{"use strict";let r=t.r(876423),s=t.r(160465),n=t.r(246257),a=t.r(543660);e.exports={defaultOptions:r,spawnWorker:s,terminateWorker:n,onMessage:a,send:t.r(254657),loadImage:t.r(53377)}},571343,(t,e,i)=>{"use strict";let r=t.r(248824),s=t.r(282779),{log:n}=t.r(437716),a=t.r(13485),o=t.r(89220),{defaultOptions:l,spawnWorker:h,terminateWorker:d,onMessage:c,loadImage:u,send:p}=t.r(572978),g=0;e.exports=async(t="eng",e=o.LSTM_ONLY,i={},f={})=>{let m,b,v=a("Worker",g),{logger:y,errorHandler:w,...x}=r({...l,...i}),A={},_="string"==typeof t?t.split("+"):t,S=e,E=f,T=[o.DEFAULT,o.LSTM_ONLY].includes(e)&&!x.legacyCore,C=new Promise((t,e)=>{b=t,m=e}),M=h(x);M.onerror=t=>{m(t.message)},g+=1;let k=({id:t,action:e,payload:i})=>new Promise((r,s)=>{n(`[${v}]: Start ${t}, action=${e}`),A[`${e}-${t}`]={resolve:r,reject:s},p(M,{workerId:v,jobId:t,action:e,payload:i})}),P=(t,e)=>k(s({id:e,action:"loadLanguage",payload:{langs:t,options:{langPath:x.langPath,dataPath:x.dataPath,cachePath:x.cachePath,cacheMethod:x.cacheMethod,gzip:x.gzip,lstmOnly:[o.DEFAULT,o.LSTM_ONLY].includes(S)&&!x.legacyLang}}})),D=(t,e,i,r)=>k(s({id:r,action:"initialize",payload:{langs:t,oem:e,config:i}})),I=async(t,e={},i={text:!0},r)=>k(s({id:r,action:"recognize",payload:{image:await u(t),options:e,output:i}})),R=async(t,e)=>{if(T)throw Error("`worker.detect` requires Legacy model, which was not loaded.");return k(s({id:e,action:"detect",payload:{image:await u(t)}}))},L=async()=>(null!==M&&(d(M),M=null),Promise.resolve());c(M,({workerId:t,jobId:e,status:i,action:r,data:s})=>{let a=`${r}-${e}`;if("resolve"===i)n(`[${t}]: Complete ${e}`),A[a].resolve({jobId:e,data:s}),delete A[a];else if("reject"===i)if(A[a].reject(s),delete A[a],"load"===r&&m(s),w)w(s);else throw Error(s);else"progress"===i&&y({...s,userJobId:e})});let B={id:v,worker:M,load:()=>console.warn("`load` is depreciated and should be removed from code (workers now come pre-loaded)"),writeText:(t,e,i)=>k(s({id:i,action:"FS",payload:{method:"writeFile",args:[t,e]}})),readText:(t,e)=>k(s({id:e,action:"FS",payload:{method:"readFile",args:[t,{encoding:"utf8"}]}})),removeFile:(t,e)=>k(s({id:e,action:"FS",payload:{method:"unlink",args:[t]}})),FS:(t,e,i)=>k(s({id:i,action:"FS",payload:{method:t,args:e}})),reinitialize:(t="eng",e,i,r)=>{if(T&&[o.TESSERACT_ONLY,o.TESSERACT_LSTM_COMBINED].includes(e))throw Error("Legacy model requested but code missing.");let s=e||S;S=s;let n=i||E;E=n;let a=("string"==typeof t?t.split("+"):t).filter(t=>!_.includes(t));return(_.push(...a),a.length>0)?P(a,r).then(()=>D(t,s,n,r)):D(t,s,n,r)},setParameters:(t={},e)=>k(s({id:e,action:"setParameters",payload:{params:t}})),recognize:I,detect:R,terminate:L};return k(s({id:void 0,action:"load",payload:{options:{lstmOnly:T,corePath:x.corePath,logging:x.logging}}})).then(()=>P(t)).then(()=>D(t,e,f)).then(()=>b(B)).catch(()=>{}),C}},57130,(t,e,i)=>{"use strict";let r=t.r(571343);e.exports={recognize:async(t,e,i)=>{let s=await r(e,1,i);return s.recognize(t).finally(async()=>{await s.terminate()})},detect:async(t,e)=>{let i=await r("osd",0,e);return i.detect(t).finally(async()=>{await i.terminate()})}}},955793,(t,e,i)=>{"use strict";e.exports={AFR:"afr",AMH:"amh",ARA:"ara",ASM:"asm",AZE:"aze",AZE_CYRL:"aze_cyrl",BEL:"bel",BEN:"ben",BOD:"bod",BOS:"bos",BUL:"bul",CAT:"cat",CEB:"ceb",CES:"ces",CHI_SIM:"chi_sim",CHI_TRA:"chi_tra",CHR:"chr",CYM:"cym",DAN:"dan",DEU:"deu",DZO:"dzo",ELL:"ell",ENG:"eng",ENM:"enm",EPO:"epo",EST:"est",EUS:"eus",FAS:"fas",FIN:"fin",FRA:"fra",FRK:"frk",FRM:"frm",GLE:"gle",GLG:"glg",GRC:"grc",GUJ:"guj",HAT:"hat",HEB:"heb",HIN:"hin",HRV:"hrv",HUN:"hun",IKU:"iku",IND:"ind",ISL:"isl",ITA:"ita",ITA_OLD:"ita_old",JAV:"jav",JPN:"jpn",KAN:"kan",KAT:"kat",KAT_OLD:"kat_old",KAZ:"kaz",KHM:"khm",KIR:"kir",KOR:"kor",KUR:"kur",LAO:"lao",LAT:"lat",LAV:"lav",LIT:"lit",MAL:"mal",MAR:"mar",MKD:"mkd",MLT:"mlt",MSA:"msa",MYA:"mya",NEP:"nep",NLD:"nld",NOR:"nor",ORI:"ori",PAN:"pan",POL:"pol",POR:"por",PUS:"pus",RON:"ron",RUS:"rus",SAN:"san",SIN:"sin",SLK:"slk",SLV:"slv",
1SPA:"spa",SPA_OLD:"spa_old",SQI:"sqi",SRP:"srp",SRP_LATN:"srp_latn",SWA:"swa",SWE:"swe",SYR:"syr",TAM:"tam",TEL:"tel",TGK:"tgk",TGL:"tgl",THA:"tha",TIR:"tir",TUR:"tur",UIG:"uig",UKR:"ukr",URD:"urd",UZB:"uzb",UZB_CYRL:"uzb_cyrl",VIE:"vie",YID:"yid"}},154534,(t,e,i)=>{"use strict";e.exports={OSD_ONLY:"0",AUTO_OSD:"1",AUTO_ONLY:"2",AUTO:"3",SINGLE_COLUMN:"4",SINGLE_BLOCK_VERT_TEXT:"5",SINGLE_BLOCK:"6",SINGLE_LINE:"7",SINGLE_WORD:"8",CIRCLE_WORD:"9",SINGLE_CHAR:"10",SPARSE_TEXT:"11",SPARSE_TEXT_OSD:"12",RAW_LINE:"13"}},561281,(t,e,i)=>{"use strict";t.r(107805);let r=t.r(561565),s=t.r(571343),n=t.r(57130),a=t.r(955793),o=t.r(89220),l=t.r(154534),{setLogging:h}=t.r(437716);e.exports={languages:a,OEM:o,PSM:l,createScheduler:r,createWorker:s,setLogging:h,...n}},570118,t=>{"use strict";var e,i,r,s,n,a,o,l,h,d,c,u,p,g,f,m,b,v=t.i(667673),y=t.i(245029),w=t.i(247167);async function x(t,e){let i=v.auth.currentUser;if(!i)throw Error("User not authenticated");let r=await i.getIdToken(),s=await fetch("/api/files/upload-url",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({filename:t,mimetype:e})});if(!s.ok)throw Error("Failed to get presigned URL");return await s.json()}async function A(t,e){if(!(await fetch(e,{method:"PUT",headers:{"Content-Type":t.type||"application/octet-stream"},body:t})).ok)throw Error("Failed to upload file to R2");return!0}var _=t.i(845538),S=t.i(467034);let E={get url(){return`file://${t.P("node_modules/pdf-parse/dist/pdf-parse/web/pdf-parse.es.js")}`}};var T=t=>{throw TypeError(t)},C=(t,e,i)=>e.has(t)||T("Cannot "+i),M=(t,e,i)=>(C(t,e,"read from private field"),i?i.call(t):e.get(t)),k=(t,e,i)=>e.has(t)?T("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,i),P=(t,e,i,r)=>(C(t,e,"write to private field"),r?r.call(t,i):e.set(t,i),i),D=(t,e,i)=>(C(t,e,"access private method"),i),I={34:(t,e,i)=>{var r=i(4901);t.exports=function(t){return"object"==typeof t?null!==t:r(t)}
vendor: 5,635 bytes, line 1
1},81:(t,e,i)=>{var r=i(9565),s=i(9306),n=i(8551),a=i(6823),o=i(851),l=TypeError;t.exports=function(t,e){var i=arguments.length<2?o(t):e;if(s(i))return n(r(i,t));throw new l(a(t)+" is not iterable")}},116:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(2652),a=i(9306),o=i(8551),l=i(1767),h=i(9539),d=i(4549)("find",TypeError);r({target:"Iterator",proto:!0,real:!0,forced:d},{find:function(t){o(this);try{a(t)}catch(t){h(this,"throw",t)}if(d)return s(d,this,t);var e=l(this),i=0;return n(e,function(e,r){if(t(e,i++))return r(e)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},283:(t,e,i)=>{var r=i(9504),s=i(9039),n=i(4901),a=i(9297),o=i(3724),l=i(350).CONFIGURABLE,h=i(3706),d=i(1181),c=d.enforce,u=d.get,p=String,g=Object.defineProperty,f=r("".slice),m=r("".replace),b=r([].join),v=o&&!s(function(){return 8!==g(function(){},"length",{value:8}).length}),y=String(String).split("String"),w=t.exports=function(t,e,i){"Symbol("===f(p(e),0,7)&&(e="["+m(p(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),i&&i.getter&&(e="get "+e),i&&i.setter&&(e="set "+e),(!a(t,"name")||l&&t.name!==e)&&(o?g(t,"name",{value:e,configurable:!0}):t.name=e),v&&i&&a(i,"arity")&&t.length!==i.arity&&g(t,"length",{value:i.arity});try{i&&a(i,"constructor")&&i.constructor?o&&g(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var r=c(t);return a(r,"source")||(r.source=b(y,"string"==typeof e?e:"")),t};Function.prototype.toString=w(function(){return n(this)&&u(this).source||h(this)},"toString")},350:(t,e,i)=>{var r=i(3724),s=i(9297),n=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,o=s(n,"name"),l=o&&(!r||r&&a(n,"name").configurable);t.exports={EXISTS:o,PROPER:o&&"something"===(function(){}).name,CONFIGURABLE:l}},397:(t,e,i)=>{t.exports=i(7751)("document","documentElement")},421:t=>{t.exports={}},456:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(9504),a=i(4154),o=i(5169),l=n(1.1.toString),h=s.Uint8Array,d=!h||!h.prototype.toHex||!function(){try{var t=new h([255,255,255,255,255,255,255,255]);return"ffffffffffffffff"===t.toHex()}catch(t){return!1}}();h&&r({target:"Uint8Array",proto:!0,forced:d},{toHex:function(){a(this),o(this.buffer);for(var t="",e=0,i=this.length;e<i;e++){var r=l(this[e],16);t+=1===r.length?"0"+r:r}return t}})},507:(t,e,i)=>{var r=i(9565);t.exports=function(t,e,i){for(var s,n,a=i?t:t.iterator,o=t.next;!(s=r(o,a)).done;)if(void 0!==(n=e(s.value)))return n}},531:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(9306),a=i(8551),o=i(1767),l=i(8646),h=i(9462),d=i(9539),c=i(6395),u=i(684),p=i(4549),g=!c&&!u("flatMap",function(){}),f=!c&&!g&&p("flatMap",TypeError),m=c||g||f,b=h(function(){for(var t,e,i=this.iterator,r=this.mapper;;){if(e=this.inner)try{if(!(t=a(s(e.next,e.iterator))).done)return t.value;this.inner=null}catch(t){d(i,"throw",t)}if(t=a(s(this.next,i)),this.done=!!t.done)return;try{this.inner=l(r(t.value,this.counter++),!1)}catch(t){d(i,"throw",t)}}});r({target:"Iterator",proto:!0,real:!0,forced:m},{flatMap:function(t){a(this);try{n(t)}catch(t){d(this,"throw",t)}return f?s(f,this,t):new b(o(this),{mapper:t,inner:null})}})},616:(t,e,i)=>{t.exports=!i(9039)(function(){var t=(function(){}).bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})},655:(t,e,i)=>{var r=i(6955),s=String;t.exports=function(t){if("Symbol"===r(t))throw TypeError("Cannot convert a Symbol value to a string");return s(t)}},679:(t,e,i)=>{var r=i(1625),s=TypeError;t.exports=function(t,e){if(r(e,t))return t;throw new s("Incorrect invocation")}},684:t=>{t.exports=function(t,e){var i="function"==typeof Iterator&&Iterator.prototype[t];if(i)try{i.call({next:null},e).next()}catch(t){return!0}}},741:t=>{var e=Math.ceil,i=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?i:e)(r)}},757:(t,e,i)=>{var r=i(7751),s=i(4901),n=i(1625),a=i(7040),o=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return s(e)&&n(e.prototype,o(t))}},851:(t,e,i)=>{var r=i(6955),s=i(5966),n=i(4117),a=i(6269),o=i(8227)("iterator");t.exports=function(t){if(!n(t))return s(t,o)||s(t,"@@iterator")||a[r(t)]}},944:t=>{var e=TypeError;t.exports=function(t){var i=t&&t.alphabet;if(void 0===i||"base64"===i||"base64url"===i)return i||"base64";throw new e("Incorrect `alphabet` option")}},1072:(t,e,i)=>{var r=i(1828),s=i(8727);t.exports=Object.keys||function(t){return r(t,s)}},1103:t=>{t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},1108:(t,e,i)=>{var r=i(6955);t.exports=function(t){var e=r(t);return"BigInt64Array"===e||"BigUint64Array"===e}},1148:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(2652),a=i(9306),o=i(8551),l=i(1767),h=i(9539),d=i(4549)("every",TypeError);r({target:"Iterator",proto:!0,real:!0,forced:d},{every:function(t){o(this);try{a(t)}catch(t){h(this,"throw",t)}if(d)return s(d,this,t);var e=l(this),i=0;return!n(e,function(e,r){if(!t(e,i++))return r()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},1181:(t,e,i)=>{var r,s,n,a=i(8622),o=i(4576),l=i(34),h=i(6699),d=i(9297),c=i(7629),u=i(6119),p=i(421),g="Object already initialized",f=o.TypeError,m=o.WeakMap;if(a||c.state){var b=c.state||(c.state=new m);b.get=b.get,b.has=b.has,b.set=b.set,r=function(t,e){if(b.has(t))throw new f(g);return e.facade=t,b.set(t,e),e},s=function(t){return b.get(t)||{}},n=function(t){return b.has(t)}}else{var v=u("state");p[v]=!0,r=function(t,e){if(d(t,v))throw new f(g);return e.facade=t,h(t,v,e),e},s=function(t){return d(t,v)?t[v]:{}},n=function(t){return d(t,v)}}t.exports={set:r,get:s,has:n,enforce:function(t){return n(t)?s(t):r(t,{})},getterFor:function(t){return function(e){var i;if(!l(e)||(i=s(e)).type!==t)throw new f("Incompatible receiver, "+t+" required");return i}}}}
1,1291:(t,e,i)=>{var r=i(741);t.exports=function(t){var e=+t;return e!=e||0===e?0:r(e)}},1385:(t,e,i)=>{var r=i(9539);t.exports=function(t,e,i){for(var s=t.length-1;s>=0;s--)if(void 0!==t[s])try{i=r(t[s].iterator,e,i)}catch(t){e="throw",i=t}if("throw"===e)throw i;return i}},1548:(t,e,i)=>{var r=i(4576),s=i(9039),n=i(9519),a=i(4215),o=r.structuredClone;t.exports=!!o&&!s(function(){if("DENO"===a&&n>92||"NODE"===a&&n>94||"BROWSER"===a&&n>97)return!1;var t=new ArrayBuffer(8),e=o(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength})},1549:(t,e,i)=>{i(6632)},1625:(t,e,i)=>{t.exports=i(9504)({}.isPrototypeOf)},1689:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(8745),a=i(7680),o=i(6043),l=i(9306),h=i(1103),d=s.Promise,c=!1;r({target:"Promise",stat:!0,forced:!d||!d.try||h(function(){d.try(function(t){c=8===t},8)}).error||!c},{try:function(t){var e=arguments.length>1?a(arguments,1):[],i=o.f(this),r=h(function(){return n(l(t),void 0,e)});return(r.error?i.reject:i.resolve)(r.value),i.promise}})},1698:(t,e,i)=>{var r=i(6518),s=i(4204),n=i(9835);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("union")||!n("union")},{union:s})},1701:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(9306),a=i(8551),o=i(1767),l=i(9462),h=i(6319),d=i(9539),c=i(684),u=i(4549),p=i(6395),g=!p&&!c("map",function(){}),f=!p&&!g&&u("map",TypeError),m=p||g||f,b=l(function(){var t=this.iterator,e=a(s(this.next,t));if(!(this.done=!!e.done))return h(t,this.mapper,[e.value,this.counter++],!0)});r({target:"Iterator",proto:!0,real:!0,forced:m},{map:function(t){a(this);try{n(t)}catch(t){d(this,"throw",t)}return f?s(f,this,t):new b(o(this),{mapper:t})}})},1767:t=>{t.exports=function(t){return{iterator:t,next:t.next,done:!1}}},1828:(t,e,i)=>{var r=i(9504),s=i(9297),n=i(5397),a=i(9617).indexOf,o=i(421),l=r([].push);t.exports=function(t,e){var i,r=n(t),h=0,d=[];for(i in r)!s(o,i)&&s(r,i)&&l(d,i);for(;e.length>h;)s(r,i=e[h++])&&(~a(d,i)||l(d,i));return d}},2106:(t,e,i)=>{var r=i(283),s=i(4913);t.exports=function(t,e,i){return i.get&&r(i.get,e,{getter:!0}),i.set&&r(i.set,e,{setter:!0}),s.f(t,e,i)}},2140:(t,e,i)=>{var r=i(8227)("toStringTag"),s={};s[r]="z",t.exports="[object z]"===String(s)},2195:(t,e,i)=>{var r=i(9504),s=r({}.toString),n=r("".slice);t.exports=function(t){return n(s(t),8,-1)}},2211:(t,e,i)=>{t.exports=!i(9039)(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})},2303:(t,e,i)=>{var r=i(4576),s=i(9504),n=r.Uint8Array,a=r.SyntaxError,o=r.parseInt,l=Math.min,h=/[^\da-f]/i,d=s(h.exec),c=s("".slice);t.exports=function(t,e){var i=t.length;if(i%2!=0)throw new a("String should be an even number of characters");for(var r=e?l(e.length,i/2):i/2,s=e||new n(r),u=0,p=0;p<r;){var g=c(t,u,u+=2);if(d(h,g))throw new a("String should only contain hex characters");s[p++]=o(g,16)}return{bytes:s,read:u}}},2360:(t,e,i)=>{var r,s=i(8551),n=i(6801),a=i(8727),o=i(421),l=i(397),h=i(4055),d=i(6119),c="prototype",u="script",p=d("IE_PROTO"),g=function(){},f=function(t){return"<"+u+">"+t+"</"+u+">"},m=function(t){t.write(f("")),t.close();var e=t.parentWindow.Object;return t=null,e},b=function(){var t,e=h("iframe");return e.style.display="none",l.appendChild(e),e.src=String("java"+u+":"),(t=e.contentWindow.document).open(),t.write(f("document.F=Object")),t.close(),t.F},v=function(){try{r=new ActiveXObject("htmlfile")}catch(t){}v="undefined"!=typeof document?document.domain&&r?m(r):b():m(r);for(var t=a.length;t--;)delete v[c][a[t]];return v()};o[p]=!0,t.exports=Object.create||function(t,e){var i;return null!==t?(g[c]=s(t),i=new g,g[c]=null,i[p]=t):i=v(),void 0===e?i:n.f(i,e)}},2475:(t,e,i)=>{var r=i(6518),s=i(8527);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSupersetOf",function(t){return!t})},{isSupersetOf:s})},2489:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(9306),a=i(8551),o=i(1767),l=i(9462),h=i(6319),d=i(6395),c=i(9539),u=i(684),p=i(4549),g=!d&&!u("filter",function(){}),f=!d&&!g&&p("filter",TypeError),m=d||g||f,b=l(function(){for(var t,e,i=this.iterator,r=this.predicate,n=this.next;;){if(t=a(s(n,i)),this.done=!!t.done)return;if(h(i,r,[e=t.value,this.counter++],!0))return e}});r({target:"Iterator",proto:!0,real:!0,forced:m},{filter:function(t){a(this);try{n(t)}catch(t){c(this,"throw",t)}return f?s(f,this,t):new b(o(this),{predicate:t})}})},2529:t=>{t.exports=function(t,e){return{value:t,done:e}}},2603:(t,e,i)=>{var r=i(655);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:r(t)}},2652:(t,e,i)=>{var r=i(6080),s=i(9565),n=i(8551),a=i(6823),o=i(4209),l=i(6198),h=i(1625),d=i(81),c=i(851),u=i(9539),p=TypeError,g=function(t,e){this.stopped=t,this.result=e},f=g.prototype;
vendor: 12,566 bytes, line 1
1t.exports=function(t,e,i){var m,b,v,y,w,x,A,_=i&&i.that,S=!!(i&&i.AS_ENTRIES),E=!!(i&&i.IS_RECORD),T=!!(i&&i.IS_ITERATOR),C=!!(i&&i.INTERRUPTED),M=r(e,_),k=function(t){return m&&u(m,"normal"),new g(!0,t)},P=function(t){return S?(n(t),C?M(t[0],t[1],k):M(t[0],t[1])):C?M(t,k):M(t)};if(E)m=t.iterator;else if(T)m=t;else{if(!(b=c(t)))throw new p(a(t)+" is not iterable");if(o(b)){for(v=0,y=l(t);y>v;v++)if((w=P(t[v]))&&h(f,w))return w;return new g(!1)}m=d(t,b)}for(x=E?t.next:m.next;!(A=s(x,m)).done;){try{w=P(A.value)}catch(t){u(m,"throw",t)}if("object"==typeof w&&w&&h(f,w))return w}return new g(!1)}},2777:(t,e,i)=>{var r=i(9565),s=i(34),n=i(757),a=i(5966),o=i(4270),l=i(8227),h=TypeError,d=l("toPrimitive");t.exports=function(t,e){if(!s(t)||n(t))return t;var i,l=a(t,d);if(l){if(void 0===e&&(e="default"),!s(i=r(l,t,e))||n(i))return i;throw new h("Can't convert object to primitive value")}return void 0===e&&(e="number"),o(t,e)}},2787:(t,e,i)=>{var r=i(9297),s=i(4901),n=i(8981),a=i(6119),o=i(2211),l=a("IE_PROTO"),h=Object,d=h.prototype;t.exports=o?h.getPrototypeOf:function(t){var e=n(t);if(r(e,l))return e[l];var i=e.constructor;return s(i)&&e instanceof i?i.prototype:e instanceof h?d:null}},2796:(t,e,i)=>{var r=i(9039),s=i(4901),n=/#|\.prototype\./,a=function(t,e){var i=l[o(t)];return i===d||i!==h&&(s(e)?r(e):!!e)},o=a.normalize=function(t){return String(t).replace(n,".").toLowerCase()},l=a.data={},h=a.NATIVE="N",d=a.POLYFILL="P";t.exports=a},2804:t=>{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",i=e+"+/",r=e+"-_",s=function(t){for(var e={},i=0;i<64;i++)e[t.charAt(i)]=i;return e};t.exports={i2c:i,c2i:s(i),i2cUrl:r,c2iUrl:s(r)}},2812:t=>{var e=TypeError;t.exports=function(t,i){if(t<i)throw new e("Not enough arguments");return t}},2839:(t,e,i)=>{var r=i(4576).navigator,s=r&&r.userAgent;t.exports=s?String(s):""},2967:(t,e,i)=>{var r=i(6706),s=i(34),n=i(7750),a=i(3506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,i={};try{(t=r(Object.prototype,"__proto__","set"))(i,[]),e=i instanceof Array}catch(t){}return function(i,r){return n(i),a(r),s(i)&&(e?t(i,r):i.__proto__=r),i}}():void 0)},3068:(t,e,i)=>{var r=i(6518),s=i(9504),n=i(2652),a=RangeError,o=TypeError,l=1/0,h=NaN,d=Math.abs,c=Math.pow,u=s([].push),p=c(2,1023),g=c(2,53)-1,f=Number.MAX_VALUE,m=c(2,971),b={},v={},y={},w={},x={},A=function(t,e){var i=t+e;return{hi:i,lo:e-(i-t)}};r({target:"Math",stat:!0},{sumPrecise:function(t){var e,i,r,s,c,_,S=[],E=0,T=w;switch(n(t,function(t){if(++E>=g)throw new a("Maximum allowed index exceeded");if("number"!=typeof t)throw new o("Value is not a number");T!==b&&(t!=t?T=b:t===l?T=T===v?b:y:t===-l?T=T===y?b:v:(0!==t||1/t===l)&&(T===w||T===x)&&(T=x,u(S,t)))}),T){case b:return h;case v:return-l;case y:return l;case w:return -0}for(var C=[],M=0,k=0;k<S.length;k++){e=S[k];for(var P=0,D=0;D<C.length;D++){if(i=C[D],d(e)<d(i)&&(_=e,e=i,i=_),s=(r=A(e,i)).hi,c=r.lo,d(s)===l){var I=s===l?1:-1;M+=I,d(e=e-I*p-I*p)<d(i)&&(_=e,e=i,i=_),s=(r=A(e,i)).hi,c=r.lo}0!==c&&(C[P++]=c),e=s}C.length=P,0!==e&&u(C,e)}var R=C.length-1;if(s=0,c=0,0!==M){var L=R>=0?C[R]:0;if(R--,d(M)>1||M>0&&L>0||M<0&&L<0)return M>0?l:-l;if(s=(r=A(M*p,L/2)).hi,c=2*r.lo,d(2*s)===l)return s>0?s===p&&c===-(m/2)&&R>=0&&C[R]<0?f:l:s===-p&&c===m/2&&R>=0&&C[R]>0?-f:-l;0!==c&&(C[++R]=c,c=0),s*=2}for(;R>=0&&(s=(r=A(s,C[R--])).hi,0===(c=r.lo)););return R>=0&&(c<0&&C[R]<0||c>0&&C[R]>0)&&(e=s+(i=2*c),i===e-s&&(s=e)),s}})},3167:(t,e,i)=>{var r=i(4901),s=i(34),n=i(2967);t.exports=function(t,e,i){var a,o;return n&&r(a=e.constructor)&&a!==i&&s(o=a.prototype)&&o!==i.prototype&&n(t,o),t}},3238:(t,e,i)=>{var r=i(4576),s=i(7811),n=i(7394),a=r.DataView;t.exports=function(t){if(!s||0!==n(t))return!1;try{return new a(t),!1}catch(t){return!0}}},3392:(t,e,i)=>{var r=i(9504),s=0,n=Math.random(),a=r(1.1.toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++s+n,36)}},3440:(t,e,i)=>{var r=i(7080),s=i(4402),n=i(9286),a=i(5170),o=i(3789),l=i(8469),h=i(507),d=s.has,c=s.remove;t.exports=function(t){var e=r(this),i=o(t),s=n(e);return a(e)<=i.size?l(e,function(t){i.includes(t)&&c(s,t)}):h(i.getIterator(),function(t){d(s,t)&&c(s,t)}),s}},3463:t=>{var e=TypeError;t.exports=function(t){if("string"==typeof t)return t;throw new e("Argument is not a string")}},3506:(t,e,i)=>{var r=i(3925),s=String,n=TypeError;t.exports=function(t){if(r(t))return t;throw new n("Can't set "+s(t)+" as a prototype")}},3579:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(2652),a=i(9306),o=i(8551),l=i(1767),h=i(9539),d=i(4549)("some",TypeError);r({target:"Iterator",proto:!0,real:!0,forced:d},{some:function(t){o(this);try{a(t)}catch(t){h(this,"throw",t)}if(d)return s(d,this,t);var e=l(this),i=0;return n(e,function(e,r){if(t(e,i++))return r()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},3650:(t,e,i)=>{var r=i(7080),s=i(4402),n=i(9286),a=i(3789),o=i(507),l=s.add,h=s.has,d=s.remove;t.exports=function(t){var e=r(this),i=a(t).getIterator(),s=n(e);return o(i,function(t){h(e,t)?d(s,t):l(s,t)}),s}},3706:(t,e,i)=>{var r=i(9504),s=i(4901),n=i(7629),a=r(Function.toString);s(n.inspectSource)||(n.inspectSource=function(t){return a(t)}),t.exports=n.inspectSource},3717:(t,e)=>{e.f=Object.getOwnPropertySymbols},3724:(t,e,i)=>{t.exports=!i(9039)(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})},3789:(t,e,i)=>{var r=i(9306),s=i(8551),n=i(9565),a=i(1291),o=i(1767),l="Invalid size",h=RangeError,d=TypeError,c=Math.max,u=function(t,e){this.set=t,this.size=c(e,0),this.has=r(t.has),this.keys=r(t.keys)};u.prototype={getIterator:function(){return o(s(n(this.keys,this.set)))},includes:function(t){return n(this.has,this.set,t)}},t.exports=function(t){s(t);var e=+t.size;if(e!=e)throw new d(l);var i=a(e);if(i<0)throw new h(l);return new u(t,i)}},3838:(t,e,i)=>{var r=i(7080),s=i(5170),n=i(8469),a=i(3789);t.exports=function(t){var e=r(this),i=a(t);return!(s(e)>i.size)&&!1!==n(e,function(t){if(!i.includes(t))return!1},!0)}},3853:(t,e,i)=>{var r=i(6518),s=i(4449);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("isDisjointFrom",function(t){return!t})},{isDisjointFrom:s})},3925:(t,e,i)=>{var r=i(34);t.exports=function(t){return r(t)||null===t}},3972:(t,e,i)=>{var r=i(34),s=String,n=TypeError;t.exports=function(t){if(void 0===t||r(t))return t;throw new n(s(t)+" is not an object or undefined")}},4055:(t,e,i)=>{var r=i(4576),s=i(34),n=r.document,a=s(n)&&s(n.createElement);t.exports=function(t){return a?n.createElement(t):{}}},4114:(t,e,i)=>{var r=i(6518),s=i(8981),n=i(6198),a=i(4527),o=i(6837);r({target:"Array",proto:!0,arity:1,forced:i(9039)(function(){return 0x100000001!==[].push.call({length:0x100000000},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=s(this),i=n(e),r=arguments.length;o(i+r);for(var l=0;l<r;l++)e[i]=arguments[l],i++;return a(e,i),i}})},4117:t=>{t.exports=function(t){return null==t}},4149:t=>{var e=RangeError;t.exports=function(t){if(t==t)return t;throw new e("NaN is not allowed")}},4154:(t,e,i)=>{var r=i(6955),s=TypeError;t.exports=function(t){if("Uint8Array"===r(t))return t;throw new s("Argument is not an Uint8Array")}},4204:(t,e,i)=>{var r=i(7080),s=i(4402).add,n=i(9286),a=i(3789),o=i(507);t.exports=function(t){var e=r(this),i=a(t).getIterator(),l=n(e);return o(i,function(t){s(l,t)}),l}},4209:(t,e,i)=>{var r=i(8227),s=i(6269),n=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(s.Array===t||a[n]===t)}},4215:(t,e,i)=>{var r=i(4576),s=i(2839),n=i(2195),a=function(t){return s.slice(0,t.length)===t};t.exports=a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":r.Bun&&"string"==typeof Bun.version?"BUN":r.Deno&&"object"==typeof Deno.version?"DENO":"process"===n(r.process)?"NODE":r.window&&r.document?"BROWSER":"REST"},4226:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(3463),a=i(4154),o=i(5169),l=i(2303);s.Uint8Array&&r({target:"Uint8Array",proto:!0},{setFromHex:function(t){a(this),n(t),o(this.buffer);var e=l(t,this).read;return{read:e,written:e/2}}})},4235:(t,e,i)=>{i(3068)},4270:(t,e,i)=>{var r=i(9565),s=i(4901),n=i(34),a=TypeError;t.exports=function(t,e){var i,o;if("string"===e&&s(i=t.toString)&&!n(o=r(i,t))||s(i=t.valueOf)&&!n(o=r(i,t))||"string"!==e&&s(i=t.toString)&&!n(o=r(i,t)))return o;throw new a("Can't convert object to primitive value")}},4376:(t,e,i)=>{var r=i(2195);t.exports=Array.isArray||function(t){return"Array"===r(t)}},4402:(t,e,i)=>{var r=i(9504),s=Set.prototype;t.exports={Set,add:r(s.add),has:r(s.has),remove:r(s.delete),proto:s}},4449:(t,e,i)=>{var r=i(7080),s=i(4402).has,n=i(5170),a=i(3789),o=i(8469),l=i(507),h=i(9539);t.exports=function(t){var e=r(this),i=a(t);if(n(e)<=i.size)return!1!==o(e,function(t){if(i.includes(t))return!1},!0);var d=i.getIterator();return!1!==l(d,function(t){if(s(e,t))return h(d,"normal",!1)})}},4483:(t,e,i)=>{var r,s,n,a,o=i(4576),l=i(9429),h=i(1548),d=o.structuredClone,c=o.ArrayBuffer,u=o.MessageChannel,p=!1;if(h)p=function(t){d(t,{transfer:[t]})};else if(c)try{!u&&(r=l("worker_threads"))&&(u=r.MessageChannel),u&&(s=new u,n=new c(2),a=function(t){s.port1.postMessage(null,[t])},2===n.byteLength&&(a(n),0===n.byteLength&&(p=a)))}catch(t){}t.exports=p},4495:(t,e,i)=>{var r=i(9519),s=i(9039),n=i(4576).String;t.exports=!!Object.getOwnPropertySymbols&&!s(function(){var t=Symbol("symbol detection");return!n(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41})},4527:(t,e,i)=>{var r=i(3724),s=i(4376),n=TypeError,a=Object.getOwnPropertyDescriptor;t.exports=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}()?function(t,e){if(s(t)&&!a(t,"length").writable)throw new n("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4549:(t,e,i)=>{var r=i(4576);t.exports=function(t,e){var i=r.Iterator,s=i&&i.prototype,n=s&&s[t],a=!1;if(n)try{n.call({next:function(){return{done:!0}},return:function(){a=!0}},-1)}catch(t){t instanceof e||(a=!1)}if(!a)return n}},4576:function(e){var i=function(t){return t&&t.Math===Math&&t};e.exports=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i(t.g)||i("object"==typeof this&&this)||function(){return this}()||Function("return this")()},4603:(t,e,i)=>{var r=i(6840),s=i(9504),n=i(655),a=i(2812),o=URLSearchParams,l=o.prototype,h=s(l.append),d=s(l.delete),c=s(l.forEach),u=s([].push),p=new o("a=1&a=2&b=3");p.delete("a",1),p.delete("b",void 0),p+""!="a=2"&&r(l,"delete",function(t){var e,i=arguments.length,r=i<2?void 0:arguments[1];if(i&&void 0===r)return d(this,t);var s=[];c(this,function(t,e){u(s,{key:e,value:t})}),a(i,1);for(var o=n(t),l=n(r),p=0,g=0,f=!1,m=s.length;p<m;)e=s[p++],f||e.key===o?(f=!0,d(this,e.key)):g++;for(;g<m;)((e=s[g++]).key!==o||e.value!==l)&&h(this,e.key,e.value)},{enumerable:!0,unsafe:!0})},4628:(t,e,i)=>{var r=i(6518),s=i(6043);r({target:"Promise",stat:!0},{withResolvers:function(){var t=s.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}})},4644:(t,e,i)=>{var r,s,n,a=i(7811),o=i(3724),l=i(4576),h=i(4901),d=i(34),c=i(9297),u=i(6955),p=i(6823),g=i(6699),f=i(6840),m=i(2106),b=i(1625),v=i(2787),y=i(2967),w=i(8227),x=i(3392),A=i(1181),_=A.enforce,S=A.get,E=l.Int8Array,T=E&&E.prototype,C=l.Uint8ClampedArray,M=C&&C.prototype,k=E&&v(E),P=T&&v(T),D=Object.prototype,I=l.TypeError,R=w("toStringTag"),L=x("TYPED_ARRAY_TAG"),B="TypedArrayConstructor",F=a&&!!y&&"Opera"!==u(l.opera),N=!1,O={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},j={BigInt64Array:8,BigUint64Array:8},U=function(t){var e=v(t);if(d(e)){var i=S(e);return i&&c(i,B)?i[B]:U(e)}},z=function(t){if(!d(t))return!1;var e=u(t);return c(O,e)||c(j,e)};for(r in O)(n=(s=l[r])&&s.prototype)?_(n)[B]=s:F=!1;for(r in j)(n=(s=l[r])&&s.prototype)&&(_(n)[B]=s);if((!F||!h(k)||k===Function.prototype)&&(k=function(){throw new I("Incorrect invocation")},F))for(r in O)l[r]&&y(l[r],k);if((!F||!P||P===D)&&(P=k.prototype,F))for(r in O)l[r]&&y(l[r].prototype,P);if(F&&v(M)!==P&&y(M,P),o&&!c(P,R))for(r in N=!0,m(P,R,{configurable:!0,get:function(){return d(this)?this[L]:void 0}}),O)l[r]&&g(l[r],L,r);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:F,TYPED_ARRAY_TAG:N&&L,aTypedArray:function(t){if(z(t))return t;throw new I("Target is not a typed array")},aTypedArrayConstructor:function(t){if(h(t)&&(!y||b(k,t)))return t;throw new I(p(t)+" is not a typed array constructor")}
1,exportTypedArrayMethod:function(t,e,i,r){if(o){if(i)for(var s in O){var n=l[s];if(n&&c(n.prototype,t))try{delete n.prototype[t]}catch(i){try{n.prototype[t]=e}catch(t){}}}(!P[t]||i)&&f(P,t,i?e:F&&T[t]||e,r)}},exportTypedArrayStaticMethod:function(t,e,i){var r,s;if(o){if(y){if(i){for(r in O)if((s=l[r])&&c(s,t))try{delete s[t]}catch(t){}}if(k[t]&&!i)return;try{return f(k,t,i?e:F&&k[t]||e)}catch(t){}}for(r in O)(s=l[r])&&(!s[t]||i)&&f(s,t,e)}},getTypedArrayConstructor:U,isView:function(t){if(!d(t))return!1;var e=u(t);return"DataView"===e||c(O,e)||c(j,e)},isTypedArray:z,TypedArray:k,TypedArrayPrototype:P}},4659:(t,e,i)=>{var r=i(3724),s=i(4913),n=i(6980);t.exports=function(t,e,i){r?s.f(t,e,n(0,i)):t[e]=i}},4901:t=>{var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},4913:(t,e,i)=>{var r=i(3724),s=i(5917),n=i(8686),a=i(8551),o=i(6969),l=TypeError,h=Object.defineProperty,d=Object.getOwnPropertyDescriptor,c="enumerable",u="configurable",p="writable";e.f=r?n?function(t,e,i){if(a(t),e=o(e),a(i),"function"==typeof t&&"prototype"===e&&"value"in i&&p in i&&!i[p]){var r=d(t,e);r&&r[p]&&(t[e]=i.value,i={configurable:u in i?i[u]:r[u],enumerable:c in i?i[c]:r[c],writable:!1})}return h(t,e,i)}:h:function(t,e,i){if(a(t),e=o(e),a(i),s)try{return h(t,e,i)}catch(t){}if("get"in i||"set"in i)throw new l("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},4916:(t,e,i)=>{var r=i(7751),s=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},n=function(t){return{size:t,has:function(){return!0},keys:function(){throw Error("e")}}};t.exports=function(t,e){var i=r("Set");try{new i()[t](s(0));try{return new i()[t](s(-1)),!1}catch(r){if(!e)return!0;try{return new i()[t](n(-1/0)),!1}catch(r){var a=new i;return a.add(1),a.add(2),e(a[t](n(1/0)))}}}catch(t){return!1}}},4972:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(8551),a=i(1767),o=i(4149),l=i(9590),h=i(9462),d=i(9539),c=i(4549),u=i(6395),p=!u&&c("take",RangeError),g=h(function(){var t=this.iterator;if(!this.remaining--)return this.done=!0,d(t,"normal",void 0);var e=n(s(this.next,t));if(!(this.done=!!e.done))return e.value});r({target:"Iterator",proto:!0,real:!0,forced:u||p},{take:function(t){var e;n(this);try{e=l(o(+t))}catch(t){d(this,"throw",t)}return p?s(p,this,e):new g(a(this),{remaining:e})}})},4979:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(7751),a=i(6980),o=i(4913).f,l=i(9297),h=i(679),d=i(3167),c=i(2603),u=i(5002),p=i(8574),g=i(3724),f=i(6395),m="DOMException",b=n("Error"),v=n(m),y=function(){h(this,w);var t=arguments.length,e=c(t<1?void 0:arguments[0]),i=c(t<2?void 0:arguments[1],"Error"),r=new v(e,i),s=new b(e);return s.name=m,o(r,"stack",a(1,p(s.stack,1))),d(r,this,y),r},w=y.prototype=v.prototype,x="stack"in new b(m),A="stack"in new v(1,2),_=v&&g&&Object.getOwnPropertyDescriptor(s,m),S=!!_&&!(_.writable&&_.configurable),E=x&&!S&&!A;r({global:!0,constructor:!0,forced:f||E},{DOMException:E?y:v});var T=n(m),C=T.prototype;if(C.constructor!==T){for(var M in f||o(C,"constructor",a(1,T)),u)if(l(u,M)){var k=u[M],P=k.s;l(T,P)||o(T,P,a(6,k.c))}}},5002:t=>{t.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1}
vendor: 5,144 bytes, line 1
1,NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},5024:(t,e,i)=>{var r=i(6518),s=i(3650),n=i(9835);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("symmetricDifference")||!n("symmetricDifference")},{symmetricDifference:s})},5031:(t,e,i)=>{var r=i(7751),s=i(9504),n=i(8480),a=i(3717),o=i(8551),l=s([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=n.f(o(t)),i=a.f;return i?l(e,i(t)):e}},5169:(t,e,i)=>{var r=i(3238),s=TypeError;t.exports=function(t){if(r(t))throw new s("ArrayBuffer is detached");return t}},5170:(t,e,i)=>{t.exports=i(6706)(i(4402).proto,"size","get")||function(t){return t.size}},5213:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(5370),a=i(9143),o=s.Uint8Array,l=!o||!o.fromBase64||!function(){try{o.fromBase64("a");return}catch(t){}try{o.fromBase64("",null)}catch(t){return!0}}();o&&r({target:"Uint8Array",stat:!0,forced:l},{fromBase64:function(t){var e=a(t,arguments.length>1?arguments[1]:void 0,null,0x1fffffffffffff);return n(o,e.bytes)}})},5370:(t,e,i)=>{var r=i(6198);t.exports=function(t,e,i){for(var s=0,n=arguments.length>2?i:r(e),a=new t(n);n>s;)a[s]=e[s++];return a}},5397:(t,e,i)=>{var r=i(7055),s=i(7750);t.exports=function(t){return r(s(t))}},5610:(t,e,i)=>{var r=i(1291),s=Math.max,n=Math.min;t.exports=function(t,e){var i=r(t);return i<0?s(i+e,0):n(i,e)}},5623:(t,e,i)=>{i(456)},5636:(t,e,i)=>{var r=i(4576),s=i(9504),n=i(6706),a=i(7696),o=i(5169),l=i(7394),h=i(4483),d=i(1548),c=r.structuredClone,u=r.ArrayBuffer,p=r.DataView,g=Math.min,f=u.prototype,m=p.prototype,b=s(f.slice),v=n(f,"resizable","get"),y=n(f,"maxByteLength","get"),w=s(m.getInt8),x=s(m.setInt8);t.exports=(d||h)&&function(t,e,i){var r,s=l(t),n=void 0===e?s:a(e),f=!v||!v(t);if(o(t),d&&(t=c(t,{transfer:[t]}),s===n&&(i||f)))return t;if(s>=n&&(!i||f))r=b(t,0,n);else{r=new u(n,i&&!f&&y?{maxByteLength:y(t)}:void 0);for(var m=new p(t),A=new p(r),_=g(n,s),S=0;S<_;S++)x(A,S,w(m,S))}return d||h(t),r}},5745:(t,e,i)=>{var r=i(7629);t.exports=function(t,e){return r[t]||(r[t]=e||{})}},5781:(t,e,i)=>{var r=i(6518),s=i(7751),n=i(2812),a=i(655),o=i(7416),l=s("URL");r({target:"URL",stat:!0,forced:!o},{parse:function(t){var e=n(arguments.length,1),i=a(t),r=e<2||void 0===arguments[1]?void 0:a(arguments[1]);try{return new l(i,r)}catch(t){return null}}})},5854:(t,e,i)=>{var r=i(2777),s=TypeError;t.exports=function(t){var e=r(t,"number");if("number"==typeof e)throw new s("Can't convert number to bigint");return BigInt(e)}},5876:(t,e,i)=>{var r=i(6518),s=i(3838);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("isSubsetOf",function(t){return t})},{isSubsetOf:s})},5917:(t,e,i)=>{var r=i(3724),s=i(9039),n=i(4055);t.exports=!r&&!s(function(){return 7!==Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a})},5966:(t,e,i)=>{var r=i(9306),s=i(4117);t.exports=function(t,e){var i=t[e];return s(i)?void 0:r(i)}},6043:(t,e,i)=>{var r=i(9306),s=TypeError,n=function(t){var e,i;this.promise=new t(function(t,r){if(void 0!==e||void 0!==i)throw new s("Bad Promise constructor");e=t,i=r}),this.resolve=r(e),this.reject=r(i)};t.exports.f=function(t){return new n(t)}},6080:(t,e,i)=>{var r=i(7476),s=i(9306),n=i(616),a=r(r.bind);t.exports=function(t,e){return s(t),void 0===e?t:n?a(t,e):function(){return t.apply(e,arguments)}}},6119:(t,e,i)=>{var r=i(5745),s=i(3392),n=r("keys");t.exports=function(t){return n[t]||(n[t]=s(t))}},6193:(t,e,i)=>{t.exports="NODE"===i(4215)},6198:(t,e,i)=>{var r=i(8014);t.exports=function(t){return r(t.length)}},6269:t=>{t.exports={}},6279:(t,e,i)=>{var r=i(6840);t.exports=function(t,e,i){for(var s in e)r(t,s,e[s],i);return t}},6319:(t,e,i)=>{var r=i(8551),s=i(9539);t.exports=function(t,e,i,n){try{return n?e(r(i)[0],i[1]):e(i)}catch(e){s(t,"throw",e)}}},6395:t=>{t.exports=!1},6518:(t,e,i)=>{var r=i(4576),s=i(7347).f,n=i(6699),a=i(6840),o=i(9433),l=i(7740),h=i(2796);t.exports=function(t,e){var i,d,c,u,p,g=t.target,f=t.global,m=t.stat;if(i=f?r:m?r[g]||o(g,{}):r[g]&&r[g].prototype)for(d in e){if(u=e[d],c=t.dontCallGetSet?(p=s(i,d))&&p.value:i[d],!h(f?d:g+(m?".":"#")+d,t.forced)&&void 0!==c){if(typeof u==typeof c)continue;l(u,c)}(t.sham||c&&c.sham)&&n(u,"sham",!0),a(i,d,u,t)}}},6573:(t,e,i)=>{var r=i(3724),s=i(2106),n=i(3238),a=ArrayBuffer.prototype;!r||"detached"in a||s(a,"detached",{configurable:!0,get:function(){return n(this)}})},6632:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(9143),a=i(4154),o=s.Uint8Array,l=!o||!o.prototype.setFromBase64||!function(){var t=new o([255,255,255,255,255]);try{t.setFromBase64("",null);return}catch(t){}try{t.setFromBase64("a");return}catch(t){}try{t.setFromBase64("MjYyZg===")}catch(e){return 50===t[0]&&54===t[1]&&50===t[2]&&255===t[3]&&255===t[4]}}();o&&r({target:"Uint8Array",proto:!0,forced:l},{setFromBase64:function(t){a(this);var e=n(t,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:e.read,written:e.written}}})},6699:(t,e,i)=>{var r=i(3724),s=i(4913),n=i(6980);
1t.exports=r?function(t,e,i){return s.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},6706:(t,e,i)=>{var r=i(9504),s=i(9306);t.exports=function(t,e,i){try{return r(s(Object.getOwnPropertyDescriptor(t,e)[i]))}catch(t){}}},6801:(t,e,i)=>{var r=i(3724),s=i(8686),n=i(4913),a=i(8551),o=i(5397),l=i(1072);e.f=r&&!s?Object.defineProperties:function(t,e){a(t);for(var i,r=o(e),s=l(e),h=s.length,d=0;h>d;)n.f(t,i=s[d++],r[i]);return t}},6823:t=>{var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},6837:t=>{var e=TypeError;t.exports=function(t){if(t>0x1fffffffffffff)throw e("Maximum allowed index exceeded");return t}},6840:(t,e,i)=>{var r=i(4901),s=i(4913),n=i(283),a=i(9433);t.exports=function(t,e,i,o){o||(o={});var l=o.enumerable,h=void 0!==o.name?o.name:e;if(r(i)&&n(i,h,o),o.global)l?t[e]=i:a(e,i);else{try{o.unsafe?t[e]&&(l=!0):delete t[e]}catch(t){}l?t[e]=i:s.f(t,e,{value:i,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return t}},6955:(t,e,i)=>{var r=i(2140),s=i(4901),n=i(2195),a=i(8227)("toStringTag"),o=Object,l="Arguments"===n(function(){return arguments}()),h=function(t,e){try{return t[e]}catch(t){}};t.exports=r?n:function(t){var e,i,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=h(e=o(t),a))?i:l?n(e):"Object"===(r=n(e))&&s(e.callee)?"Arguments":r}},6969:(t,e,i)=>{var r=i(2777),s=i(757);t.exports=function(t){var e=r(t,"string");return s(e)?e:e+""}},6980:t=>{t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}}
1,7040:(t,e,i)=>{t.exports=i(4495)&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},7055:(t,e,i)=>{var r=i(9504),s=i(9039),n=i(2195),a=Object,o=r("".split);t.exports=s(function(){return!a("z").propertyIsEnumerable(0)})?function(t){return"String"===n(t)?o(t,""):a(t)}:a},7080:(t,e,i)=>{var r=i(4402).has;t.exports=function(t){return r(t),t}},7347:(t,e,i)=>{var r=i(3724),s=i(9565),n=i(8773),a=i(6980),o=i(5397),l=i(6969),h=i(9297),d=i(5917),c=Object.getOwnPropertyDescriptor;e.f=r?c:function(t,e){if(t=o(t),e=l(e),d)try{return c(t,e)}catch(t){}if(h(t,e))return a(!s(n.f,t,e),t[e])}},7394:(t,e,i)=>{var r=i(4576),s=i(6706),n=i(2195),a=r.ArrayBuffer,o=r.TypeError;t.exports=a&&s(a.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==n(t))throw new o("ArrayBuffer expected");return t.byteLength}},7416:(t,e,i)=>{var r=i(9039),s=i(8227),n=i(3724),a=i(6395),o=s("iterator");t.exports=!r(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,i=new URLSearchParams("a=1&a=2&b=3"),r="";return t.pathname="c%20d",e.forEach(function(t,i){e.delete("b"),r+=i+t}),i.delete("a",2),i.delete("b",void 0),a&&(!t.toJSON||!i.has("a",1)||i.has("a",2)||!i.has("a",void 0)||i.has("b"))||!e.size&&(a||!n)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[o]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://ÑеÑÑ").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==r||"x"!==new URL("https://x",void 0).host})},7476:(t,e,i)=>{var r=i(2195),s=i(9504);t.exports=function(t){if("Function"===r(t))return s(t)}},7566:(t,e,i)=>{var r=i(6840),s=i(9504),n=i(655),a=i(2812),o=URLSearchParams,l=o.prototype,h=s(l.getAll),d=s(l.has),c=new o("a=1");(c.has("a",2)||!c.has("a",void 0))&&r(l,"has",function(t){var e=arguments.length,i=e<2?void 0:arguments[1];if(e&&void 0===i)return d(this,t);var r=h(this,t);a(e,1);for(var s=n(i),o=0;o<r.length;)if(r[o++]===s)return!0;return!1},{enumerable:!0,unsafe:!0})},7588:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(2652),a=i(9306),o=i(8551),l=i(1767),h=i(9539),d=i(4549)("forEach",TypeError);r({target:"Iterator",proto:!0,real:!0,forced:d},{forEach:function(t){o(this);try{a(t)}catch(t){h(this,"throw",t)}if(d)return s(d,this,t);var e=l(this),i=0;n(e,function(e){t(e,i++)},{IS_RECORD:!0})}})},7629:(t,e,i)=>{var r=i(6395),s=i(4576),n=i(9433),a="__core-js_shared__",o=t.exports=s[a]||n(a,{});(o.versions||(o.versions=[])).push({version:"3.45.1",mode:r?"pure":"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.45.1/LICENSE",source:"https://github.com/zloirock/core-js"})},7642:(t,e,i)=>{var r=i(6518),s=i(3440),n=i(9039);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("difference",function(t){return 0===t.size})||n(function(){var t=new Set([1,2,3,4]);return 3!==t.difference({size:1,has:function(){return!0},keys:function(){var e=0;return{next:function(){var i=e++>1;return t.has(1)&&t.clear(),{done:i,value:2}}}}}).size})},{difference:s})},7657:(t,e,i)=>{var r,s,n,a=i(9039),o=i(4901),l=i(34),h=i(2360),d=i(2787),c=i(6840),u=i(8227),p=i(6395),g=u("iterator"),f=!1;[].keys&&("next"in(n=[].keys())?(s=d(d(n)))!==Object.prototype&&(r=s):f=!0),!l(r)||a(function(){var t={};return r[g].call(t)!==t})?r={}:p&&(r=h(r)),o(r[g])||c(r,g,function(){return this}),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:f}},7680:(t,e,i)=>{t.exports=i(9504)([].slice)},7696:(t,e,i)=>{var r=i(1291),s=i(8014),n=RangeError;t.exports=function(t){if(void 0===t)return 0;var e=r(t),i=s(e);if(e!==i)throw new n("Wrong length or index");return i}},7740:(t,e,i)=>{var r=i(9297),s=i(5031),n=i(7347),a=i(4913);t.exports=function(t,e,i){for(var o=s(e),l=a.f,h=n.f,d=0;d<o.length;d++){var c=o[d];r(t,c)||i&&r(i,c)||l(t,c,h(e,c))}}},7750:(t,e,i)=>{var r=i(4117),s=TypeError;t.exports=function(t){if(r(t))throw new s("Can't call method on "+t);return t}},7751:(t,e,i)=>{var r=i(4576),s=i(4901);t.exports=function(t,e){var i;return arguments.length<2?s(i=r[t])?i:void 0:r[t]&&r[t][e]}},7811:t=>{t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView}
1,7936:(t,e,i)=>{var r=i(6518),s=i(5636);s&&r({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return s(this,arguments.length?arguments[0]:void 0,!1)}})},8004:(t,e,i)=>{var r=i(6518),s=i(9039),n=i(8750);r({target:"Set",proto:!0,real:!0,forced:!i(4916)("intersection",function(t){return 2===t.size&&t.has(1)&&t.has(2)})||s(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))})},{intersection:n})},8014:(t,e,i)=>{var r=i(1291),s=Math.min;t.exports=function(t){var e=r(t);return e>0?s(e,0x1fffffffffffff):0}},8100:(t,e,i)=>{var r=i(6518),s=i(5636);s&&r({target:"ArrayBuffer",proto:!0},{transfer:function(){return s(this,arguments.length?arguments[0]:void 0,!0)}})},8111:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(679),a=i(8551),o=i(4901),l=i(2787),h=i(2106),d=i(4659),c=i(9039),u=i(9297),p=i(8227),g=i(7657).IteratorPrototype,f=i(3724),m=i(6395),b="constructor",v="Iterator",y=p("toStringTag"),w=TypeError,x=s[v],A=m||!o(x)||x.prototype!==g||!c(function(){x({})}),_=function(){if(n(this,g),l(this)===g)throw new w("Abstract class Iterator not directly constructable")},S=function(t,e){f?h(g,t,{configurable:!0,get:function(){return e},set:function(e){if(a(this),this===g)throw new w("You can't redefine this property");u(this,t)?this[t]=e:d(this,t,e)}}):g[t]=e};u(g,y)||S(y,v),(A||!u(g,b)||g[b]===Object)&&S(b,_),_.prototype=g,r({global:!0,constructor:!0,forced:A},{Iterator:_})},8227:(t,e,i)=>{var r=i(4576),s=i(5745),n=i(9297),a=i(3392),o=i(4495),l=i(7040),h=r.Symbol,d=s("wks"),c=l?h.for||h:h&&h.withoutSetter||a;t.exports=function(t){return n(d,t)||(d[t]=o&&n(h,t)?h[t]:c("Symbol."+t)),d[t]}},8235:(t,e,i)=>{var r=i(9504),s=i(9297),n=SyntaxError,a=parseInt,o=String.fromCharCode,l=r("".charAt),h=r("".slice),d=r(/./.exec),c={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":" "},u=/^[\da-f]{4}$/i,p=/^[\u0000-\u001F]$/;t.exports=function(t,e){for(var i=!0,r="";e<t.length;){var g=l(t,e);if("\\"===g){var f=h(t,e,e+2);if(s(c,f))r+=c[f],e+=2;else if("\\u"===f){var m=h(t,e+=2,e+4);if(!d(u,m))throw new n("Bad Unicode escape at: "+e);r+=o(a(m,16)),e+=4}else throw new n('Unknown escape sequence: "'+f+'"')}else if('"'===g){i=!1,e++;break}else{if(d(p,g))throw new n("Bad control character in string literal at: "+e);r+=g,e++}}if(i)throw new n("Unterminated string at: "+e);return{value:r,end:e}}},8237:(t,e,i)=>{var r=i(6518),s=i(2652),n=i(9306),a=i(8551),o=i(1767),l=i(9539),h=i(4549),d=i(8745),c=i(9039),u=TypeError,p=c(function(){[].keys().reduce(function(){},void 0)}),g=!p&&h("reduce",u);r({target:"Iterator",proto:!0,real:!0,forced:p||g},{reduce:function(t){a(this);try{n(t)}catch(t){l(this,"throw",t)}var e=arguments.length<2,i=e?void 0:arguments[1];if(g)return d(g,this,e?[t]:[t,i]);var r=o(this),h=0;if(s(r,function(r){e?(e=!1,i=r):i=t(i,r,h),h++},{IS_RECORD:!0}),e)throw new u("Reduce of empty iterator with no initial value");return i}})},8335:(t,e,i)=>{var r=i(6518),s=i(3724),n=i(4576),a=i(7751),o=i(9504),l=i(9565),h=i(4901),d=i(34),c=i(4376),u=i(9297),p=i(655),g=i(6198),f=i(4659),m=i(9039),b=i(8235),v=i(4495),y=n.JSON,w=n.Number,x=n.SyntaxError,A=y&&y.parse,_=a("Object","keys"),S=Object.getOwnPropertyDescriptor,E=o("".charAt),T=o("".slice),C=o(/./.exec),M=o([].push),k=/^\d$/,P=/^[1-9]$/,D=/^[\d-]$/,I=/^[\t\n\r ]$/,R=function(t,e){var i=new N(t=p(t),0),r=i.parse(),s=r.value,n=i.skip(I,r.end);if(n<t.length)throw new x('Unexpected extra character: "'+E(t,n)+'" after the parsed data at: '+n);return h(e)?L({"":s},"",e,r):s},L=function(t,e,i,r){var s,n,a,o,h,p=t[e],f=r&&p===r.value,m=f&&"string"==typeof r.source?{source:r.source}:{};if(d(p)){var b=c(p),v=f?r.nodes:b?[]:{};if(b)for(o=0,s=v.length,a=g(p);o<a;o++)B(p,o,L(p,""+o,i,o<s?v[o]:void 0));else for(o=0,a=g(n=_(p));o<a;o++)B(p,h=n[o],L(p,h,i,u(v,h)?v[h]:void 0))}return l(i,t,e,p,m)},B=function(t,e,i){if(s){var r=S(t,e);if(r&&!r.configurable)return}void 0===i?delete t[e]:f(t,e,i)},F=function(t,e,i,r){this.value=t,this.end=e,this.source=i,this.nodes=r},N=function(t,e){this.source=t,this.index=e};N.prototype={fork:function(t){return new N(this.source,t)},parse:function(){var t=this.source,e=this.skip(I,this.index),i=this.fork(e),r=E(t,e);if(C(D,r))return i.number();switch(r){case"{":return i.object();case"[":return i.array();case'"':return i.string();case"t":return i.keyword(!0);case"f":return i.keyword(!1);case"n":return i.keyword(null)}throw new x('Unexpected character: "'+r+'" at: '+e)}
1,node:function(t,e,i,r,s){return new F(e,r,t?null:T(this.source,i,r),s)},object:function(){for(var t=this.source,e=this.index+1,i=!1,r={},s={};e<t.length;){if("}"===E(t,e=this.until(['"',"}"],e))&&!i){e++;break}var n=this.fork(e).string(),a=n.value;e=n.end,e=this.until([":"],e)+1,e=this.skip(I,e),f(s,a,n=this.fork(e).parse()),f(r,a,n.value);var o=E(t,e=this.until([",","}"],n.end));if(","===o)i=!0,e++;else if("}"===o){e++;break}}return this.node(1,r,this.index,e,s)},array:function(){for(var t=this.source,e=this.index+1,i=!1,r=[],s=[];e<t.length;){if("]"===E(t,e=this.skip(I,e))&&!i){e++;break}var n=this.fork(e).parse();if(M(s,n),M(r,n.value),","===E(t,e=this.until([",","]"],n.end)))i=!0,e++;else if("]"===E(t,e)){e++;break}}return this.node(1,r,this.index,e,s)},string:function(){var t=this.index,e=b(this.source,this.index+1);return this.node(0,e.value,t,e.end)},number:function(){var t=this.source,e=this.index,i=e;if("-"===E(t,i)&&i++,"0"===E(t,i))i++;else if(C(P,E(t,i)))i=this.skip(k,i+1);else throw new x("Failed to parse number at: "+i);if("."===E(t,i)&&(i=this.skip(k,i+1)),("e"===E(t,i)||"E"===E(t,i))&&(("+"===E(t,++i)||"-"===E(t,i))&&i++,i===(i=this.skip(k,i))))throw new x("Failed to parse number's exponent value at: "+i);return this.node(0,w(T(t,e,i)),e,i)},keyword:function(t){var e=""+t,i=this.index,r=i+e.length;if(T(this.source,i,r)!==e)throw new x("Failed to parse value at: "+i);return this.node(0,t,i,r)},skip:function(t,e){for(var i=this.source;e<i.length&&C(t,E(i,e));e++);return e},until:function(t,e){e=this.skip(I,e);for(var i=E(this.source,e),r=0;r<t.length;r++)if(t[r]===i)return e;throw new x('Unexpected character: "'+i+'" at: '+e)}};var O=m(function(){var t,e="9007199254740993";return A(e,function(e,i,r){t=r.source}),t!==e}),j=v&&!m(function(){return 1/A("-0 ")!=-1/0});r({target:"JSON",stat:!0,forced:O},{parse:function(t,e){return j&&!h(e)?A(t):R(t,e)}})},8469:(t,e,i)=>{var r=i(9504),s=i(507),n=i(4402),a=n.Set,o=n.proto,l=r(o.forEach),h=r(o.keys),d=h(new a).next;t.exports=function(t,e,i){return i?s({iterator:h(t),next:d},e):l(t,e)}},8480:(t,e,i)=>{var r=i(1828),s=i(8727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,s)}},8527:(t,e,i)=>{var r=i(7080),s=i(4402).has,n=i(5170),a=i(3789),o=i(507),l=i(9539);t.exports=function(t){var e=r(this),i=a(t);if(n(e)<i.size)return!1;var h=i.getIterator();return!1!==o(h,function(t){if(!s(e,t))return l(h,"normal",!1)})}},8551:(t,e,i)=>{var r=i(34),s=String,n=TypeError;t.exports=function(t){if(r(t))return t;throw new n(s(t)+" is not an object")}},8574:(t,e,i)=>{var r=i(9504),s=Error,n=r("".replace),a=String(new s("zxcasd").stack),o=/\n\s*at [^:]*:[^\n]*/,l=o.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!s.prepareStackTrace)for(;e--;)t=n(t,o,"");return t}},8622:(t,e,i)=>{var r=i(4576),s=i(4901),n=r.WeakMap;t.exports=s(n)&&/native code/.test(String(n))},8646:(t,e,i)=>{var r=i(9565),s=i(8551),n=i(1767),a=i(851);t.exports=function(t,e){e&&"string"==typeof t||s(t);var i=a(t);return n(s(void 0!==i?r(i,t):t))}},8686:(t,e,i)=>{var r=i(3724),s=i(9039);t.exports=r&&s(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype})},8721:(t,e,i)=>{var r=i(3724),s=i(9504),n=i(2106),a=URLSearchParams.prototype,o=s(a.forEach);!r||"size"in a||n(a,"size",{get:function(){var t=0;return o(this,function(){t++}),t},configurable:!0,enumerable:!0})},8727:t=>{t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},8745:(t,e,i)=>{var r=i(616),s=Function.prototype,n=s.apply,a=s.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(n):function(){return a.apply(n,arguments)})},8750:(t,e,i)=>{var r=i(7080),s=i(4402),n=i(5170),a=i(3789),o=i(8469),l=i(507),h=s.Set,d=s.add,c=s.has;t.exports=function(t){var e=r(this),i=a(t),s=new h;return n(e)>i.size?l(i.getIterator(),function(t){c(e,t)&&d(s,t)}):o(e,function(t){i.includes(t)&&d(s,t)}),s}},8773:(t,e)=>{var i={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor;e.f=r&&!i.call({1:2},1)?function(t){var e=r(this,t);return!!e&&e.enumerable}:i}
vendor: 4,115 bytes, line 1
1,8981:(t,e,i)=>{var r=i(7750),s=Object;t.exports=function(t){return s(r(t))}},9039:t=>{t.exports=function(t){try{return!!t()}catch(t){return!0}}},9143:(t,e,i)=>{var r=i(4576),s=i(9504),n=i(3972),a=i(3463),o=i(9297),l=i(2804),h=i(944),d=i(5169),c=l.c2i,u=l.c2iUrl,p=r.SyntaxError,g=r.TypeError,f=s("".charAt),m=function(t,e){for(var i=t.length;e<i;e++){var r=f(t,e);if(" "!==r&&" "!==r&&"\n"!==r&&"\f"!==r&&"\r"!==r)break}return e},b=function(t,e,i){var r=t.length;r<4&&(t+=2===r?"AA":"A");var s=(e[f(t,0)]<<18)+(e[f(t,1)]<<12)+(e[f(t,2)]<<6)+e[f(t,3)],n=[s>>16&255,s>>8&255,255&s];if(2===r){if(i&&0!==n[1])throw new p("Extra bits");return[n[0]]}if(3===r){if(i&&0!==n[2])throw new p("Extra bits");return[n[0],n[1]]}return n},v=function(t,e,i){for(var r=e.length,s=0;s<r;s++)t[i+s]=e[s];return i+r};t.exports=function(t,e,i,r){a(t),n(e);var s="base64"===h(e)?c:u,l=e?e.lastChunkHandling:void 0;if(void 0===l&&(l="loose"),"loose"!==l&&"strict"!==l&&"stop-before-partial"!==l)throw new g("Incorrect `lastChunkHandling` option");i&&d(i.buffer);var y=t.length,w=i||[],x=0,A=0,_="",S=0;if(r)for(;;){if((S=m(t,S))===y){if(_.length>0){if("stop-before-partial"===l)break;if("loose"===l){if(1===_.length)throw new p("Malformed padding: exactly one additional character");x=v(w,b(_,s,!1),x)}else throw new p("Missing padding")}A=y;break}var E=f(t,S);if(++S,"="===E){if(_.length<2)throw new p("Padding is too early");if(S=m(t,S),2===_.length){if(S===y){if("stop-before-partial"===l)break;throw new p("Malformed padding: only one =")}"="===f(t,S)&&(S=m(t,++S))}if(S<y)throw new p("Unexpected character after padding");x=v(w,b(_,s,"strict"===l),x),A=y;break}if(!o(s,E))throw new p("Unexpected character");var T=r-x;if(1===T&&2===_.length||2===T&&3===_.length||4===(_+=E).length&&(x=v(w,b(_,s,!1),x),_="",A=S,x===r))break}return{bytes:w,read:A,written:x}}},9286:(t,e,i)=>{var r=i(4402),s=i(8469),n=r.Set,a=r.add;t.exports=function(t){var e=new n;return s(t,function(t){a(e,t)}),e}},9297:(t,e,i)=>{var r=i(9504),s=i(8981),n=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return n(s(t),e)}},9306:(t,e,i)=>{var r=i(4901),s=i(6823),n=TypeError;t.exports=function(t){if(r(t))return t;throw new n(s(t)+" is not a function")}},9314:(t,e,i)=>{var r=i(6518),s=i(9565),n=i(8551),a=i(1767),o=i(4149),l=i(9590),h=i(9539),d=i(9462),c=i(684),u=i(4549),p=i(6395),g=!p&&!c("drop",0),f=!p&&!g&&u("drop",RangeError),m=p||g||f,b=d(function(){for(var t,e,i=this.iterator,r=this.next;this.remaining;)if(this.remaining--,t=n(s(r,i)),this.done=!!t.done)return;if(t=n(s(r,i)),!(this.done=!!t.done))return t.value});r({target:"Iterator",proto:!0,real:!0,forced:m},{drop:function(t){var e;n(this);try{e=l(o(+t))}catch(t){h(this,"throw",t)}return f?s(f,this,e):new b(a(this),{remaining:e})}})},9429:(t,e,i)=>{var r=i(4576),s=i(6193);t.exports=function(t){if(s){try{return r.process.getBuiltinModule(t)}catch(t){}try{return Function('return require("'+t+'")')()}catch(t){}}}},9432:(t,e,i)=>{i(5213)},9433:(t,e,i)=>{var r=i(4576),s=Object.defineProperty;t.exports=function(t,e){try{s(r,t,{value:e,configurable:!0,writable:!0})}catch(i){r[t]=e}return e}},9462:(t,e,i)=>{var r=i(9565),s=i(2360),n=i(6699),a=i(6279),o=i(8227),l=i(1181),h=i(5966),d=i(7657).IteratorPrototype,c=i(2529),u=i(9539),p=i(1385),g=o("toStringTag"),f="IteratorHelper",m="WrapForValidIterator",b="normal",v="throw",y=l.set,w=function(t){var e=l.getterFor(t?m:f);return a(s(d),{next:function(){var i=e(this);if(t)return i.nextHandler();if(i.done)return c(void 0,!0);try{var r=i.nextHandler();return i.returnHandlerResult?r:c(r,i.done)}catch(t){throw i.done=!0,t}},return:function(){var i=e(this),s=i.iterator;if(i.done=!0,t){var n=h(s,"return");return n?r(n,s):c(void 0,!0)}if(i.inner)try{u(i.inner.iterator,b)}catch(t){return u(s,v,t)}if(i.openIters)try{p(i.openIters,b)}catch(t){return u(s,v,t)}return s&&u(s,b),c(void 0,!0)}})},x=w(!0),A=w(!1);n(A,g,"Iterator Helper"),t.exports=function(t,e,i){var r=function(r,s){s?(s.iterator=r.iterator,s.next=r.next):s=r,s.type=e?m:f,s.returnHandlerResult=!!i,s.nextHandler=t,s.counter=0,s.done=!1,y(this,s)};return r.prototype=e?x:A,r}}
1,9486:(t,e,i)=>{var r=i(6518),s=i(4576),n=i(9504),a=i(3972),o=i(4154),l=i(5169),h=i(2804),d=i(944),c=h.i2c,u=h.i2cUrl,p=n("".charAt),g=s.Uint8Array,f=!g||!g.prototype.toBase64||!function(){try{new g().toBase64(null)}catch(t){return!0}}();g&&r({target:"Uint8Array",proto:!0,forced:f},{toBase64:function(){var t,e=o(this),i=arguments.length?a(arguments[0]):void 0,r="base64"===d(i)?c:u,s=!!i&&!!i.omitPadding;l(this.buffer);for(var n="",h=0,g=e.length,f=function(e){return p(r,t>>6*e&63)};h+2<g;h+=3)t=(e[h]<<16)+(e[h+1]<<8)+e[h+2],n+=f(3)+f(2)+f(1)+f(0);return h+2===g?(t=(e[h]<<16)+(e[h+1]<<8),n+=f(3)+f(2)+f(1)+(s?"":"=")):h+1===g&&(t=e[h]<<16,n+=f(3)+f(2)+(s?"":"==")),n}})},9504:(t,e,i)=>{var r=i(616),s=Function.prototype,n=s.call,a=r&&s.bind.bind(n,n);t.exports=r?a:function(t){return function(){return n.apply(t,arguments)}}},9519:(t,e,i)=>{var r,s,n=i(4576),a=i(2839),o=n.process,l=n.Deno,h=o&&o.versions||l&&l.version,d=h&&h.v8;d&&(s=(r=d.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!s&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(s=+r[1]),t.exports=s},9539:(t,e,i)=>{var r=i(9565),s=i(8551),n=i(5966);t.exports=function(t,e,i){var a,o;s(t);try{if(!(a=n(t,"return"))){if("throw"===e)throw i;return i}a=r(a,t)}catch(t){o=!0,a=t}if("throw"===e)throw i;if(o)throw a;return s(a),i}},9565:(t,e,i)=>{var r=i(616),s=Function.prototype.call;t.exports=r?s.bind(s):function(){return s.apply(s,arguments)}},9577:(t,e,i)=>{var r=i(9928),s=i(4644),n=i(1108),a=i(1291),o=i(5854),l=s.aTypedArray,h=s.getTypedArrayConstructor,d=s.exportTypedArrayMethod,c=function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}(),u=c&&function(){try{new Int8Array(1).with(-.5,1)}catch(t){return!0}}();d("with",{with:function(t,e){var i=l(this),s=a(t),d=n(i)?o(e):+e;return r(i,h(i),s,d)}}.with,!c||u)},9590:(t,e,i)=>{var r=i(1291),s=RangeError;t.exports=function(t){var e=r(t);if(e<0)throw new s("The argument can't be less than 0");return e}},9617:(t,e,i)=>{var r=i(5397),s=i(5610),n=i(6198),a=function(t){return function(e,i,a){var o,l=r(e),h=n(l);if(0===h)return!t&&-1;var d=s(a,h);if(t&&i!=i){for(;h>d;)if((o=l[d++])!=o)return!0}else for(;h>d;d++)if((t||d in l)&&l[d]===i)return t||d||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},9631:(t,e,i)=>{i(9486)},9797:(t,e,i)=>{i(4226)},9835:t=>{t.exports=function(t){try{var e=new Set,i=e[t]({size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}});return 1===i.size&&4===i.values().next().value}catch(t){return!1}}},9928:(t,e,i)=>{var r=i(6198),s=i(1291),n=RangeError;t.exports=function(t,e,i,a){var o=r(t),l=s(i),h=l<0?o+l:l;if(h>=o||h<0)throw new n("Incorrect index");for(var d=new e(o),c=0;c<o;c++)d[c]=c===h?a:t[c];return d}}},R={};function L(t){var e=R[t];if(void 0!==e)return e.exports;var i=R[t]={exports:{}};return I[t].call(i.exports,i,i.exports,L),i.exports}L.d=(t,e)=>{for(var i in e)L.o(e,i)&&!L.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},L.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),L(4114),L(6573),L(8100),L(7936),L(8111),L(8237),L(1689),L(9577),L(4235),L(9432),L(1549),L(9797),L(9631),L(5623),L(4979),L(5781);let B="object"==typeof w.default&&w.default+""=="[object process]"&&!w.default.versions.nw&&!(w.default.versions.electron&&w.default.type&&"browser"!==w.default.type),F=[.001,0,0,.001,0,0],N={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},O="pdfjs_internal_editor_",j={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},U={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},z={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},$={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},H={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},G={ERRORS:0,WARNINGS:1,INFOS:5}
1,V={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},W={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},q=G.WARNINGS;function X(t){q>=G.INFOS&&console.info(`Info: ${t}`)}function Y(t){q>=G.WARNINGS&&console.warn(`Warning: ${t}`)}function K(t){throw Error(t)}function J(t,e){t||K(e)}function Q(t,e=null,i=null){if(!t)return null;if(i&&"string"==typeof t){if(i.addDefaultProtocol&&t.startsWith("www.")){let e=t.match(/\./g);e?.length>=2&&(t=`http://${t}`)}if(i.tryConvertEncoding)try{var r;r=t,t=decodeURIComponent(escape(r))}catch{}}let s=e?URL.parse(t,e):URL.parse(t);return!function(t){switch(t?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(s)?null:s}function Z(t,e,i=!1){let r=URL.parse(t);return r?(r.hash=e,r.href):i&&Q(t,"http://example.com")?t.split("#",1)[0]+`${e?`#${e}`:""}`:""}function tt(t,e,i,r=!1){return Object.defineProperty(t,e,{value:i,enumerable:!r,configurable:!0,writable:!1}),i}let te=function(){function t(t,e){this.message=t,this.name=e}return t.prototype=Error(),t.constructor=t,t}(),ti=class extends te{constructor(t,e){super(t,"PasswordException"),this.code=e}},tr=class extends te{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}},ts=class extends te{constructor(t){super(t,"InvalidPDFException")}},tn=class extends te{constructor(t,e,i){super(t,"ResponseException"),this.status=e,this.missing=i}},ta=class extends te{constructor(t){super(t,"FormatError")}},to=class extends te{constructor(t){super(t,"AbortException")}};function tl(t){("object"!=typeof t||t?.length===void 0)&&K("Invalid argument for bytesToString");let e=t.length;if(e<8192)return String.fromCharCode.apply(null,t);let i=[];for(let r=0;r<e;r+=8192){let s=Math.min(r+8192,e),n=t.subarray(r,s);i.push(String.fromCharCode.apply(null,n))}return i.join("")}function th(t){"string"!=typeof t&&K("Invalid argument for stringToBytes");let e=t.length,i=new Uint8Array(e);for(let r=0;r<e;++r)i[r]=255&t.charCodeAt(r);return i}class td{static get isLittleEndian(){let t;return tt(this,"isLittleEndian",((t=new Uint8Array(4))[0]=1,1===new Uint32Array(t.buffer,0,1)[0]))}static get isEvalSupported(){return tt(this,"isEvalSupported",function(){try{return Function(""),!0}catch{return!1}}())}static get isOffscreenCanvasSupported(){return tt(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get isImageDecoderSupported(){return tt(this,"isImageDecoderSupported","undefined"!=typeof ImageDecoder)}static get platform(){let{platform:t,userAgent:e}=navigator;return tt(this,"platform",{isAndroid:e.includes("Android"),isLinux:t.includes("Linux"),isMac:t.includes("Mac"),isWindows:t.includes("Win"),isFirefox:e.includes("Firefox")})}static get isCSSRoundSupported(){return tt(this,"isCSSRoundSupported",globalThis.CSS?.supports?.("width: round(1.5px, 1px)"))}}let tc=Array.from(Array(256).keys(),t=>t.toString(16).padStart(2,"0"));class tu{static makeHexColor(t,e,i){return`#${tc[t]}${tc[e]}${tc[i]}`}static domMatrixToTransform(t){return[t.a,t.b,t.c,t.d,t.e,t.f]}static scaleMinMax(t,e){let i;t[0]?(t[0]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[0],e[2]*=t[0],t[3]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[3],e[3]*=t[3]):(i=e[0],e[0]=e[1],e[1]=i,i=e[2],e[2]=e[3],e[3]=i,t[1]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[1],e[3]*=t[1],t[2]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[2],e[2]*=t[2]),e[0]+=t[4],e[1]+=t[5],e[2]+=t[4],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static multiplyByDOMMatrix(t,e){return[t[0]*e.a+t[2]*e.b,t[1]*e.a+t[3]*e.b,t[0]*e.c+t[2]*e.d,t[1]*e.c+t[3]*e.d,t[0]*e.e+t[2]*e.f+t[4],t[1]*e.e+t[3]*e.f+t[5]]}static applyTransform(t,e,i=0){let r=t[i],s=t[i+1];t[i]=r*e[0]+s*e[2]+e[4],t[i+1]=r*e[1]+s*e[3]+e[5]}static applyTransformToBezier(t,e,i=0){let r=e[0],s=e[1],n=e[2],a=e[3],o=e[4],l=e[5];for(let e=0;e<6;e+=2){let h=t[i+e],d=t[i+e+1];t[i+e]=h*r+d*n+o,t[i+e+1]=h*s+d*a+l}}static applyInverseTransform(t,e){let i=t[0],r=t[1],s=e[0]*e[3]-e[1]*e[2];t[0]=(i*e[3]-r*e[2]+e[2]*e[5]-e[4]*e[3])/s,t[1]=(-i*e[1]+r*e[0]+e[4]*e[1]-e[5]*e[0])/s}static axialAlignedBoundingBox(t,e,i){let r=e[0],s=e[1],n=e[2],a=e[3],o=e[4],l=e[5],h=t[0],d=t[1],c=t[2],u=t[3],p=r*h+o,g=p,f=r*c+o,m=f,b=a*d+l,v=b,y=a*u+l,w=y;if(0!==s||0!==n){let t=s*h,e=s*c,i=n*d,r=n*u;p+=i,m+=i,f+=r,g+=r,b+=t,w+=t,y+=e,v+=e}i[0]=Math.min(i[0],p,f,g,m),i[1]=Math.min(i[1],b,y,v,w),i[2]=Math.max(i[2],p,f,g,m),i[3]=Math.max(i[3],b,y,v,w)}static inverseTransform(t){let e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t,e){let i=t[0],r=t[1],s=t[2],n=t[3],a=i**2+r**2,o=s**2+n**2,l=(a+o)/2,h=Math.sqrt(l**2-(a*o-(i*s+r*n)**2));e[0]=Math.sqrt(l+h||1),e[1]=Math.sqrt(l-h||1)}static normalizeRect(t){let e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){let i=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),r
1=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(i>r)return null;let s=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),n=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return s>n?null:[i,s,r,n]}static pointBoundingBox(t,e,i){i[0]=Math.min(i[0],t),i[1]=Math.min(i[1],e),i[2]=Math.max(i[2],t),i[3]=Math.max(i[3],e)}static rectBoundingBox(t,e,i,r,s){s[0]=Math.min(s[0],t,i),s[1]=Math.min(s[1],e,r),s[2]=Math.max(s[2],t,i),s[3]=Math.max(s[3],e,r)}static #t(t,e,i,r,s,n,a,o,l,h){if(l<=0||l>=1)return;let d=1-l,c=l*l,u=c*l,p=d*(d*(d*t+3*l*e)+3*c*i)+u*r,g=d*(d*(d*s+3*l*n)+3*c*a)+u*o;h[0]=Math.min(h[0],p),h[1]=Math.min(h[1],g),h[2]=Math.max(h[2],p),h[3]=Math.max(h[3],g)}static #e(t,e,i,r,s,n,a,o,l,h,d,c){if(1e-12>Math.abs(l)){Math.abs(h)>=1e-12&&this.#t(t,e,i,r,s,n,a,o,-d/h,c);return}let u=h**2-4*d*l;if(u<0)return;let p=Math.sqrt(u),g=2*l;this.#t(t,e,i,r,s,n,a,o,(-h+p)/g,c),this.#t(t,e,i,r,s,n,a,o,(-h-p)/g,c)}static bezierBoundingBox(t,e,i,r,s,n,a,o,l){l[0]=Math.min(l[0],t,a),l[1]=Math.min(l[1],e,o),l[2]=Math.max(l[2],t,a),l[3]=Math.max(l[3],e,o),this.#e(t,i,s,a,e,r,n,o,3*(-t+3*(i-s)+a),6*(t-2*i+s),3*(i-t),l),this.#e(t,i,s,a,e,r,n,o,3*(-e+3*(r-n)+o),6*(e-2*r+n),3*(r-e),l)}}let tp=null,tg=null;function tf(t){return tp||(tp=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,tg=new Map([["ï¬
","ſt"]])),t.replaceAll(tp,(t,e,i)=>e?e.normalize("NFKC"):tg.get(i))}function tm(){if("function"==typeof crypto.randomUUID)return crypto.randomUUID();let t=new Uint8Array(32);return crypto.getRandomValues(t),tl(t)}let tb="pdfjs_internal_id_";function tv(t,e,i){return Math.min(Math.max(t,e),i)}function ty(t){return Uint8Array.prototype.toBase64?t.toBase64():btoa(tl(t))}"function"!=typeof Math.sumPrecise&&(Math.sumPrecise=function(t){return t.reduce((t,e)=>t+e,0)}),"function"!=typeof AbortSignal.any&&(AbortSignal.any=function(t){let e=new AbortController,{signal:i}=e;for(let r of t)if(r.aborted)return e.abort(r.reason),i;for(let r of t)r.addEventListener("abort",()=>{e.abort(r.reason)},{signal:i});return i}),L(1701),L(4603),L(7566),L(8721);class tw{static textContent(t){let e=[],i={items:e,styles:Object.create(null)};return!function t(i){if(!i)return;let r=null,s=i.name;if("#text"===s)r=i.value;else{if(!tw.shouldBuildText(s))return;i?.attributes?.textContent?r=i.attributes.textContent:i.value&&(r=i.value)}if(null!==r&&e.push({str:r}),i.children)for(let e of i.children)t(e)}(t),i}static shouldBuildText(t){return"textarea"!==t&&"input"!==t&&"option"!==t&&"select"!==t}}class tx{static setupStorage(t,e,i,r,s){let n=r.getValue(e,{value:null});switch(i.name){case"textarea":if(null!==n.value&&(t.textContent=n.value),"print"===s)break;t.addEventListener("input",t=>{r.setValue(e,{value:t.target.value})});break;case"input":if("radio"===i.attributes.type||"checkbox"===i.attributes.type){if(n.value===i.attributes.xfaOn?t.setAttribute("checked",!0):n.value===i.attributes.xfaOff&&t.removeAttribute("checked"),"print"===s)break;t.addEventListener("change",t=>{r.setValue(e,{value:t.target.checked?t.target.getAttribute("xfaOn"):t.target.getAttribute("xfaOff")})})}else{if(null!==n.value&&t.setAttribute("value",n.value),"print"===s)break;t.addEventListener("input",t=>{r.setValue(e,{value:t.target.value})})}break;case"select":if(null!==n.value)for(let e of(t.setAttribute("value",n.value),i.children))e.attributes.value===n.value?e.attributes.selected=!0:e.attributes.hasOwnProperty("selected")&&delete e.attributes.selected;t.addEventListener("input",t=>{let i=t.target.options,s=-1===i.selectedIndex?"":i[i.selectedIndex].value;r.setValue(e,{value:s})})}}static setAttributes({html:t,element:e,storage:i=null,intent:r,linkService:s}){let{attributes:n}=e,a=t instanceof HTMLAnchorElement;for(let[e,i]of("radio"===n.type&&(n.name=`${n.name}-${r}`),Object.entries(n)))if(null!=i)switch(e){case"class":i.length&&t.setAttribute(e,i.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",i);break;case"style":Object.assign(t.style,i);break;case"textContent":t.textContent=i;break;default:a&&("href"===e||"newWindow"===e)||t.setAttribute(e,i)}a&&s.addLinkAttributes(t,n.href,n.newWindow),i&&n.dataId&&this.setupStorage(t,n.dataId,e,i)}static render(t){let e=t.annotationStorage,i=t.linkService,r=t.xfaHtml,s=t.
1intent||"display",n=document.createElement(r.name);r.attributes&&this.setAttributes({html:n,element:r,intent:s,linkService:i});let a="richText"!==s,o=t.div;if(o.append(n),t.viewport){let e=`matrix(${t.viewport.transform.join(",")})`;o.style.transform=e}a&&o.setAttribute("class","xfaLayer xfaFont");let l=[];if(0===r.children.length){if(r.value){let t=document.createTextNode(r.value);n.append(t),a&&tw.shouldBuildText(r.name)&&l.push(t)}return{textDivs:l}}let h=[[r,-1,n]];for(;h.length>0;){let[t,r,n]=h.at(-1);if(r+1===t.children.length){h.pop();continue}let o=t.children[++h.at(-1)[1]];if(null===o)continue;let{name:d}=o;if("#text"===d){let t=document.createTextNode(o.value);l.push(t),n.append(t);continue}let c=o?.attributes?.xmlns?document.createElementNS(o.attributes.xmlns,d):document.createElement(d);if(n.append(c),o.attributes&&this.setAttributes({html:c,element:o,storage:e,intent:s,linkService:i}),o.children?.length>0)h.push([o,-1,c]);else if(o.value){let t=document.createTextNode(o.value);a&&tw.shouldBuildText(d)&&l.push(t),c.append(t)}}for(let t of o.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))t.setAttribute("readOnly",!0);return{textDivs:l}}static update(t){let e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e,t.div.hidden=!1}}let tA="http://www.w3.org/2000/svg";class t_{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function tS(t,e="text"){if(tI(t,document.baseURI)){let i=await fetch(t);if(!i.ok)throw Error(i.statusText);switch(e){case"arraybuffer":return i.arrayBuffer();case"blob":return i.blob();case"json":return i.json()}return i.text()}return new Promise((i,r)=>{let s=new XMLHttpRequest;s.open("GET",t,!0),s.responseType=e,s.onreadystatechange=()=>{if(s.readyState===XMLHttpRequest.DONE){if(200===s.status||0===s.status){switch(e){case"arraybuffer":case"blob":case"json":i(s.response);return}i(s.responseText);return}r(Error(s.statusText))}},s.send(null)})}class tE{constructor({viewBox:t,userUnit:e,scale:i,rotation:r,offsetX:s=0,offsetY:n=0,dontFlip:a=!1}){let o,l,h,d,c,u,p,g;this.viewBox=t,this.userUnit=e,this.scale=i,this.rotation=r,this.offsetX=s,this.offsetY=n,i*=e;const f=(t[2]+t[0])/2,m=(t[3]+t[1])/2;switch((r%=360)<0&&(r+=360),r){case 180:o=-1,l=0,h=0,d=1;break;case 90:o=0,l=1,h=1,d=0;break;case 270:o=0,l=-1,h=-1,d=0;break;case 0:o=1,l=0,h=0,d=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}a&&(h=-h,d=-d),0===o?(c=Math.abs(m-t[1])*i+s,u=Math.abs(f-t[0])*i+n,p=(t[3]-t[1])*i,g=(t[2]-t[0])*i):(c=Math.abs(f-t[0])*i+s,u=Math.abs(m-t[1])*i+n,p=(t[2]-t[0])*i,g=(t[3]-t[1])*i),this.transform=[o*i,l*i,h*i,d*i,c-o*i*f-h*i*m,u-l*i*f-d*i*m],this.width=p,this.height=g}get rawDims(){let t=this.viewBox;return tt(this,"rawDims",{pageWidth:t[2]-t[0],pageHeight:t[3]-t[1],pageX:t[0],pageY:t[1]})}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:i=this.offsetX,offsetY:r=this.offsetY,dontFlip:s=!1}={}){return new tE({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:t,rotation:e,offsetX:i,offsetY:r,dontFlip:s})}convertToViewportPoint(t,e){let i=[t,e];return tu.applyTransform(i,this.transform),i}convertToViewportRectangle(t){let e=[t[0],t[1]];tu.applyTransform(e,this.transform);let i=[t[2],t[3]];return tu.applyTransform(i,this.transform),[e[0],e[1],i[0],i[1]]}convertToPdfPoint(t,e){let i=[t,e];return tu.applyInverseTransform(i,this.transform),i}}class tT extends te{constructor(t,e=0){super(t,"RenderingCancelledException"),this.extraDelay=e}}function tC(t){let e=t.length,i=0;for(;i<e&&""===t[i].trim();)i++;return"data:"===t.substring(i,i+5).toLowerCase()}function tM(t){return"string"==typeof t&&/\.pdf$/i.test(t)}function tk(t){return[t]=t.split(/[#?]/,1),t.substring(t.lastIndexOf("/")+1)}function tP(t,e="document.pdf"){if("string"!=typeof t)return e;if(tC(t))return Y('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),e;let i=(t=>{try{return new URL(t)}catch{try{return new URL(decodeURIComponent(t))}catch{try{return new URL(t,"https://foo.bar")}catch{try{return new URL(decodeURIComponent(t),"https://foo.bar")}catch{return null}}}}})(t);if(!i)return e;let r=t=>{try{let e=decodeURIComponent(t);if(e.includes("/")){if((e=e.split("/").at(-1)).test(/^\.pdf$/i))return e;return t}return e}catch{return t}},s=/\.pdf$/i,n=i.pathname.split("/").at(-1);if(s.test(n))return r(n);if(i.searchParams.size>0){for(let t of Array.from(i.searchParams.values()).reverse())if(s.test(t))return r(t);for(let t of Array.from(i.searchParams.keys()).reverse())if(s.test(t))return r(t)}if(i.hash){let t=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i.exec(i.hash);if(t)return r(t[0])}return e}class tD{started=Object.create(null);times=[];time(t){t in this.started&&Y(`Timer is already running for ${t}`),this.started[t]=Date.now()}timeEnd(t){t in this.started||Y(`Timer has not been started for ${t}`),this.times.push({name:t,start:this.started[t],end:Date.now()}),delete this.started[t]}toString(){let t=[],e=0;for(let{name:t}of this.times)e=Math.max(t.length,e);for(let{name:i,start:r,end:s}of this.times)t.push(`${i.padEnd(e)} ${s-r}ms 2`);return t.join("")}}function tI(t,e){let i=e?URL.parse(t,e):URL.parse(t);return i?.protocol==="http:"||i?.protocol==="https:"}function tR(t){t.preventDefault()}function tL(t){t.preventDefault(),t.stopPropagation()}class tB{static #i;static toDateObject(t){if(t instanceof Date)return t;if(!t||"string"!=typeof t)return null;this.#i||=RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?");let e=this.#i.exec(t);if(!e)return null;let i=parseInt(e[1],10),r=parseInt(e[2],10);r=r>=1&&r<=12?r-1:0;let s=parseInt(e[3],10);s=s>=1&&s<=31?s:1;let n=parseInt(e[4],10);n=n>=0&&n<=23?n:0;let a=parseInt(e[5],10);a=a>=0&&a<=59?a:0;let o=parseInt(e[6],10);o=o>=0&&o<=59?o:0;let l=e[7]||"Z",h=parseInt(e[8],10);h=h>=0&&h<=23?h:0;let d=parseInt(e[9],10)||0;return d=d>=0&&d<=59?d:0,"-"===l?(n+=h,a+=d):"+"===l&&(n-=h,a-=d),new Date(Date.UTC(i,r,s,n,a,o))}}function tF(t,{scale:e=1,rotation:i=0}){let{width:r,height:s}=t.attributes.style;return new tE({viewBox:[0,0,parseInt(r),parseInt(s)],userUnit:1,scale:e,rotation:i})}function tN(t){if(t.startsWith("#")){let e=parseInt(t.slice(1),16);return[(0xff0000&e)>>16,(65280&e)>>8,255&e]}return t.startsWith("rgb(")?t.slice(4,-1).split(",").map(t=>parseInt(t)):t.startsWith("rgba(")?t.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):(Y(`Not a valid color format: "${t}"`),[0,0,0])}function tO(t){let{a:e,b:i,c:r,d:s,e:n,f:a}=t.getTransform();return[e,i,r,s,n,a]}function tj(t){let{a:e,b:i,c:r,d:s,e:n,f:a}=t.getTransform().invertSelf();return[e,i,r,s,n,a]}function tU(t,e,i=!1,r=!0){if(e instanceof tE){let{pageWidth:r,pageHeight:s}=e.rawDims,{style:n}=t,a=td.isCSSRoundSupported,o=`var(--total-scale-factor) * ${r}px`,l=`var(--total-scale-factor) * ${s}px`,h=a?`round(down, ${o}, var(--scale-round-x))`:`calc(${o})`,d=a?`round(down, ${l}, var(--scale-round-y))`:`calc(${l})`;i&&e.rotation%180!=0?(n.width=d,n.height=h):(n.width=h,n.height=d)}r&&t.setAttribute("data-main-rotation",e.rotation)}class tz{constructor(){const{pixelRatio:t}=tz;this.sx=t,this.sy=t}get scaled(){return 1!==this.sx||1!==this.sy}get symmetric(){return this.sx===this.sy}limitCanvas(t,e,i,r,s=-1){let n=1/0,a=1/0,o=1/0;(i=tz.capPixels(i,s))>0&&(n=Math.sqrt(i/(t*e))),-1!==r&&(a=r/t,o=r/e);let l=Math.min(n,a,o);return(this.sx>l||this.sy>l)&&(this.sx=l,this.sy=l,!0)}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(t,e){if(e>
2=0){let i=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+e/100));return t>0?Math.min(t,i):i}return t}}let t$=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class tH{static get isDarkMode(){return tt(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class tG{static get commentForegroundColor(){let t=document.createElement("span");t.classList.add("comment","sidebar");let{style:e}=t;e.width=e.height="0",e.display="none",e.color="var(--comment-fg-color)",document.body.append(t);let{color:i}=window.getComputedStyle(t);return t.remove(),tt(this,"commentForegroundColor",tN(i))}}function tV(t,e,i,r){let s=255*(1-(r=Math.min(Math.max(r??1,0),1)));return[t=Math.round(t*r+s),e=Math.round(e*r+s),i=Math.round(i*r+s)]}function tW(t,e){let i=t[0]/255,r=t[1]/255,s=t[2]/255,n=Math.max(i,r,s),a=Math.min(i,r,s),o=(n+a)/2;if(n===a)e[0]=e[1]=0;else{let t=n-a;switch(e[1]=o<.5?t/(n+a):t/(2-n-a),n){case i:e[0]=((r-s)/t+6*(r<s))*60;break;case r:e[0]=((s-i)/t+2)*60;break;case s:e[0]=((i-r)/t+4)*60}}e[2]=o}function tq(t,e){let i=t[0],r=t[1],s=t[2],n=(1-Math.abs(2*s-1))*r,a=n*(1-Math.abs(i/60%2-1)),o=s-n/2;switch(Math.floor(i/60)){case 0:e[0]=n+o,e[1]=a+o,e[2]=o;break;case 1:e[0]=a+o,e[1]=n+o,e[2]=o;break;case 2:e[0]=o,e[1]=n+o,e[2]=a+o;break;case 3:e[0]=o,e[1]=a+o,e[2]=n+o;break;case 4:e[0]=a+o,e[1]=o,e[2]=n+o;break;case 5:case 6:e[0]=n+o,e[1]=o,e[2]=a+o}}function tX(t){return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function tY(t,e,i){tq(t,i),i.map(tX);let r=.2126*i[0]+.7152*i[1]+.0722*i[2];tq(e,i),i.map(tX);let s=.2126*i[0]+.7152*i[1]+.0722*i[2];return r>s?(r+.05)/(s+.05):(s+.05)/(r+.05)}let tK=new Map;function tJ(t,e){let i=t[0]+256*t[1]+65536*t[2]+0x1000000*e[0]+0x100000000*e[1]+0x10000000000*e[2],r=tK.get(i);if(r)return r;let s=new Float32Array(9),n=s.subarray(0,3),a=s.subarray(3,6);tW(t,a);let o=s.subarray(6,9);tW(e,o);let l=o[2]<.5,h=l?12:4.5;if(a[2]=l?Math.sqrt(a[2]):1-Math.sqrt(1-a[2]),tY(a,o,n)<h){let t,e;for(l?(t=a[2],e=1):(t=0,e=a[2]);e-t>.005;){let i=a[2]=(t+e)/2;l===tY(a,o,n)<h?t=i:e=i}a[2]=l?e:t}return tq(a,n),r=tu.makeHexColor(Math.round(255*n[0]),Math.round(255*n[1]),Math.round(255*n[2])),tK.set(i,r),r}function tQ({html:t,dir:e,className:i},r){let s=document.createDocumentFragment();if("string"==typeof t){let i=document.createElement("p");i.dir=e||"auto";let r=t.split(/(?:\r\n?|\n)/);for(let t=0,e=r.length;t<e;++t){let s=r[t];i.append(document.createTextNode(s)),t<e-1&&i.append(document.createElement("br"))}s.append(i)}else tx.render({xfaHtml:t,div:s,intent:"richText"});s.firstChild.classList.add("richText",i),r.append(s)}L(4972),L(4628),L(7642),L(8004),L(3853),L(5876),L(2475),L(5024),L(1698),L(9314),L(1148),L(3579),L(8335);class tZ{#r=null;#s=null;#n;#a=null;#o=null;#l=null;#h=null;#d=null;static #c=null;constructor(t){this.#n=t,tZ.#c||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"})}render(){let t=this.#r=document.createElement("div");t.classList.add("editToolbar","hidden"),t.setAttribute("role","toolbar");let e=this.#n._uiManager._signal;e instanceof AbortSignal&&!e.aborted&&(t.addEventListener("contextmenu",tR,{signal:e}),t.addEventListener("pointerdown",tZ.#u,{signal:e}));let i=this.#a=document.createElement("div");i.className="buttons",t.append(i);let r=this.#n.toolbarPosition;if(r){let{style:e}=t,i="ltr"===this.#n._uiManager.direction?1-r[0]:r[0];e.insetInlineEnd=`${100*i}%`,e.top=`calc(${100*r[1]}% + var(--editor-toolbar-vert-offset))`}return t}get div(){return this.#r}static #u(t){t.stopPropagation()}#p(t){this.#n._focusEventsAllowed=!1,tL(t)}#g(t){this.#n._focusEventsAllowed=!0,tL(t)}#f(t){let e=this.#n._uiManager._signal;return e instanceof AbortSignal&&!e.aborted&&(t.addEventListener("focusin",this.#p.bind(this),{capture:!0,signal:e}),t.addEventListener("focusout",this.#g.bind(this),{capture:!0,signal:e}),t.addEventListener("contextmenu",tR,{signal:e}),!0)}hide(){this.#r.classList.add("hidden"),this.#s?.hideDropdown()}show(){this.#r.classList.remove("hidden"),this.#o?.shown(),this.#l?.shown()}
2addDeleteButton(){let{editorType:t,_uiManager:e}=this.#n,i=document.createElement("button");i.classList.add("basic","deleteButton"),i.tabIndex=0,i.setAttribute("data-l10n-id",tZ.#c[t]),this.#f(i)&&i.addEventListener("click",t=>{e.delete()},{signal:e._signal}),this.#a.append(i)}get #m(){let t=document.createElement("div");return t.className="divider",t}async addAltText(t){let e=await t.render();this.#f(e),this.#a.append(e,this.#m),this.#o=t}addComment(t,e=null){if(this.#l)return;let i=t.renderForToolbar();if(!i)return;this.#f(i);let r=this.#h=this.#m;e?(this.#a.insertBefore(i,e),this.#a.insertBefore(r,e)):this.#a.append(i,r),this.#l=t,t.toolbar=this}addColorPicker(t){if(this.#s)return;this.#s=t;let e=t.renderButton();this.#f(e),this.#a.append(e,this.#m)}async addEditSignatureButton(t){let e=this.#d=await t.renderEditButton(this.#n);this.#f(e),this.#a.append(e,this.#m)}removeButton(t){"comment"===t&&(this.#l?.removeToolbarCommentButton(),this.#l=null,this.#h?.remove(),this.#h=null)}async addButton(t,e){switch(t){case"colorPicker":this.addColorPicker(e);break;case"altText":await this.addAltText(e);break;case"editSignature":await this.addEditSignatureButton(e);break;case"delete":this.addDeleteButton();break;case"comment":this.addComment(e)}}async addButtonBefore(t,e,i){let r=this.#a.querySelector(i);r&&"comment"===t&&this.addComment(e,r)}updateEditSignatureButton(t){this.#d&&(this.#d.title=t)}remove(){this.#r.remove(),this.#s?.destroy(),this.#s=null}}class t0{#a=null;#r=null;#b;constructor(t){this.#b=t}#v(){let t=this.#r=document.createElement("div");t.className="editToolbar",t.setAttribute("role","toolbar");let e=this.#b._signal;e instanceof AbortSignal&&!e.aborted&&t.addEventListener("contextmenu",tR,{signal:e});let i=this.#a=document.createElement("div");return i.className="buttons",t.append(i),this.#b.hasCommentManager()&&this.#y("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#b.commentSelection("floating_button")}),this.#y("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#b.highlightSelection("floating_button")}),t}#w(t,e){let i=0,r=0;for(let s of t){let t=s.y+s.height;if(t<i)continue;let n=s.x+(e?s.width:0);if(t>i){r=n,i=t;continue}e?n>r&&(r=n):n<r&&(r=n)}return[e?1-r:r,i]}show(t,e,i){let[r,s]=this.#w(e,i),{style:n}=this.#r||=this.#v();t.append(this.#r),n.insetInlineEnd=`${100*r}%`,n.top=`calc(${100*s}% + var(--editor-toolbar-vert-offset))`}hide(){this.#r.remove()}#y(t,e,i,r){let s=document.createElement("button");s.classList.add("basic",t),s.tabIndex=0,s.setAttribute("data-l10n-id",e);let n=document.createElement("span");s.append(n),n.className="visuallyHidden",n.setAttribute("data-l10n-id",i);let a=this.#b._signal;a instanceof AbortSignal&&!a.aborted&&(s.addEventListener("contextmenu",tR,{signal:a}),s.addEventListener("click",r,{signal:a})),this.#a.append(s)}}function t1(t,e,i){for(let r of i)e.addEventListener(r,t[r].bind(t))}class t2{#x=0;get id(){return`${O}${this.#x++}`}}class t5{#A=tm();#x=0;#_=null;static get _isSVGFittingCanvas(){let t=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),e=new Image;return e.src='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>',tt(this,"_isSVGFittingCanvas",e.decode().then(()=>(t.drawImage(e,0,0,1,1,0,0,1,3),0===new Uint32Array(t.getImageData(0,0,1,1).data.buffer)[0])))}async #S(t,e){this.#_||=new Map;let i=this.#_.get(t);if(null===i)return null;if(i?.bitmap)return i.refCounter+=1,i;try{let t;if(i||={bitmap:null,id:`image_${this.#A}_${this.#x++}`,refCounter:0,isSvg:!1},"string"==typeof e?(i.url=e,t=await tS(e,"blob")):e instanceof File?t=i.file=e:e instanceof Blob&&(t=e),"image/svg+xml"===t.type){let e=t5._isSVGFittingCanvas,r=new FileReader,s=new Image,n=new Promise((t,n)=>{s.onload=()=>{i.bitmap=s,i.isSvg=!0,t()},r.onload=async()=>{let t=i.svgUrl=r.result;s.src=await e?`${t}#svgView(preserveAspectRatio(none))`:t},s.onerror=r.onerror=n});
2r.readAsDataURL(t),await n}else i.bitmap=await createImageBitmap(t);i.refCounter=1}catch(t){Y(t),i=null}return this.#_.set(t,i),i&&this.#_.set(i.id,i),i}async getFromFile(t){let{lastModified:e,name:i,size:r,type:s}=t;return this.#S(`${e}_${i}_${r}_${s}`,t)}async getFromUrl(t){return this.#S(t,t)}async getFromBlob(t,e){let i=await e;return this.#S(t,i)}async getFromId(t){this.#_||=new Map;let e=this.#_.get(t);if(!e)return null;if(e.bitmap)return e.refCounter+=1,e;if(e.file)return this.getFromFile(e.file);if(e.blobPromise){let{blobPromise:t}=e;return delete e.blobPromise,this.getFromBlob(e.id,t)}return this.getFromUrl(e.url)}getFromCanvas(t,e){this.#_||=new Map;let i=this.#_.get(t);if(i?.bitmap)return i.refCounter+=1,i;let r=new OffscreenCanvas(e.width,e.height);return r.getContext("2d").drawImage(e,0,0),i={bitmap:r.transferToImageBitmap(),id:`image_${this.#A}_${this.#x++}`,refCounter:1,isSvg:!1},this.#_.set(t,i),this.#_.set(i.id,i),i}getSvgUrl(t){let e=this.#_.get(t);return e?.isSvg?e.svgUrl:null}deleteId(t){this.#_||=new Map;let e=this.#_.get(t);if(!e||(e.refCounter-=1,0!==e.refCounter))return;let{bitmap:i}=e;if(!e.url&&!e.file){let t=new OffscreenCanvas(i.width,i.height);t.getContext("bitmaprenderer").transferFromImageBitmap(i),e.blobPromise=t.convertToBlob()}i.close?.(),e.bitmap=null}isValidId(t){return t.startsWith(`image_${this.#A}_`)}}class t3{#E=[];#T=!1;#C;#M=-1;constructor(t=128){this.#C=t}add({cmd:t,undo:e,post:i,mustExec:r,type:s=NaN,overwriteIfSameType:n=!1,keepUndo:a=!1}){if(r&&t(),this.#T)return;let o={cmd:t,undo:e,post:i,type:s};if(-1===this.#M){this.#E.length>0&&(this.#E.length=0),this.#M=0,this.#E.push(o);return}if(n&&this.#E[this.#M].type===s){a&&(o.undo=this.#E[this.#M].undo),this.#E[this.#M]=o;return}let l=this.#M+1;l===this.#C?this.#E.splice(0,1):(this.#M=l,l<this.#E.length&&this.#E.splice(l)),this.#E.push(o)}undo(){if(-1===this.#M)return;this.#T=!0;let{undo:t,post:e}=this.#E[this.#M];t(),e?.(),this.#T=!1,this.#M-=1}redo(){if(this.#M<this.#E.length-1){this.#M+=1,this.#T=!0;let{cmd:t,post:e}=this.#E[this.#M];t(),e?.(),this.#T=!1}}hasSomethingToUndo(){return -1!==this.#M}hasSomethingToRedo(){return this.#M<this.#E.length-1}cleanType(t){if(-1!==this.#M){for(let e=this.#M;e>=0;e--)if(this.#E[e].type!==t){this.#E.splice(e+1,this.#M-e),this.#M=e;return}this.#E.length=0,this.#M=-1}}destroy(){this.#E=null}}class t4{constructor(t){this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const{isMac:e}=td.platform;for(const[i,r,s={}]of t)for(const t of i){const i=t.startsWith("mac+");e&&i?(this.callbacks.set(t.slice(4),{callback:r,options:s}),this.allKeys.add(t.split("+").at(-1))):e||i||(this.callbacks.set(t,{callback:r,options:s}),this.allKeys.add(t.split("+").at(-1)))}}#k(t){t.altKey&&this.buffer.push("alt"),t.ctrlKey&&this.buffer.push("ctrl"),t.metaKey&&this.buffer.push("meta"),t.shiftKey&&this.buffer.push("shift"),this.buffer.push(t.key);let e=this.buffer.join("+");return this.buffer.length=0,e}exec(t,e){if(!this.allKeys.has(e.key))return;let i=this.callbacks.get(this.#k(e));if(!i)return;let{callback:r,options:{bubbles:s=!1,args:n=[],checker:a=null}}=i;(!a||a(t,e))&&(r.bind(t,...n,e)(),s||tL(e))}}class t6{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let t=new Map([["CanvasText",null],["Canvas",null]]),e=document.createElement("span");for(let i of(e.style.visibility="hidden",e.style.colorScheme="only light",document.body.append(e),t.keys())){e.style.color=i;let r=window.getComputedStyle(e).color;t.set(i,tN(r))}return e.remove(),tt(this,"_colors",t)}convert(t){let e=tN(t);if(!window.matchMedia("(forced-colors: active)").matches)return e;for(let[t,i]of this._colors)if(i.every((t,i)=>t===e[i]))return t6._colorsMapping.get(t);return e}getHexCode(t){let e=this._colors.get(t);return e?tu.makeHexColor(...e):t}}class t8{#P=new AbortController;#D=null;#I=null;#R=new Map;#L=new Map;#B=null;#F=null;#N=null;#O=new t3;#j=null;#U=null;#z=null;#$=0;#H=new Set;#G=null;#V=null;#W=new Set;_editorUndoBar=null;#q=!1;#X=!1;#Y=!1;#K=null;#J=null;#Q=null;#Z=null;#tt=!1;#te=null;#ti=new t2;#tr=!1;#ts=!1;#tn=!1;#ta=null;#to=null;#tl=null;#th=null;#td=null;#tc=j.NONE;#tu=new Set;#tp=null;#tg=null;#tf=null;#tm=null;#tb=null;#tv={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#ty=[0,0];#tw=null;#tx=null;#tA=null;#t_=null;#tS=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let t=t8.prototype,e=t=>t.#tx.contains(document.activeElement)&&"BUTTON"!==document.activeElement.tagName&&t.hasSomethingToControl(),i=(t,{target:e})=>
vendor: 4,864 bytes, line 2
2{if(e instanceof HTMLInputElement){let{type:t}=e;return"text"!==t&&"number"!==t}return!0},r=this.TRANSLATE_SMALL,s=this.TRANSLATE_BIG;return tt(this,"_keyboardManager",new t4([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:i}],[["ctrl+z","mac+meta+z"],t.undo,{checker:i}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:i}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:i}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(t,{target:e})=>!(e instanceof HTMLButtonElement)&&t.#tx.contains(e)&&!t.isEnterHandled}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(t,{target:e})=>!(e instanceof HTMLButtonElement)&&t.#tx.contains(document.activeElement)}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-r,0],checker:e}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-s,0],checker:e}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[r,0],checker:e}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[s,0],checker:e}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-r],checker:e}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-s],checker:e}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,r],checker:e}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,s],checker:e}]]))}constructor(t,e,i,r,s,n,a,o,l,h,d,c,u,p,g,f){const m=this._signal=this.#P.signal;this.#tx=t,this.#tA=e,this.#t_=i,this.#B=r,this.#j=s,this.#tg=n,this.#tb=o,this._eventBus=a,a._on("editingaction",this.onEditingAction.bind(this),{signal:m}),a._on("pagechanging",this.onPageChanging.bind(this),{signal:m}),a._on("scalechanging",this.onScaleChanging.bind(this),{signal:m}),a._on("rotationchanging",this.onRotationChanging.bind(this),{signal:m}),a._on("setpreference",this.onSetPreference.bind(this),{signal:m}),a._on("switchannotationeditorparams",t=>this.updateParams(t.type,t.value),{signal:m}),window.addEventListener("pointerdown",()=>{this.#ts=!0},{capture:!0,signal:m}),window.addEventListener("pointerup",()=>{this.#ts=!1},{capture:!0,signal:m}),this.#tE(),this.#tT(),this.#tC(),this.#F=o.annotationStorage,this.#K=o.filterFactory,this.#tf=l,this.#Z=h||null,this.#q=d,this.#X=c,this.#Y=u,this.#td=p||null,this.viewParameters={realScale:t_.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=g||null,this._supportsPinchToZoom=!1!==f,s?.setSidebarUiManager(this)}destroy(){for(let t of(this.#tS?.resolve(),this.#tS=null,this.#P?.abort(),this.#P=null,this._signal=null,this.#L.values()))t.destroy();this.#L.clear(),this.#R.clear(),this.#W.clear(),this.#th?.clear(),this.#D=null,this.#tu.clear(),this.#O.destroy(),this.#B?.destroy(),this.#j?.destroy(),this.#tg?.destroy(),this.#te?.hide(),this.#te=null,this.#tl?.destroy(),this.#tl=null,this.#I=null,this.#J&&(clearTimeout(this.#J),this.#J=null),this.#tw&&(clearTimeout(this.#tw),this.#tw=null),this._editorUndoBar?.destroy(),this.#tb=null}combinedSignal(t){return AbortSignal.any([this._signal,t.signal])}get mlManager(){return this.#td}get useNewAltTextFlow(){return this.#X}get useNewAltTextWhenAddingImage(){return this.#Y}get hcmFilter(){return tt(this,"hcmFilter",this.#tf?this.#K.addHCMFilter(this.#tf.foreground,this.#tf.background):"none")}get direction(){return tt(this,"direction",getComputedStyle(this.#tx).direction)}get _highlightColors(){return tt(this,"_highlightColors",this.#Z?new Map(this.#Z.split(",").map(t=>((t=t.split("=").map(t=>t.trim()))[1]=t[1].toUpperCase(),t))):null)}get highlightColors(){let{_highlightColors:t}=this;if(!t)return tt(this,"highlightColors",null);let e=new Map,i=!!this.#tf;for(let[r,s]of t){let t=r.endsWith("_HCM");if(i&&t){e.set(r.replace("_HCM",""),s);continue}i||t||e.set(r,s)}return tt(this,"highlightColors",e)}get highlightColorNames(){return tt(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,t=>t.reverse())):null)}getNonHCMColor(t){if(!this._highlightColors)return t;let e=this.highlightColorNames.get(t);return this._highlightColors.get(e)||t}getNonHCMColorName(t){return this.highlightColorNames.get(t)||t}setCurrentDrawingSession(t){t?(this.unselectAll(),this.disableUserSelect(!0)):this.disableUserSelect(!1),this.#z=t}setMainHighlightColorPicker(t){this.#tl=t}editAltText(t,e=!1){this.#B?.editAltText(this,t,e)}hasCommentManager(){return!!this.#j}editComment(t,e,i,r){this.#j?.showDialog(this,t,e,i,r)}selectComment(t,e){let i=this.#L.get(t),r=i?.getEditorByUID(e);r?.toggleComment(!0,!0)}updateComment(t){this.#j?.updateComment(t.getData())}updatePopupColor(t){this.#j?.updatePopupColor(t)}
2removeComment(t){this.#j?.removeComments([t.uid])}toggleComment(t,e,i){this.#j?.toggleCommentPopup(t,e,i)}makeCommentColor(t,e){return t&&this.#j?.makeCommentColor(t,e)||null}getCommentDialogElement(){return this.#j?.dialogElement||null}async waitForEditorsRendered(t){if(this.#L.has(t-1))return;let{resolve:e,promise:i}=Promise.withResolvers(),r=i=>{i.pageNumber===t&&(this._eventBus._off("editorsrendered",r),e())};this._eventBus.on("editorsrendered",r),await i}getSignature(t){this.#tg?.getSignature({uiManager:this,editor:t})}get signatureManager(){return this.#tg}switchToMode(t,e){this._eventBus.on("annotationeditormodechanged",e,{once:!0,signal:this._signal}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:t})}setPreference(t,e){this._eventBus.dispatch("setpreference",{source:this,name:t,value:e})}onSetPreference({name:t,value:e}){"enableNewAltTextWhenAddingImage"===t&&(this.#Y=e)}onPageChanging({pageNumber:t}){this.#$=t-1}focusMainContainer(){this.#tx.focus()}findParent(t,e){for(let i of this.#L.values()){let{x:r,y:s,width:n,height:a}=i.div.getBoundingClientRect();if(t>=r&&t<=r+n&&e>=s&&e<=s+a)return i}return null}disableUserSelect(t=!1){this.#tA.classList.toggle("noUserSelect",t)}addShouldRescale(t){this.#W.add(t)}removeShouldRescale(t){this.#W.delete(t)}onScaleChanging({scale:t}){for(let e of(this.commitOrRemove(),this.viewParameters.realScale=t*t_.PDF_TO_CSS_UNITS,this.#W))e.onScaleChanging();this.#z?.onScaleChanging()}onRotationChanging({pagesRotation:t}){this.commitOrRemove(),this.viewParameters.rotation=t}#tM({anchorNode:t}){return t.nodeType===Node.TEXT_NODE?t.parentElement:t}#tk(t){let{currentLayer:e}=this;if(e.hasTextLayer(t))return e;for(let e of this.#L.values())if(e.hasTextLayer(t))return e;return null}highlightSelection(t="",e=!1){let i=document.getSelection();if(!i||i.isCollapsed)return;let{anchorNode:r,anchorOffset:s,focusNode:n,focusOffset:a}=i,o=i.toString(),l=this.#tM(i).closest(".textLayer"),h=this.getSelectionBoxes(l);if(!h)return;i.empty();let d=this.#tk(l),c=this.#tc===j.NONE,u=()=>{let i=d?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:h,anchorNode:r,anchorOffset:s,focusNode:n,focusOffset:a,text:o});c&&this.showAllEditors("highlight",!0,!0),e&&i?.editComment()};c?this.switchToMode(j.HIGHLIGHT,u):u()}commentSelection(t=""){this.highlightSelection(t,!0)}#tP(){let t=document.getSelection();if(!t||t.isCollapsed)return;let e=this.#tM(t).closest(".textLayer"),i=this.getSelectionBoxes(e);i&&(this.#te||=new t0(this),this.#te.show(e,i,"ltr"===this.direction))}getAndRemoveDataFromAnnotationStorage(t){if(!this.#F)return null;let e=`${O}${t}`,i=this.#F.getRawValue(e);return i&&this.#F.remove(e),i}addToAnnotationStorage(t){t.isEmpty()||!this.#F||this.#F.has(t.id)||this.#F.setValue(t.id,t)}a11yAlert(t,e=null){let i=this.#t_;i&&(i.setAttribute("data-l10n-id",t),e?i.setAttribute("data-l10n-args",JSON.stringify(e)):i.removeAttribute("data-l10n-args"))}#tD(){let t=document.getSelection();if(!t||t.isCollapsed){this.#tp&&(this.#te?.hide(),this.#tp=null,this.#tI({hasSelectedText:!1}));return}let{anchorNode:e}=t;if(e===this.#tp)return;let i=this.#tM(t).closest(".textLayer");if(!i){this.#tp&&(this.#te?.hide(),this.#tp=null,this.#tI({hasSelectedText:!1}));return}if(this.#te?.hide(),this.#tp=e,this.#tI({hasSelectedText:!0}),(this.#tc===j.HIGHLIGHT||this.#tc===j.NONE)&&(this.#tc===j.HIGHLIGHT&&this.showAllEditors("highlight",!0,!0),this.#tt=this.isShiftKeyDown,!this.isShiftKeyDown)){let t=this.#tc===j.HIGHLIGHT?this.#tk(i):null;if(t?.toggleDrawing(),this.#ts){let e=new AbortController,i=this.combinedSignal(e),r=i=>{("pointerup"!==i.type||0===i.button)&&(e.abort(),t?.toggleDrawing(!0),"pointerup"===i.type&&this.#tR("main_toolbar"))};window.addEventListener("pointerup",r,{signal:i}),window.addEventListener("blur",r,{signal:i})}else t?.toggleDrawing(!0),this.#tR("main_toolbar")}}#tR(t=""){this.#tc===j.HIGHLIGHT?this.highlightSelection(t):this.#q&&this.#tP()}#tE(){document.addEventListener("selectionchange",this.#tD.bind(this),{signal:this._signal})}#tL(){if(this.#Q)return;this.#Q=new AbortController;let t=this.combinedSignal(this.#Q);window.addEventListener("focus",this.focus.bind(this),{signal:t}),window.addEventListener("blur",this.blur.bind(this),{signal:t})}#tB(){this.#Q?.abort(),this.#Q=null}blur(){if(this.isShiftKeyDown=!1,this.#tt&&(this.#tt=!1,this.#tR("main_toolbar")),!this.hasSelection)return;let{activeElement:t}=document;for(let e of this.#tu)if(e.div.contains(t)){this.#to=[e,t],e._focusEventsAllowed=!1;break}}focus(){if(!this.#to)return;let[t,e]=this.#to;this.#to=null,e.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:this._signal}),e.focus()}#tC(){if(this.#ta)return;this.#ta=new AbortController;let t=this.combinedSignal(this.#ta);window.addEventListener("keydown",this.keydown.bind(this),{signal:t}),window.addEventListener("keyup",this.keyup.bind(this),{signal:t})}#tF(){this.#ta?.abort(),this.#ta=null}#tN(){if(this.#U)return;this.#U=new AbortController;let t=this.combinedSignal(this.#U);document.addEventListener("copy",this.copy.bind(this),{signal:t}),document.addEventListener("cut",this.cut.bind(this),{signal:t}),document.addEventListener("paste",this.paste.bind(this),{signal:t})}#tO(){this.#U?.abort(),this.#U=null}#tT(){let t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t}),document.addEventListener("drop",this.drop.bind(this),{signal:t})}addEditListeners(){this.#tC(),this.#tN()}removeEditListeners(){this.#tF(),this.#tO()}dragOver(t){for(let{type:e}of t.dataTransfer.items)for(let i of this.#V)if(i.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy",t.preventDefault();return}}drop(t){for(let e of t.dataTransfer.items)for(let i of this.#V)if(i.isHandlingMimeForPasting(e.type)){i.paste(e,this.currentLayer),t.preventDefault();return}}copy(t){if(t.preventDefault(),this.#D?.commitOrRemove(),!this.hasSelection)return;let e=[];for(let t of this.#tu){let i=t.serialize(!0);i&&e.push(i)}0!==e.length&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t),this.delete()}async paste(t){t.preventDefault();let{clipboardData:e}=t;for(let t of e.items)for(let e of this.#V)if(e.isHandlingMimeForPasting(t.type))return void e.paste(t,this.currentLayer);let i=e.getData("application/pdfjs");if(!i)return;try{i=JSON.parse(i)}catch(t){Y(`paste: "${t.message}".`);return}if(!Array.isArray(i))return;this.unselectAll();let r=this.currentLayer;try{let t=[];for(let e of i){let i=await r.deserialize(e);if(!i)return;t.push(i)}let e=()=>{for(let e of t)this.#tj(e);this.#tU(t)};this.addCommands({cmd:e,undo:()=>{for(let e of t)e.remove()},mustExec:!0})}catch(t){Y(`paste: "${t.message}".`)}}keydown(t){this.isShiftKeyDown||"Shift"!==t.key||(this.isShiftKeyDown=!0),this.#tc===j.NONE||this.isEditorHandlingKeyboard||t8._keyboardManager.exec(this,t)}keyup(t){this.isShiftKeyDown&&"Shift"===t.key&&(this.isShiftKeyDown=!1,this.#tt&&(this.#tt=!1,this.#tR("main_toolbar")))}onEditingAction({name:t}){switch(t){case"undo":case"redo":case"delete":case"selectAll":this[t]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu")}}#tI(t){Object.entries(t).some(([t,e])=>this.#tv[t]!==e)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(this.#tv,t)}),this.#tc===j.HIGHLIGHT&&!1===t.hasSelectedEditor&&this.#tz([[U.HIGHLIGHT_FREE,!0]]))}#tz(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})}setEditingState(t){t?(this.#tL(),this.#tN(),this.#tI({isEditing:this.#tc!==j.NONE,isEmpty:this.#t$(),hasSomethingToUndo:this.#O.hasSomethingToUndo(),hasSomethingToRedo:this.#O.hasSomethingToRedo(),hasSelectedEditor:!1})):(this.#tB(),this.#tO(),this.#tI({isEditing:!1}),this.disableUserSelect(!1))}
2registerEditorTypes(t){if(!this.#V)for(let e of(this.#V=t,this.#V))this.#tz(e.defaultPropertiesToUpdate)}getId(){return this.#ti.id}get currentLayer(){return this.#L.get(this.#$)}getLayer(t){return this.#L.get(t)}get currentPageIndex(){return this.#$}addLayer(t){this.#L.set(t.pageIndex,t),this.#tr?t.enable():t.disable()}removeLayer(t){this.#L.delete(t.pageIndex)}async updateMode(t,e=null,i=!1,r=!1,s=!1){if(this.#tc!==t&&(!this.#tS||(await this.#tS.promise,this.#tS))){if(this.#tS=Promise.withResolvers(),this.#z?.commitOrRemove(),this.#tc===j.POPUP&&this.#j?.hideSidebar(),this.#j?.destroyPopup(),this.#tc=t,t===j.NONE){for(let t of(this.setEditingState(!1),this.#tH(),this.#R.values()))t.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#tS.resolve();return}for(let t of this.#R.values())t.addStandaloneCommentButton();for(let e of(t===j.SIGNATURE&&await this.#tg?.loadSignatures(),this.setEditingState(!0),await this.#tG(),this.unselectAll(),this.#L.values()))e.updateMode(t);if(t===j.POPUP){this.#I||=await this.#tb.getAnnotationsByType(new Set(this.#V.map(t=>t._editorType)));let t=new Set,e=[];for(let i of this.#R.values()){let{annotationElementId:r,hasComment:s,deleted:n}=i;r&&t.add(r),s&&!n&&e.push(i.getData())}for(let i of this.#I){let{id:r,popupRef:s,contentsObj:n}=i;s&&n?.str&&!t.has(r)&&!this.#H.has(r)&&e.push(i)}this.#j?.showSidebar(e)}if(!e){i&&this.addNewEditorFromKeyboard(),this.#tS.resolve();return}for(let t of this.#R.values())t.uid===e?(this.setSelected(t),s?t.editComment():r?t.enterInEditMode():t.focus()):t.unselect();this.#tS.resolve()}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t.mode!==this.#tc&&this._eventBus.dispatch("switchannotationeditormode",{source:this,...t})}updateParams(t,e){if(this.#V){switch(t){case U.CREATE:this.currentLayer.addNewEditor(e);return;case U.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#tm||=new Map).set(t,e),this.showAllEditors("highlight",e)}if(this.hasSelection)for(let i of this.#tu)i.updateParams(t,e);else for(let i of this.#V)i.updateDefaultParams(t,e)}}showAllEditors(t,e,i=!1){for(let i of this.#R.values())i.editorType===t&&i.show(e);(this.#tm?.get(U.HIGHLIGHT_SHOW_ALL)??!0)!==e&&this.#tz([[U.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(t=!1){if(this.#tn!==t)for(let e of(this.#tn=t,this.#L.values()))t?e.disableClick():e.enableClick(),e.div.classList.toggle("waiting",t)}async #tG(){if(!this.#tr){this.#tr=!0;let t=[];for(let e of this.#L.values())t.push(e.enable());for(let e of(await Promise.all(t),this.#R.values()))e.enable()}}#tH(){if(this.unselectAll(),this.#tr){for(let t of(this.#tr=!1,this.#L.values()))t.disable();for(let t of this.#R.values())t.disable()}}*getEditors(t){for(let e of this.#R.values())e.pageIndex===t&&(yield e)}getEditor(t){return this.#R.get(t)}addEditor(t){this.#R.set(t.id,t)}removeEditor(t){t.div.contains(document.activeElement)&&(this.#J&&clearTimeout(this.#J),this.#J=setTimeout(()=>{this.focusMainContainer(),this.#J=null},0)),this.#R.delete(t.id),t.annotationElementId&&this.#th?.delete(t.annotationElementId),this.unselect(t),t.annotationElementId&&this.#H.has(t.annotationElementId)||this.#F?.remove(t.id)}addDeletedAnnotationElement(t){this.#H.add(t.annotationElementId),this.addChangedExistingAnnotation(t),t.deleted=!0}isDeletedAnnotationElement(t){return this.#H.has(t)}removeDeletedAnnotationElement(t){this.#H.delete(t.annotationElementId),this.removeChangedExistingAnnotation(t),t.deleted=!1}#tj(t){let e=this.#L.get(t.pageIndex);e?e.addOrRebuild(t):(this.addEditor(t),this.addToAnnotationStorage(t))}setActiveEditor(t){this.#D!==t&&(this.#D=t,t&&this.#tz(t.propertiesToUpdate))}get #tV(){let t=null;for(t of this.#tu);return t}updateUI(t){this.#tV===t&&this.#tz(t.propertiesToUpdate)}updateUIForDefaultProperties(t){this.#tz(t.defaultPropertiesToUpdate)}toggleSelected(t){if(this.#tu.has(t)){this.#tu.delete(t),t.unselect(),this.#tI({hasSelectedEditor:this.hasSelection});return}this.#tu.add(t),t.select(),this.#tz(t.propertiesToUpdate),this.#tI({hasSelectedEditor:!0})}setSelected(t){for(let e of(this.updateToolbar({mode:t.mode,editId:t.id}),this.#z?.commitOrRemove(),this.#tu))e!==t&&e.unselect();this.#tu.clear(),this.#tu.add(t),t.select(),this.#tz(t.propertiesToUpdate),this.#tI({hasSelectedEditor:!0})}isSelected(t){return this.#tu.has(t)}get firstSelectedEditor(){return this.#tu.values().next().value}unselect(t){t.unselect(),this.#tu.delete(t),this.#tI({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#tu.size}get isEnterHandled(){return 1===this.#tu.size&&this.firstSelectedEditor.isEnterHandled}undo(){this.#O.undo(),this.#tI({hasSomethingToUndo:this.#O.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#t$()}),this._editorUndoBar?.hide()}redo(){this.#O.redo(),this.#tI({hasSomethingToUndo:!0,hasSomethingToRedo:this.#O.hasSomethingToRedo(),isEmpty:this.#t$()})}addCommands(t){this.#O.add(t),this.#tI({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#t$()})}cleanUndoStack(t){this.#O.cleanType(t)}#t$(){if(0===this.#R.size)return!0;
2if(1===this.#R.size)for(let t of this.#R.values())return t.isEmpty();return!1}delete(){this.commitOrRemove();let t=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!t)return;let e=t?[t]:[...this.#tu],i=()=>{for(let t of(this._editorUndoBar?.show(r,1===e.length?e[0].editorType:e.length),e))t.remove()},r=()=>{for(let t of e)this.#tj(t)};this.addCommands({cmd:i,undo:r,mustExec:!0})}commitOrRemove(){this.#D?.commitOrRemove()}hasSomethingToControl(){return this.#D||this.hasSelection}#tU(t){for(let t of this.#tu)t.unselect();for(let e of(this.#tu.clear(),t))e.isEmpty()||(this.#tu.add(e),e.select());this.#tI({hasSelectedEditor:this.hasSelection})}selectAll(){for(let t of this.#tu)t.commit();this.#tU(this.#R.values())}unselectAll(){if(!this.#D||(this.#D.commitOrRemove(),this.#tc===j.NONE)){if(!this.#z?.commitOrRemove()&&this.hasSelection){for(let t of this.#tu)t.unselect();this.#tu.clear(),this.#tI({hasSelectedEditor:!1})}}}translateSelectedEditors(t,e,i=!1){if(i||this.commitOrRemove(),!this.hasSelection)return;this.#ty[0]+=t,this.#ty[1]+=e;let[r,s]=this.#ty,n=[...this.#tu];for(let i of(this.#tw&&clearTimeout(this.#tw),this.#tw=setTimeout(()=>{this.#tw=null,this.#ty[0]=this.#ty[1]=0,this.addCommands({cmd:()=>{for(let t of n)this.#R.has(t.id)&&(t.translateInPage(r,s),t.translationDone())},undo:()=>{for(let t of n)this.#R.has(t.id)&&(t.translateInPage(-r,-s),t.translationDone())},mustExec:!1})},1e3),n))i.translateInPage(t,e),i.translationDone()}setUpDragSession(){if(this.hasSelection)for(let t of(this.disableUserSelect(!0),this.#G=new Map,this.#tu))this.#G.set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#G)return!1;this.disableUserSelect(!1);let t=this.#G;this.#G=null;let e=!1;for(let[{x:i,y:r,pageIndex:s},n]of t)n.newX=i,n.newY=r,n.newPageIndex=s,e||=i!==n.savedX||r!==n.savedY||s!==n.savedPageIndex;if(!e)return!1;let i=(t,e,i,r)=>{if(this.#R.has(t.id)){let s=this.#L.get(r);s?t._setParentAndPosition(s,e,i):(t.pageIndex=r,t.x=e,t.y=i)}};return this.addCommands({cmd:()=>{for(let[e,{newX:r,newY:s,newPageIndex:n}]of t)i(e,r,s,n)},undo:()=>{for(let[e,{savedX:r,savedY:s,savedPageIndex:n}]of t)i(e,r,s,n)},mustExec:!0}),!0}dragSelectedEditors(t,e){if(this.#G)for(let i of this.#G.keys())i.drag(t,e)}rebuild(t){if(null===t.parent){let e=this.getLayer(t.pageIndex);e?(e.changeParent(t),e.addOrRebuild(t)):(this.addEditor(t),this.addToAnnotationStorage(t),t.rebuild())}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||1===this.#tu.size&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return this.#D===t}getActive(){return this.#D}getMode(){return this.#tc}isEditingMode(){return this.#tc!==j.NONE}get imageManager(){return tt(this,"imageManager",new t5)}getSelectionBoxes(t){let e;if(!t)return null;let i=document.getSelection();for(let e=0,r=i.rangeCount;e<r;e++)if(!t.contains(i.getRangeAt(e).commonAncestorContainer))return null;let{x:r,y:s,width:n,height:a}=t.getBoundingClientRect();switch(t.getAttribute("data-main-rotation")){case"90":e=(t,e,i,o)=>({x:(e-s)/a,y:1-(t+i-r)/n,width:o/a,height:i/n});break;case"180":e=(t,e,i,o)=>({x:1-(t+i-r)/n,y:1-(e+o-s)/a,width:i/n,height:o/a});break;case"270":e=(t,e,i,o)=>({x:1-(e+o-s)/a,y:(t-r)/n,width:o/a,height:i/n});break;default:e=(t,e,i,o)=>({x:(t-r)/n,y:(e-s)/a,width:i/n,height:o/a})}let o=[];for(let t=0,r=i.rangeCount;t<r;t++){let r=i.getRangeAt(t);if(!r.collapsed)for(let{x:t,y:i,width:s,height:n}of r.getClientRects())0!==s&&0!==n&&o.push(e(t,i,s,n))}return 0===o.length?null:o}addChangedExistingAnnotation({annotationElementId:t,id:e}){(this.#N||=new Map).set(t,e)}removeChangedExistingAnnotation({annotationElementId:t}){this.#N?.delete(t)}renderAnnotationElement(t){let e=this.#N?.get(t.data.id);if(!e)return;let i=this.#F.getRawValue(e);!i||(this.#tc!==j.NONE||i.hasBeenModified)&&i.renderAnnotationElement(t)}setMissingCanvas(t,e,i){let r=this.#th?.get(t);r&&(r.setCanvas(e,i),this.#th.delete(t))}addMissingCanvas(t,e){(this.#th||=new Map).set(t,e)}}class t7{#o=null;#tW=!1;#tq=null;#tX=null;#tY=null;#tK=null;#tJ=!1;#tQ=null;#n=null;#tZ=null;#t0=null;#t1=!1;static #t2=null;static _l10n=null;constructor(t){this.#n=t,this.#t1=t._uiManager.useNewAltTextFlow,t7.#t2||=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"})}static initialize(t){t7._l10n??=t}async render(){let t=this.#tq=document.createElement("button");t.className="altText",t.tabIndex="0";let e=this.#tX=document.createElement("span");t.append(e),this.#t1?(t.classList.add("new"),t.setAttribute("data-l10n-id",t7.#t2.missing),e.setAttribute("data-l10n-id",t7.#t2["missing-label"])):(t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label"));let i=this.#n._uiManager._signal;t.addEventListener("contextmenu",tR,{signal:i}),t.addEventListener("pointerdown",t=>t.stopPropagation(),{signal:i});let r=t=>{t.preventDefault(),this.#n._uiManager.editAltText(this.#n),this.#t1&&this.#n._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#t5}})};return t.addEventListener("click",r,{capture:!0,signal:i}),t.addEventListener("keydown",e=>{e.target===t&&"Enter"===e.key&&(this.#tJ=!0,r(e))},{signal:i}),await this.#t3(),t}get #t5(){return this.#o&&"added"||null===this.#o&&this.guessedText&&"review"||"missing"}finish(){this.#tq&&(this.#tq.focus({focusVisible:this.#tJ}),this.#tJ=!1)}isEmpty(){return this.#t1?null===this.#o:!this.#o&&!this.#tW}hasData(){return this.#t1?null!==this.#o||!!this.#tZ:this.isEmpty()}get guessedText(){return this.#tZ}async setGuessedText(t){null===this.#o&&(this.#tZ=t,this.#t0=await t7._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:t}),this.#t3())}toggleAltTextBadge(t=!1){if(!this.#t1||this.#o){this.#tQ?.remove(),this.#tQ=null;return}if(!this.#tQ){let t=this.#tQ=document.createElement("div");t.className="noAltTextBadge",this.#n.div.append(t)}this.#tQ.classList.toggle("hidden",!t)}serialize(t){let e=this.#o;return t||this.#tZ!==e||(e=this.#t0),{altText:e,decorative:this.#tW,guessedText:this.#tZ,textWithDisclaimer:this.#t0}}get data(){return{altText:this.#o,decorative:this.#tW}}set data({altText:t,decorative:e,guessedText:i,textWithDisclaimer:r,cancel:s=!1}){i&&(this.#tZ=i,this.#t0=r),(this.#o!==t||this.#tW!==e)&&(s||(this.#o=t,this.#tW=e),this.#t3())}toggle(t=!1){this.#tq&&(!t&&this.#tK&&(clearTimeout(this.#tK),this.#tK=null),this.#tq.disabled=!t)}shown(){this.#n._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#t5}})}destroy(){this.#tq?.remove(),this.#tq=null,this.#tX=null,this.#tY=null,this.#tQ?.remove(),this.#tQ=null}async #t3(){let t=this.#tq;if(!t)return;if(this.#t1){if(t.classList.toggle("done",!!this.#o),t.setAttribute("data-l10n-id",t7.#t2[this.#t5]),this.#tX?.setAttribute("data-l10n-id",t7.#t2[`${this.#t5}-label`]),!this.#o)return void this.#tY?.remove()}else{if(!this.#o&&!this.#tW){t.classList.remove("done"),this.#tY?.remove();return}t.classList.add("done"),t.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let e=this.#tY;if(!e){this.#tY=e=document.createElement("span"),e.className="tooltip",e.setAttribute("role","tooltip"),e.id=`alt-text-tooltip-${this.#n.id}`;let i=this.#n._uiManager._signal;i.addEventListener("abort",()=>{clearTimeout(this.#tK),this.#tK=null},{once:!0}),t.addEventListener("mouseenter",()=>{this.#tK=setTimeout(()=>{this.#tK=null,this.#tY.classList.add("show"),this.#n._reportTelemetry({action:"alt_text_tooltip"})},100)},{signal:i}),t.addEventListener("mouseleave",()=>{this.#tK&&(clearTimeout(this.#tK),this.#tK=null),this.#tY?.classList.remove("show")},{signal:i})}this.#tW?e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip"):(e.removeAttribute("data-l10n-id"),e.textContent=this.#o),e.parentNode||t.append(e);let i=this.#n.getElementForAltText();i?.setAttribute("aria-describedby",e.id)}}class t9{#t4=null;#t6=null;#t8=!1;#n=null;#t7=null;#t9=null;#et=null;#ee=null;#ei=!1;#er=null;constructor(t){this.#n=t}renderForToolbar(){let t=this.#t6=document.createElement("button");
2return t.className="comment",this.#v(t,!1)}renderForStandalone(){let t=this.#t4=document.createElement("button");t.className="annotationCommentButton";let e=this.#n.commentButtonPosition;if(e){let{style:i}=t;i.insetInlineEnd=`calc(${100*("ltr"===this.#n._uiManager.direction?1-e[0]:e[0])}% - var(--comment-button-dim))`,i.top=`calc(${100*e[1]}% - var(--comment-button-dim))`;let r=this.#n.commentButtonColor;r&&(i.backgroundColor=r)}return this.#v(t,!0)}focusButton(){setTimeout(()=>{(this.#t4??this.#t6)?.focus()},0)}onUpdatedColor(){if(!this.#t4)return;let t=this.#n.commentButtonColor;t&&(this.#t4.style.backgroundColor=t),this.#n._uiManager.updatePopupColor(this.#n)}get commentButtonWidth(){return(this.#t4?.getBoundingClientRect().width??0)/this.#n.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#er)return this.#er;if(!this.#t4)return null;let{x:t,y:e,height:i}=this.#t4.getBoundingClientRect(),{x:r,y:s,width:n,height:a}=this.#n.parent.boundingClientRect;return[(t-r)/n,(e+i-s)/a]}set commentPopupPositionInLayer(t){this.#er=t}hasDefaultPopupPosition(){return null===this.#er}removeStandaloneCommentButton(){this.#t4?.remove(),this.#t4=null}removeToolbarCommentButton(){this.#t6?.remove(),this.#t6=null}setCommentButtonStates({selected:t,hasPopup:e}){this.#t4&&(this.#t4.classList.toggle("selected",t),this.#t4.ariaExpanded=e)}#v(t,e){if(!this.#n._uiManager.hasCommentManager())return null;t.tabIndex="0",t.ariaHasPopup="dialog",e?(t.ariaControls="commentPopup",t.setAttribute("data-l10n-id","pdfjs-show-comment-button")):(t.ariaControlsElements=[this.#n._uiManager.getCommentDialogElement()],t.setAttribute("data-l10n-id","pdfjs-editor-edit-comment-button"));let i=this.#n._uiManager._signal;if(!(i instanceof AbortSignal)||i.aborted)return t;t.addEventListener("contextmenu",tR,{signal:i}),e&&(t.addEventListener("focusin",t=>{this.#n._focusEventsAllowed=!1,tL(t)},{capture:!0,signal:i}),t.addEventListener("focusout",t=>{this.#n._focusEventsAllowed=!0,tL(t)},{capture:!0,signal:i})),t.addEventListener("pointerdown",t=>t.stopPropagation(),{signal:i});let r=e=>{e.preventDefault(),t===this.#t6?this.edit():this.#n.toggleComment(!0)};return t.addEventListener("click",r,{capture:!0,signal:i}),t.addEventListener("keydown",e=>{e.target===t&&"Enter"===e.key&&(this.#t8=!0,r(e))},{signal:i}),t.addEventListener("pointerenter",()=>{this.#n.toggleComment(!1,!0)},{signal:i}),t.addEventListener("pointerleave",()=>{this.#n.toggleComment(!1,!1)},{signal:i}),t}edit(t){let e,i,r=this.commentPopupPositionInLayer;if(r)[e,i]=r;else{[e,i]=this.#n.commentButtonPosition;let{width:t,height:r,x:s,y:n}=this.#n;e=s+e*t,i=n+i*r}let s=this.#n.parent.boundingClientRect,{x:n,y:a,width:o,height:l}=s;this.#n._uiManager.editComment(this.#n,n+e*o,a+i*l,{...t,parentDimensions:s})}finish(){this.#t6&&(this.#t6.focus({focusVisible:this.#t8}),this.#t8=!1)}isDeleted(){return this.#ei||""===this.#et}isEmpty(){return null===this.#et}hasBeenEdited(){return this.isDeleted()||this.#et!==this.#t7}serialize(){return this.data}get data(){return{text:this.#et,richText:this.#t9,date:this.#ee,deleted:this.isDeleted()}}set data(t){if(t!==this.#et&&(this.#t9=null),null===t){this.#et="",this.#ei=!0;return}this.#et=t,this.#ee=new Date,this.#ei=!1}setInitialText(t,e=null){this.#t7=t,this.data=t,this.#ee=null,this.#t9=e}shown(){}destroy(){this.#t6?.remove(),this.#t6=null,this.#t4?.remove(),this.#t4=null,this.#et="",this.#t9=null,this.#ee=null,this.#n=null,this.#t8=!1,this.#ei=!1}}class et{#tx;#es=!1;#en=null;#ea;#eo;#el;#eh;#ed=null;#ec;#eu=null;#ep;#eg=null;constructor({container:t,isPinchingDisabled:e=null,isPinchingStopped:i=null,onPinchStart:r=null,onPinching:s=null,onPinchEnd:n=null,signal:a}){this.#tx=t,this.#en=i,this.#ea=e,this.#eo=r,this.#el=s,this.#eh=n,this.#ep=new AbortController,this.#ec=AbortSignal.any([a,this.#ep.signal]),t.addEventListener("touchstart",this.#ef.bind(this),{passive:!1,signal:this.#ec})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/tz.pixelRatio}#ef(t){if(this.#ea?.())return;if(1===t.touches.length){if(this.#ed)return;let t=this.#ed=new AbortController,e=AbortSignal.any([this.#ec,t.signal]),i=this.#tx,r={capture:!0,signal:e,passive:!1},s=t=>{"touch"===t.pointerType&&(this.#ed?.abort(),this.#ed=null)};i.addEventListener("pointerdown",t=>{"touch"===t.pointerType&&(tL(t),s(t))},r),i.addEventListener("pointerup",s,r),i.addEventListener("pointercancel",s,r);return}if(!this.#eg){this.#eg=new AbortController;let t=AbortSignal.any([this.#ec,this.#eg.signal]),e=this.#tx,i={signal:t,capture:!1,passive:!1};e.addEventListener("touchmove",this.#em.bind(this),i);let r=this.#eb.bind(this);e.addEventListener("touchend",r,i),e.addEventListener("touchcancel",r,i),i.capture=!0,e.addEventListener("pointerdown",tL,i),e.addEventListener("pointermove",tL,i),e.addEventListener("pointercancel",t
vendor: 4,789 bytes, line 2
2L,i),e.addEventListener("pointerup",tL,i),this.#eo?.()}if(tL(t),2!==t.touches.length||this.#en?.()){this.#eu=null;return}let[e,i]=t.touches;e.identifier>i.identifier&&([e,i]=[i,e]),this.#eu={touch0X:e.screenX,touch0Y:e.screenY,touch1X:i.screenX,touch1Y:i.screenY}}#em(t){if(!this.#eu||2!==t.touches.length)return;tL(t);let[e,i]=t.touches;e.identifier>i.identifier&&([e,i]=[i,e]);let{screenX:r,screenY:s}=e,{screenX:n,screenY:a}=i,o=this.#eu,{touch0X:l,touch0Y:h,touch1X:d,touch1Y:c}=o,u=Math.hypot(n-r,a-s)||1,p=Math.hypot(d-l,c-h)||1;if(!this.#es&&Math.abs(p-u)<=et.MIN_TOUCH_DISTANCE_TO_PINCH)return;if(o.touch0X=r,o.touch0Y=s,o.touch1X=n,o.touch1Y=a,!this.#es){this.#es=!0;return}let g=[(r+n)/2,(s+a)/2];this.#el?.(g,p,u)}#eb(t){t.touches.length>=2||(this.#eg&&(this.#eg.abort(),this.#eg=null,this.#eh?.()),this.#eu&&(tL(t),this.#eu=null,this.#es=!1))}destroy(){this.#ep?.abort(),this.#ep=null,this.#ed?.abort(),this.#ed=null}}class ee{#ev=null;#ey=null;#o=null;#l=null;#t4=null;#ew=!1;#ex=null;#eA="";#e_=null;#eS=null;#eE=null;#eT=null;#eC=null;#eM="";#ek=!1;#eP=null;#eD=!1;#eI=!1;#eR=!1;#eL=null;#eB=0;#eF=0;#eN=null;#eO=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nResizer=null;#ej=!1;#eU=ee._zIndex++;static _borderLineWidth=-1;static _colorManager=new t6;static _zIndex=1;static _telemetryTimeout=1e3;static get _resizerKeyboardManager(){let t=ee.prototype._resizeWithKeyboard,e=t8.TRANSLATE_SMALL,i=t8.TRANSLATE_BIG;return tt(this,"_resizerKeyboardManager",new t4([[["ArrowLeft","mac+ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-i,0]}],[["ArrowRight","mac+ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[i,0]}],[["ArrowUp","mac+ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-i]}],[["ArrowDown","mac+ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,i]}],[["Escape","mac+Escape"],ee.prototype._stopResizingWithKeyboard]]))}constructor(t){this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null,this._uiManager=t.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=t.isCentered,this._structTreeParentId=null,this.annotationElementId=t.annotationElementId||null,this.creationDate=t.creationDate||new Date,this.modificationDate=t.modificationDate||null;const{rotation:e,rawDims:{pageWidth:i,pageHeight:r,pageX:s,pageY:n}}=this.parent.viewport;this.rotation=e,this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[i,r],this.pageTranslation=[s,n];const[a,o]=this.parentDimensions;this.x=t.x/a,this.y=t.y/o,this.isAttachedToDOM=!1,this.deleted=!1}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return tt(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){let e=new ei({id:t.parent.getNextId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId,e.deleted=!0,e._uiManager.addToAnnotationStorage(e)}static initialize(t,e){if(ee._l10n??=t,ee._l10nResizer||=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"}),-1!==ee._borderLineWidth)return;let i=getComputedStyle(document.documentElement);ee._borderLineWidth=parseFloat(i.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){K("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#ej}set _isDraggable(t){this.#ej=t,this.div?.classList.toggle("draggable",t)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(2*t),this.y+=this.width*t/(2*e);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*e/(2*t),this.y-=this.width*t/(2*e);break;default:this.x-=this.width/2,this.y-=this.height/2}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}
vendor: 5,960 bytes, line 2
2setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#eU}setParent(t){null!==t?(this.pageIndex=t.pageIndex,this.pageDimensions=t.pageDimensions):(this.#ez(),this.#eT?.remove(),this.#eT=null),this.parent=t}focusin(t){this._focusEventsAllowed&&(this.#ek?this.#ek=!1:this.parent.setSelected(this))}focusout(t){if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;let e=t.relatedTarget;!e?.closest(`#${this.id}`)&&(t.preventDefault(),this.parent?.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.isInEditMode()&&this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,i,r){let[s,n]=this.parentDimensions;[i,r]=this.screenToPageTranslation(i,r),this.x=(t+i)/s,this.y=(e+r)/n,this.fixAndSetPosition()}_moveAfterPaste(t,e){let[i,r]=this.parentDimensions;this.setAt(t*i,e*r,this.width*i,this.height*r),this._onTranslated()}#e$([t,e],i,r){[i,r]=this.screenToPageTranslation(i,r),this.x+=i/t,this.y+=r/e,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(t,e){this.#e$(this.parentDimensions,t,e)}translateInPage(t,e){this.#eP||=[this.x,this.y,this.width,this.height],this.#e$(this.pageDimensions,t,e),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(t,e){this.#eP||=[this.x,this.y,this.width,this.height];let{div:i,parentDimensions:[r,s]}=this;if(this.x+=t/r,this.y+=e/s,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:t,y:e}=this.div.getBoundingClientRect();this.parent.findNewParent(this,t,e)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:n,y:a}=this,[o,l]=this.getBaseTranslation();n+=o,a+=l;let{style:h}=i;h.left=`${(100*n).toFixed(2)}%`,h.top=`${(100*a).toFixed(2)}%`,this._onTranslating(n,a),i.scrollIntoView({block:"nearest"})}_onTranslating(t,e){}_onTranslated(t,e){}get _hasBeenMoved(){return!!this.#eP&&(this.#eP[0]!==this.x||this.#eP[1]!==this.y)}get _hasBeenResized(){return!!this.#eP&&(this.#eP[2]!==this.width||this.#eP[3]!==this.height)}getBaseTranslation(){let[t,e]=this.parentDimensions,{_borderLineWidth:i}=ee,r=i/t,s=i/e;switch(this.rotation){case 90:return[-r,s];case 180:return[r,s];case 270:return[r,-s];default:return[-r,-s]}}get _mustFixPosition(){return!0}fixAndSetPosition(t=this.rotation){let{div:{style:e},pageDimensions:[i,r]}=this,{x:s,y:n,width:a,height:o}=this;if(a*=i,o*=r,s*=i,n*=r,this._mustFixPosition)switch(t){case 0:s=tv(s,0,i-a),n=tv(n,0,r-o);break;case 90:s=tv(s,0,i-o),n=tv(n,a,r);break;case 180:s=tv(s,a,i),n=tv(n,o,r);break;case 270:s=tv(s,o,i),n=tv(n,0,r-a)}this.x=s/=i,this.y=n/=r;let[l,h]=this.getBaseTranslation();s+=l,n+=h,e.left=`${(100*s).toFixed(2)}%`,e.top=`${(100*n).toFixed(2)}%`,this.moveInDOM()}static #eH(t,e,i){switch(i){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}}screenToPageTranslation(t,e){return ee.#eH(t,e,this.parentRotation)}pageTranslationToScreen(t,e){return ee.#eH(t,e,360-this.parentRotation)}#eG(t){switch(t){case 90:{let[t,e]=this.pageDimensions;return[0,-t/e,e/t,0]}case 180:return[-1,0,0,-1];case 270:{let[t,e]=this.pageDimensions;return[0,t/e,-e/t,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:t,pageDimensions:[e,i]}=this;return[e*t,i*t]}setDims(){let{div:{style:t},width:e,height:i}=this;t.width=`${(100*e).toFixed(2)}%`,t.height=`${(100*i).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#eV(){if(this.#e_)return;this.#e_=document.createElement("div"),this.#e_.classList.add("resizers");let t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(let i of t){let t=document.createElement("div");this.#e_.append(t),t.classList.add("resizer",i),t.setAttribute("data-resizer-name",i),t.addEventListener("pointerdown",this.#eW.bind(this,i),{signal:e}),t.addEventListener("contextmenu",tR,{signal:e}),t.tabIndex=-1}this.div.prepend(this.#e_)}#eW(t,e){e.preventDefault();let{isMac:i}=td.platform;if(0!==e.button||e.ctrlKey&&i)return;this.#o?.toggle(!1);let r=this._isDraggable;this._isDraggable=!1,this.#eS=[e.screenX,e.screenY];let s=new AbortController,n=this._uiManager.combinedSignal(s);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#eq.bind(this,t),{passive:!0,capture:!0,signal:n}),window.addEventListener("touchmove",tL,{passive:!1,signal:n}),window.addEventListener("contextmenu",tR,{signal:n}),this.#eE={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let a=this.parent.div.style.cursor,o=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;let l=()=>{s.abort(),this.parent.togglePointerEvents(!0),this.#o?.toggle(!0),this._isDraggable=r,this.parent.div.style.cursor=a,this.div.style.cursor=o,this.#eX()};window.addEventListener("pointerup",l,{signal:n}),window.addEventListener("blur",l,{signal:n})}#eY(t,e,i,r){this.width=i,this.height=r,this.x=t,this.y=e,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#eX(){if(!this.#eE)return;let{savedX:t,savedY:e,savedWidth:i,savedHeight:r}=this.#eE;this.#eE=null;let s=this.x,n=this.y,a=this.width,o=this.height;(s!==t||n!==e||a!==i||o!==r)&&this.addCommands({cmd:this.#eY.bind(this,s,n,a,o),undo:this.#eY.bind(this,t,e,i,r),mustExec:!0})}static _round(t){return Math.round(1e4*t)/1e4}#eq(t,e){let i,r,s,n,a,o,[l,h]=this.parentDimensions,d=this.x,c=this.y,u=this.width,p=this.height,g=ee.MIN_SIZE/l,f=ee.MIN_SIZE/h,m=this.#eG(this.rotation),b=(t,e)=>[m[0]*t+m[2]*e,m[1]*t+m[3]*e],v=this.#eG(360-this.rotation),y=!1,w=!1;switch(t){case"topLeft":y=!0,i=(t,e)=>
2[0,0],r=(t,e)=>[t,e];break;case"topMiddle":i=(t,e)=>[t/2,0],r=(t,e)=>[t/2,e];break;case"topRight":y=!0,i=(t,e)=>[t,0],r=(t,e)=>[0,e];break;case"middleRight":w=!0,i=(t,e)=>[t,e/2],r=(t,e)=>[0,e/2];break;case"bottomRight":y=!0,i=(t,e)=>[t,e],r=(t,e)=>[0,0];break;case"bottomMiddle":i=(t,e)=>[t/2,e],r=(t,e)=>[t/2,0];break;case"bottomLeft":y=!0,i=(t,e)=>[0,e],r=(t,e)=>[t,0];break;case"middleLeft":w=!0,i=(t,e)=>[0,e/2],r=(t,e)=>[t,e/2]}let x=i(u,p),A=r(u,p),_=b(...A),S=ee._round(d+_[0]),E=ee._round(c+_[1]),T=1,C=1;if(e.fromKeyboard)({deltaX:s,deltaY:n}=e);else{let{screenX:t,screenY:i}=e,[r,a]=this.#eS;[s,n]=this.screenToPageTranslation(t-r,i-a),this.#eS[0]=t,this.#eS[1]=i}if([s,n]=(a=s/l,o=n/h,[v[0]*a+v[2]*o,v[1]*a+v[3]*o]),y){let t=Math.hypot(u,p);T=C=Math.max(Math.min(Math.hypot(A[0]-x[0]-s,A[1]-x[1]-n)/t,1/u,1/p),g/u,f/p)}else w?T=tv(Math.abs(A[0]-x[0]-s),g,1)/u:C=tv(Math.abs(A[1]-x[1]-n),f,1)/p;let M=ee._round(u*T),k=ee._round(p*C),P=S-(_=b(...r(M,k)))[0],D=E-_[1];this.#eP||=[this.x,this.y,this.width,this.height],this.width=M,this.height=k,this.x=P,this.y=D,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#o?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#eI)return this._editToolbar;this._editToolbar=new tZ(this),this.div.append(this._editToolbar.render());let{toolbarButtons:t}=this;if(t)for(let[e,i]of t)await this._editToolbar.addButton(e,i);return this.hasComment||this._editToolbar.addButton("comment",this.addCommentButton()),this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton("comment")}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#o?.destroy()}addContainer(t){let e=this._editToolbar?.div;e?e.before(t):this.div.append(t)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){return!this.#o&&(t7.initialize(ee._l10n),this.#o=new t7(this),this.#ev&&(this.#o.data=this.#ev,this.#ev=null)),this.#o}get altTextData(){return this.#o?.data}set altTextData(t){this.#o&&(this.#o.data=t)}get guessedAltText(){return this.#o?.guessedText}async setGuessedAltText(t){await this.#o?.setGuessedText(t)}serializeAltText(t){return this.#o?.serialize(t)}hasAltText(){return!!this.#o&&!this.#o.isEmpty()}hasAltTextData(){return this.#o?.hasData()??!1}focusCommentButton(){this.#l?.focusButton()}addCommentButton(){return this.#l||=new t9(this)}addStandaloneCommentButton(){if(this.#t4){this._uiManager.isEditingMode()&&this.#t4.classList.remove("hidden");return}this.hasComment&&(this.#t4=this.#l.renderForStandalone(),this.div.append(this.#t4))}removeStandaloneCommentButton(){this.#l.removeStandaloneCommentButton(),this.#t4=null}hideStandaloneCommentButton(){this.#t4?.classList.add("hidden")}get comment(){let{data:{richText:t,text:e,date:i,deleted:r}}=this.#l;return{text:e,richText:t,date:i,deleted:r,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(t){this.#l||=new t9(this),this.#l.data=t,this.hasComment?(this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this)):(this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this))}setCommentData({comment:t,popupRef:e,richText:i}){if(!e||(this.#l||=new t9(this),this.#l.setInitialText(t,i),!this.annotationElementId))return;let r=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);r&&this.updateFromAnnotationLayer(r)}get hasEditedComment(){return this.#l?.hasBeenEdited()}get hasDeletedComment(){return this.#l?.isDeleted()}get hasComment(){return!!this.#l&&!this.#l.isEmpty()&&!this.#l.isDeleted()}async editComment(t){this.#l||=new t9(this),this.#l.edit(t)}toggleComment(t,e){this.hasComment&&this._uiManager.toggleComment(this,t,e)}setSelectedCommentButton(t){this.#l.setSelectedButton(t)}addComment(t){if(this.hasEditedComment){let[,,,e]=t.rect,[i]=this.pageDimensions,[r]=this.pageTranslation,s=r+i+1;t.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[s,e-100,s+180,e]}}}updateFromAnnotationLayer({popup:{contents:t,deleted:e}}){this.#l.data=e?null:t}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let t=this.div=document.createElement("div");t.setAttribute("data-editor-rotation",(360-this.rotation)%360),t.className=this.name,t.setAttribute("id",this.id),t.tabIndex=this.#ew?-1:0,t.setAttribute("role","application"),this.defaultL10nId&&t.setAttribute("data-l10n-id",this.defaultL10nId),this._isVisible||t.classList.add("hidden"),this.setInForeground(),this.#eK();let[e,i]=this.parentDimensions;this.parentRotation%180!=0&&(t.style.maxWidth=`${(100*i/e).toFixed(2)}%`,t.style.maxHeight=`${(100*e/i).toFixed(2)}%`);let[r,s]=this.getInitialTranslation();return this.translate(r,s),t1(this,t,["keydown","pointerdown","dblclick"]),this.isResizable&&this._uiManager._supportsPinchToZoom&&(this.#eO||=new et({container:t,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#eJ.bind(this),onPinching:this.#eQ.bind(this),onPinchEnd:this.#eZ.bind(this),signal:this._uiManager._signal})),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),t}#eJ(){this.#eE={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#o?.toggle(!1),this.parent.togglePointerEvents(!1)}#eQ(t,e,i){let r=i/e*.7+1-.7;
2if(1===r)return;let s=this.#eG(this.rotation),n=(t,e)=>[s[0]*t+s[2]*e,s[1]*t+s[3]*e],[a,o]=this.parentDimensions,l=this.x,h=this.y,d=this.width,c=this.height;r=Math.max(Math.min(r,1/d,1/c),ee.MIN_SIZE/a/d,ee.MIN_SIZE/o/c);let u=ee._round(d*r),p=ee._round(c*r);if(u===d&&p===c)return;this.#eP||=[l,h,d,c];let g=n(d/2,c/2),f=ee._round(l+g[0]),m=ee._round(h+g[1]),b=n(u/2,p/2);this.x=f-b[0],this.y=m-b[1],this.width=u,this.height=p,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#eZ(){this.#o?.toggle(!0),this.parent.togglePointerEvents(!0),this.#eX()}pointerdown(t){let{isMac:e}=td.platform;0!==t.button||t.ctrlKey&&e?t.preventDefault():(this.#ek=!0,this._isDraggable)?this.#e0(t):this.#e1(t)}#e1(t){let{isMac:e}=td.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)}#e0(t){let{isSelected:e}=this;this._uiManager.setUpDragSession();let i=!1,r=new AbortController,s=this._uiManager.combinedSignal(r),n={capture:!0,passive:!1,signal:s},a=t=>{r.abort(),this.#ex=null,this.#ek=!1,this._uiManager.endDragSession()||this.#e1(t),i&&this._onStopDragging()};e&&(this.#eB=t.clientX,this.#eF=t.clientY,this.#ex=t.pointerId,this.#eA=t.pointerType,window.addEventListener("pointermove",t=>{i||(i=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging());let{clientX:e,clientY:r,pointerId:s}=t;if(s!==this.#ex)return void tL(t);let[n,a]=this.screenToPageTranslation(e-this.#eB,r-this.#eF);this.#eB=e,this.#eF=r,this._uiManager.dragSelectedEditors(n,a)},n),window.addEventListener("touchmove",tL,n),window.addEventListener("pointerdown",t=>{t.pointerType===this.#eA&&(this.#eO||t.isPrimary)&&a(t),tL(t)},n));let o=t=>{this.#ex&&this.#ex!==t.pointerId?tL(t):a(t)};window.addEventListener("pointerup",o,{signal:s}),window.addEventListener("blur",o,{signal:s})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){this.#eL&&clearTimeout(this.#eL),this.#eL=setTimeout(()=>{this.#eL=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(t,e,i){t.changeParent(this),this.x=e,this.y=i,this.fixAndSetPosition(),this._onTranslated()}getRect(t,e,i=this.rotation){let r=this.parentScale,[s,n]=this.pageDimensions,[a,o]=this.pageTranslation,l=t/r,h=e/r,d=this.x*s,c=this.y*n,u=this.width*s,p=this.height*n;switch(i){case 0:return[d+l+a,n-c-h-p+o,d+l+u+a,n-c-h+o];case 90:return[d+h+a,n-c+l+o,d+h+p+a,n-c+l+u+o];case 180:return[d-l-u+a,n-c+h+o,d-l+a,n-c+h+p+o];case 270:return[d-h-p+a,n-c-l-u+o,d-h+a,n-c-l+o];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(t,e){let[i,r,s,n]=t,a=s-i,o=n-r;switch(this.rotation){case 0:return[i,e-n,a,o];case 90:return[i,e-r,o,a];case 180:return[s,e-r,a,o];case 270:return[s,e-n,o,a];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&ee._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#l?.onUpdatedColor()}getData(){let{comment:{text:t,color:e,date:i,opacity:r,deleted:s,richText:n},uid:a,pageIndex:o,creationDate:l,modificationDate:h}=this;return{id:a,pageIndex:o,rect:this.getPDFRect(),richText:n,contentsObj:{str:t},creationDate:l,modificationDate:i||h,popupRef:!s,color:e,opacity:r}}onceAdded(t){}isEmpty(){return!1}enableEditMode(){return!this.isInEditMode()&&(this.parent.setEditingState(!1),this.#eI=!0,!0)}disableEditMode(){return!!this.isInEditMode()&&(this.parent.setEditingState(!0),this.#eI=!1,!0)}isInEditMode(){return this.#eI}shouldGetKeyboardEvents(){return this.#eR}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:t,left:e,bottom:i,right:r}=this.getClientDimensions(),{innerHeight:s,innerWidth:n}=window;return e<n&&r>0&&t<s&&i>0}#eK(){if(this.#eC||!this.div)return;this.#eC=new AbortController;let t=this._uiManager.combinedSignal(this.#eC);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:t}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:t})}rebuild(){this.#eK()}rotate(t){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(t=!1,e=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(t,e,i){let r=new this.prototype.constructor({parent:e,id:e.getNextId(),uiManager:i,annotationElementId:t.annotationElementId,creationDate:t.creationDate,modificationDate:t.modificationDate});r.rotation=t.rotation,r.#ev=t.accessibilityData,r._isCopy=t.isCopy||!1;let[s,n]=r.pageDimensions,[a,o,l,h]=r.getRectInCurrentCoords(t.rect,n);
2return r.x=a/s,r.y=o/n,r.width=l/s,r.height=h/n,r}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||null!==this.serialize())}remove(){if(this.#eC?.abort(),this.#eC=null,this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),this.#eL&&(clearTimeout(this.#eL),this.#eL=null),this.#ez(),this.removeEditToolbar(),this.#eN){for(let t of this.#eN.values())clearTimeout(t);this.#eN=null}this.parent=null,this.#eO?.destroy(),this.#eO=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(this.#eV(),this.#e_.classList.remove("hidden"))}get toolbarPosition(){return null}get commentButtonPosition(){return"ltr"===this._uiManager.direction?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[t,e]}=this,[i,r,s,n]=this.getPDFRect();return[ee._round(i+(s-i)*t),ee._round(r+(n-r)*(1-e))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#l.commentPopupPositionInLayer}set commentPopupPosition(t){this.#l.commentPopupPositionInLayer=t}hasDefaultPopupPosition(){return this.#l.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#l.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(t){this.#l.setCommentButtonStates(t)}keydown(t){if(!this.isResizable||t.target!==this.div||"Enter"!==t.key)return;this._uiManager.setSelected(this),this.#eE={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let e=this.#e_.children;if(!this.#ey){this.#ey=Array.from(e);let t=this.#e2.bind(this),i=this.#e5.bind(this),r=this._uiManager._signal;for(let e of this.#ey){let s=e.getAttribute("data-resizer-name");e.setAttribute("role","spinbutton"),e.addEventListener("keydown",t,{signal:r}),e.addEventListener("blur",i,{signal:r}),e.addEventListener("focus",this.#e3.bind(this,s),{signal:r}),e.setAttribute("data-l10n-id",ee._l10nResizer[s])}}let i=this.#ey[0],r=0;for(let t of e){if(t===i)break;r++}let s=(360-this.rotation+this.parentRotation)%360/90*(this.#ey.length/4);if(s!==r){if(s<r)for(let t=0;t<r-s;t++)this.#e_.append(this.#e_.firstChild);else if(s>r)for(let t=0;t<s-r;t++)this.#e_.firstChild.before(this.#e_.lastChild);let t=0;for(let i of e){let e=this.#ey[t++].getAttribute("data-resizer-name");i.setAttribute("data-l10n-id",ee._l10nResizer[e])}}this.#e4(0),this.#eR=!0,this.#e_.firstChild.focus({focusVisible:!0}),t.preventDefault(),t.stopImmediatePropagation()}#e2(t){ee._resizerKeyboardManager.exec(this,t)}#e5(t){this.#eR&&t.relatedTarget?.parentNode!==this.#e_&&this.#ez()}#e3(t){this.#eM=this.#eR?t:""}#e4(t){if(this.#ey)for(let e of this.#ey)e.tabIndex=t}_resizeWithKeyboard(t,e){this.#eR&&this.#eq(this.#eM,{deltaX:t,deltaY:e,fromKeyboard:!0})}#ez(){this.#eR=!1,this.#e4(-1),this.#eX()}_stopResizingWithKeyboard(){this.#ez(),this.div.focus()}select(){this.isSelected&&this._editToolbar?this._editToolbar.show():(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),this._editToolbar)?(this._editToolbar?.show(),this.#o?.toggleAltTextBadge(!1)):this.addEditToolbar().then(()=>{this.div?.classList.contains("selectedEditor")&&this._editToolbar?.show()})}focus(){this.div&&!this.div.contains(document.activeElement)&&setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){this.isSelected&&(this.isSelected=!1,this.#e_?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),this._editToolbar?.hide(),this.#o?.toggleAltTextBadge(!0),this.hasComment&&this._uiManager.toggleComment(this,!1,!1))}updateParams(t,e){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){this.canChangeContent&&(this.enableEditMode(),this.div.focus())}dblclick(t){"BUTTON"!==t.target.nodeName&&(this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.id}))}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#eD}set isEditing(t){this.#eD=t,this.parent&&(t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t,e=!1){if(e){this.#eN||=new Map;let{action:e}=t,i=this.#eN.get(e);i&&clearTimeout(i),i=setTimeout(()=>{this._reportTelemetry(t),this.#eN.delete(e),0===this.#eN.size&&(this.#eN=null)},ee._telemetryTimeout),this.#eN.set(e,i);return}t.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}
2show(t=this._isVisible){this.div.classList.toggle("hidden",!t),this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0),this.#ew=!1}disable(){this.div&&(this.div.tabIndex=-1),this.#ew=!0}updateFakeAnnotationElement(t){if(!this.#eT&&!this.deleted){this.#eT=t.addFakeAnnotation(this);return}if(this.deleted){this.#eT.remove(),this.#eT=null;return}(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)&&this.#eT.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(t){if(this.deleted)return t.hide(),null;let e=t.container.querySelector(".annotationContent");if(e){if("CANVAS"===e.nodeName){let t=e;(e=document.createElement("div")).classList.add("annotationContent",this.editorType),t.before(e)}}else(e=document.createElement("div")).classList.add("annotationContent",this.editorType),t.container.prepend(e);return e}resetAnnotationElement(t){let{firstChild:e}=t.container;e?.nodeName==="DIV"&&e.classList.contains("annotationContent")&&e.remove()}}class ei extends ee{constructor(t){super(t),this.annotationElementId=t.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}class er{constructor(t){this.h1=t?0|t:0xc3d2e1f0,this.h2=t?0|t:0xc3d2e1f0}update(t){let e,i;if("string"==typeof t){e=new Uint8Array(2*t.length),i=0;for(let r=0,s=t.length;r<s;r++){let s=t.charCodeAt(r);s<=255?e[i++]=s:(e[i++]=s>>>8,e[i++]=255&s)}}else if(ArrayBuffer.isView(t))i=(e=t.slice()).byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let r=i>>2,s=i-4*r,n=new Uint32Array(e.buffer,0,r),a=0,o=0,l=this.h1,h=this.h2;for(let t=0;t<r;t++)1&t?(l^=a=0x1b873593*(a=(a=0xcc9e2d51*(a=n[t])&0xffff0000|11601*a&65535)<<15|a>>>17)&0xffff0000|13715*a&65535,l=5*(l=l<<13|l>>>19)+0xe6546b64):(h^=o=0x1b873593*(o=(o=0xcc9e2d51*(o=n[t])&0xffff0000|11601*o&65535)<<15|o>>>17)&0xffff0000|13715*o&65535,h=5*(h=h<<13|h>>>19)+0xe6546b64);switch(a=0,s){case 3:a^=e[4*r+2]<<16;case 2:a^=e[4*r+1]<<8;case 1:a^=e[4*r],a=0x1b873593*(a=(a=0xcc9e2d51*a&0xffff0000|11601*a&65535)<<15|a>>>17)&0xffff0000|13715*a&65535,1&r?l^=a:h^=a}this.h1=l,this.h2=h}hexdigest(){let t=this.h1,e=this.h2;return t^=e>>>1,e=0xff51afd7*e&0xffff0000|((e<<16|(t=0xed558ccd*t&0xffff0000|36045*t&65535)>>>16)*0xafd7ed55&0xffff0000)>>>16,t^=e>>>1,e=0xc4ceb9fe*e&0xffff0000|((e<<16|(t=0x1a85ec53*t&0xffff0000|60499*t&65535)>>>16)*0xb9fe1a85&0xffff0000)>>>16,((t^=e>>>1)>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}let es=Object.freeze({map:null,hash:"",transfer:void 0});class en{#e6=!1;#e8=null;#e7=null;#e9=new Map;constructor(){this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){let i=this.#e9.get(t);return void 0===i?e:Object.assign(e,i)}getRawValue(t){return this.#e9.get(t)}remove(t){let e=this.#e9.get(t);if(void 0!==e&&(e instanceof ee&&this.#e7.delete(e.annotationElementId),this.#e9.delete(t),0===this.#e9.size&&this.resetModified(),"function"==typeof this.onAnnotationEditor)){for(let t of this.#e9.values())if(t instanceof ee)return;this.onAnnotationEditor(null)}}setValue(t,e){let i=this.#e9.get(t),r=!1;if(void 0!==i)for(let[t,s]of Object.entries(e))i[t]!==s&&(r=!0,i[t]=s);else r=!0,this.#e9.set(t,e);r&&this.#it(),e instanceof ee&&((this.#e7||=new Map).set(e.annotationElementId,e),"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(e.constructor._type))}has(t){return this.#e9.has(t)}get size(){return this.#e9.size}#it(){this.#e6||(this.#e6=!0,"function"==typeof this.onSetModified&&this.onSetModified())}resetModified(){this.#e6&&(this.#e6=!1,"function"==typeof this.onResetModified&&this.onResetModified())}get print(){return new ea(this)}get serializable(){if(0===this.#e9.size)return es;let t=new Map,e=new er,i=[],r=Object.create(null),s=!1;for(let[i,n]of this.#e9){let a=n instanceof ee?n.serialize(!1,r):n;a&&(t.set(i,a),e.update(`${i}:${JSON.stringify(a)}`),s||=!!a.bitmap)}if(s)for(let e of t.values())e.bitmap&&i.push(e.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:i}:es}get editorStats(){let t=null,e=new Map,i=0,r=0;for(let s of this.#e9.values()){if(!(s instanceof ee)){s.popup&&(s.popup.deleted?r+=1:i+=1);continue}s.isCommentDeleted?r+=1:s.hasEditedComment&&(i+=1);let n=s.telemetryFinalData;if(!n)continue;let{type:a}=n;e.has(a)||e.set(a,Object.getPrototypeOf(s).constructor),t||=Object.create(null);let o=t[a]||=new Map;for(let[t,e]of Object.entries(n)){if("type"===t)continue;let i=o.get(t);i||(i=new Map,o.set(t,i));let r=i.get(e)??0;i.set(e,r+1)}}if((r>0||i>0)&&((t||=Object.create(null)).comments={deleted:r,edited:i}),!t)return null;for(let[i,r]of e)t[i]=r.computeTelemetryFinalData(t[i]);return t}resetModifiedIds(){this.#e8=null}updateEditor(t,e){let i=this.#e7?.get(t);return!!i&&(i.updateFromAnnotationLayer(e),!0)}getEditor(t){return this.#e7?.get(t)||null}get modifiedIds(){if(this.#e8)return this.#e8;let t=[];
2if(this.#e7)for(let e of this.#e7.values())e.serialize()&&t.push(e.annotationElementId);return this.#e8={ids:new Set(t),hash:t.join(",")}}[Symbol.iterator](){return this.#e9.entries()}}class ea extends en{#ie;constructor(t){super();const{map:e,hash:i,transfer:r}=t.serializable,s=structuredClone(e,r?{transfer:r}:null);this.#ie={map:s,hash:i,transfer:r}}get print(){K("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#ie}get modifiedIds(){return tt(this,"modifiedIds",{ids:new Set,hash:""})}}class eo{#ii=new Set;constructor({ownerDocument:t=globalThis.document,styleElement:e=null}){this._document=t,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t),this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t),this._document.fonts.delete(t)}insertRule(t){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));let e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(let t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.clear(),this.#ii.clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:t,disableFontFace:e,_inspectFont:i}){if(!(!t||this.#ii.has(t.loadedName))){if(J(!e,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:e,src:r,style:s}=t,n=new FontFace(e,r,s);this.addNativeFontFace(n);try{await n.load(),this.#ii.add(e),i?.(t)}catch{Y(`Cannot load system font: ${t.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(n)}return}K("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;if(t.attached=!0,t.systemFontInfo)return void await this.loadSystemFont(t);if(this.isFontLoadingAPISupported){let e=t.createNativeFontFace();if(e){this.addNativeFontFace(e);try{await e.loaded}catch(i){throw Y(`Failed to load font '${e.family}': '${i}'.`),t.disableFontFace=!0,i}}return}let e=t.createFontFaceRule();if(e){if(this.insertRule(e),this.isSyncFontLoadingSupported)return;await new Promise(e=>{let i=this._queueLoadingCallback(e);this._prepareFontLoadEvent(t,i)})}}get isFontLoadingAPISupported(){return tt(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){return tt(this,"isSyncFontLoadingSupported",B||td.platform.isFirefox)}_queueLoadingCallback(t){let{loadingRequests:e}=this,i={done:!1,complete:function(){for(J(!i.done,"completeRequest() cannot be called twice."),i.done=!0;e.length>0&&e[0].done;)setTimeout(e.shift().callback,0)},callback:t};return e.push(i),i}get _loadTestFont(){return tt(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(t,e){var i;let r,s;function n(t,e){return t.charCodeAt(e)<<24|t.charCodeAt(e+1)<<16|t.charCodeAt(e+2)<<8|255&t.charCodeAt(e+3)}function a(t,e,i,r){return t.substring(0,e)+r+t.substring(e+i)}let o=this._document.createElement("canvas");o.width=1,o.height=1;let l=o.getContext("2d"),h=0,d=`lt${Date.now()}${this.loadTestFontId++}`,c=this._loadTestFont,u=n(c=a(c,976,d.length,d),16);for(r=0,s=d.length-3;r<s;r+=4)u=u-0x58585858+n(d,r)|0;r<d.length&&(u=u-0x58585858+n(d+"XXX",r)|0),c=a(c,16,4,String.fromCharCode((i=u)>>24&255,i>>16&255,i>>8&255,255&i));let p=`url(data:font/opentype;base64,${btoa(c)});`,g=`@font-face {font-family:"${d}";src:${p}}`;this.insertRule(g);let f=this._document.createElement("div");
2for(let e of(f.style.visibility="hidden",f.style.width=f.style.height="10px",f.style.position="absolute",f.style.top=f.style.left="0px",[t.loadedName,d])){let t=this._document.createElement("span");t.textContent="Hi",t.style.fontFamily=e,f.append(t)}this._document.body.append(f),function t(e,i){if(++h>30){Y("Load test font never loaded."),i();return}(l.font="30px "+e,l.fillText(".",0,20),l.getImageData(0,0,1,1).data[3]>0)?i():setTimeout(t.bind(null,e,i))}(d,()=>{f.remove(),e.complete()})}}class el{#ir;constructor(t,e=null,i,r){this.compiledGlyphs=Object.create(null),this.#ir=t,this._inspectFont=e,i&&Object.assign(this,i),r&&(this.charProcOperatorList=r)}createNativeFontFace(){let t;if(!this.data||this.disableFontFace)return null;if(this.cssFontInfo){let e={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(e.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,e)}else t=new FontFace(this.loadedName,this.data,{});return this._inspectFont?.(this),t}createFontFaceRule(){let t;if(!this.data||this.disableFontFace)return null;let e=`url(data:${this.mimetype};base64,${ty(this.data)});`;if(this.cssFontInfo){let i=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(i+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),t=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${i}src:${e}}`}else t=`@font-face {font-family:"${this.loadedName}";src:${e}}`;return this._inspectFont?.(this,e),t}getPathGenerator(t,e){let i;if(void 0!==this.compiledGlyphs[e])return this.compiledGlyphs[e];let r=this.loadedName+"_path_"+e;try{i=t.get(r)}catch(t){Y(`getPathGenerator - ignoring character: "${t}".`)}let s=new Path2D(i||"");return this.fontExtraProperties||t.delete(r),this.compiledGlyphs[e]=s}get black(){return this.#ir.black}get bold(){return this.#ir.bold}get disableFontFace(){return this.#ir.disableFontFace??!1}get fontExtraProperties(){return this.#ir.fontExtraProperties??!1}get isInvalidPDFjsFont(){return this.#ir.isInvalidPDFjsFont}get isType3Font(){return this.#ir.isType3Font}get italic(){return this.#ir.italic}get missingFile(){return this.#ir.missingFile}get remeasure(){return this.#ir.remeasure}get vertical(){return this.#ir.vertical}get ascent(){return this.#ir.ascent}get defaultWidth(){return this.#ir.defaultWidth}get descent(){return this.#ir.descent}get bbox(){return this.#ir.bbox}get fontMatrix(){return this.#ir.fontMatrix}get fallbackName(){return this.#ir.fallbackName}get loadedName(){return this.#ir.loadedName}get mimetype(){return this.#ir.mimetype}get name(){return this.#ir.name}get data(){return this.#ir.data}clearData(){this.#ir.clearData()}get cssFontInfo(){return this.#ir.cssFontInfo}get systemFontInfo(){return this.#ir.systemFontInfo}get defaultVMetrics(){return this.#ir.defaultVMetrics}}function eh(t){if("string"!=typeof t)return null;if(t.endsWith("/"))return t;throw Error(`Invalid factory url: "${t}" must include trailing slash.`)}let ed=t=>"object"==typeof t&&Number.isInteger(t?.num)&&t.num>=0&&Number.isInteger(t?.gen)&&t.gen>=0,ec=(function(t,e,i){if(!Array.isArray(i)||i.length<2)return!1;let[r,s,...n]=i;if(!t(r)&&!Number.isInteger(r)||!e(s))return!1;let a=n.length,o=!0;switch(s.name){case"XYZ":if(a<2||a>3)return!1;break;case"Fit":case"FitB":return 0===a;case"FitH":case"FitBH":case"FitV":case"FitBV":if(a>1)return!1;break;case"FitR":if(4!==a)return!1;o=!1;break;default:return!1}for(let t of n)if("number"!=typeof t&&(!o||null!==t))return!1;return!0}).bind(null,ed,t=>"object"==typeof t&&"string"==typeof t?.name);class eu{#is=new Map;#ia=Promise.resolve();postMessage(t,e){let i={data:structuredClone(t,e?{transfer:e}:null)};this.#ia.then(()=>{for(let[t]of this.#is)t.call(this,i)})}addEventListener(t,e,i=null){let r=null;if(i?.signal instanceof AbortSignal){let{signal:s}=i;if(s.aborted)return void Y("LoopbackPort - cannot use an `aborted` signal.");let n=()=>this.removeEventListener(t,e);r=()=>s.removeEventListener("abort",n),s.addEventListener("abort",n)}this.#is.set(e,r)}removeEventListener(t,e){let i=this.#is.get(e);i?.(),this.#is.delete(e)}terminate(){for(let[,t]of this.#is)t?.();this.#is.clear()}}function ep(){}function eg(t){if(t instanceof to||t instanceof ts||t instanceof ti||t instanceof tn||t instanceof tr)return t;switch(!(t instanceof Error||"object"==typeof t&&null!==t)&&K('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),t.name){case"AbortException":return new to(t.message);case"InvalidPDFException":return new ts(t.message);case"PasswordException":return new ti(t.message,t.code);case"ResponseException":return new tn(t.message,t.status,t.missing);case"UnknownErrorException":return new tr(t.message,t.details)}return new tr(t.message,t.toString())}class ef{#io=new AbortController;constructor(t,e,i){this.sourceName=t,this.targetName=e,this.comObj=i,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),i.addEventListener("message",this.#il.bind(this),{signal:this.#io.signal})}#il({data:t}){if(t.targetName!==this.sourceName)return;if(t.stream)return void this.#ih(t);if(t.callback){let e=t.callbackId,i=this.callbackCapabilities[e];if(!i)throw Error(`Cannot resolve callback ${e}`);if(delete this.callbackCapabilities[e],1===t.callback)i.resolve(t.data);else if(2===t.callback)i.reject(eg(t.reason));else throw Error("Unexpected callback case");return}let e=this.actionHandler[t.action];if(!e)throw Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){let i=this.sourceName,r=t.sourceName,s=this.comObj;Promise.try(e,t.data).then(function(e){s.postMessage({sourceName:i,targetName:r,callback:1,callbackId:t.callbackId,data:e})},function(e){s.postMessage({sourceName:i,targetName:r,callback:2,callbackId:t.callbackId,reason:eg(e)})});return}t.streamId?this.#id(t):e(t.data)}on(t,e){let i=this.actionHandler;if(i[t])throw Error(`There is already an actionName called "${t}"`);i[t]=e}send(t,e,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},i)}
2sendWithPromise(t,e,i){let r=this.callbackId++,s=Promise.withResolvers();this.callbackCapabilities[r]=s;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:r,data:e},i)}catch(t){s.reject(t)}return s.promise}sendWithStream(t,e,i,r){let s=this.streamId++,n=this.sourceName,a=this.targetName,o=this.comObj;return new ReadableStream({start:i=>{let l=Promise.withResolvers();return this.streamControllers[s]={controller:i,startCall:l,pullCall:null,cancelCall:null,isClosed:!1},o.postMessage({sourceName:n,targetName:a,action:t,streamId:s,data:e,desiredSize:i.desiredSize},r),l.promise},pull:t=>{let e=Promise.withResolvers();return this.streamControllers[s].pullCall=e,o.postMessage({sourceName:n,targetName:a,stream:6,streamId:s,desiredSize:t.desiredSize}),e.promise},cancel:t=>{J(t instanceof Error,"cancel must have a valid reason");let e=Promise.withResolvers();return this.streamControllers[s].cancelCall=e,this.streamControllers[s].isClosed=!0,o.postMessage({sourceName:n,targetName:a,stream:1,streamId:s,reason:eg(t)}),e.promise}},i)}#id(t){let e=t.streamId,i=this.sourceName,r=t.sourceName,s=this.comObj,n=this,a=this.actionHandler[t.action],o={enqueue(t,n=1,a){if(this.isCancelled)return;let o=this.desiredSize;this.desiredSize-=n,o>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),s.postMessage({sourceName:i,targetName:r,stream:4,streamId:e,chunk:t},a)},close(){this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:i,targetName:r,stream:3,streamId:e}),delete n.streamSinks[e])},error(t){J(t instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,s.postMessage({sourceName:i,targetName:r,stream:5,streamId:e,reason:eg(t)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};o.sinkCapability.resolve(),o.ready=o.sinkCapability.promise,this.streamSinks[e]=o,Promise.try(a,t.data,o).then(function(){s.postMessage({sourceName:i,targetName:r,stream:8,streamId:e,success:!0})},function(t){s.postMessage({sourceName:i,targetName:r,stream:8,streamId:e,reason:eg(t)})})}#ih(t){let e=t.streamId,i=this.sourceName,r=t.sourceName,s=this.comObj,n=this.streamControllers[e],a=this.streamSinks[e];switch(t.stream){case 8:t.success?n.startCall.resolve():n.startCall.reject(eg(t.reason));break;case 7:t.success?n.pullCall.resolve():n.pullCall.reject(eg(t.reason));break;case 6:if(!a){s.postMessage({sourceName:i,targetName:r,stream:7,streamId:e,success:!0});break}a.desiredSize<=0&&t.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=t.desiredSize,Promise.try(a.onPull||ep).then(function(){s.postMessage({sourceName:i,targetName:r,stream:7,streamId:e,success:!0})},function(t){s.postMessage({sourceName:i,targetName:r,stream:7,streamId:e,reason:eg(t)})});break;case 4:if(J(n,"enqueue should have stream controller"),n.isClosed)break;n.controller.enqueue(t.chunk);break;case 3:if(J(n,"close should have stream controller"),n.isClosed)break;n.isClosed=!0,n.controller.close(),this.#ic(n,e);break;case 5:J(n,"error should have stream controller"),n.controller.error(eg(t.reason)),this.#ic(n,e);break;case 2:t.success?n.cancelCall.resolve():n.cancelCall.reject(eg(t.reason)),this.#ic(n,e);break;case 1:if(!a)break;let o=eg(t.reason);Promise.try(a.onCancel||ep,o).then(function(){s.postMessage({sourceName:i,targetName:r,stream:2,streamId:e,success:!0})},function(t){s.postMessage({sourceName:i,targetName:r,stream:2,streamId:e,reason:eg(t)})}),a.sinkCapability.reject(o),a.isCancelled=!0,delete this.streamSinks[e];break;default:throw Error("Unexpected stream case")}}async #ic(t,e){await Promise.allSettled([t.startCall?.promise,t.pullCall?.promise,t.cancelCall?.promise]),delete this.streamControllers[e]}destroy(){this.#io?.abort(),this.#io=null}}class em{#iu=!1;constructor({enableHWA:t=!1}){this.#iu=t}create(t,e){if(t<=0||e<=0)throw Error("Invalid canvas size");let i=this._createCanvas(t,e);return{canvas:i,context:i.getContext("2d",{willReadFrequently:!this.#iu})}}reset(t,e,i){if(!t.canvas)throw Error("Canvas is not specified");if(e<=0||i<=0)throw Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=i}destroy(t){if(!t.canvas)throw Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){K("Abstract method `_createCanvas` called.")}}class eb extends em{constructor({ownerDocument:t=globalThis.document,enableHWA:e=!1}){super({enableHWA:e}),this._document=t}_createCanvas(t,e){let i=this._document.createElement("canvas");return i.width=t,i.height=e,i}}class ev{constructor({baseUrl:t=null,isCompressed:e=!0}){this.baseUrl=t,this.isCompressed=e}async fetch({name:t}){if(!this.baseUrl)throw Error("Ensure that the `cMapUrl` and `cMapPacked` API parameters are provided.");if(!t)throw Error("CMap name must be specified.");let e=this.baseUrl+t+(this.isCompressed?".bcmap":"");return this._fetch(e).then(t=>({cMapData:t,isCompressed:this.isCompressed})).catch(t=>{throw Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${e}`)})}async _fetch(t){K("Abstract method `_fetch` called.")}}class ey extends ev{async _fetch(t){let e=await tS(t,this.isCompressed?"arraybuffer":"text");return e instanceof ArrayBuffer?new Uint8Array(e):th(e)}}L(2489);class ew{addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addHighlightHCMFilter(t,e,i,r,s){return"none"}destroy(t=!1){}}class ex extends ew{#ip;#ig;#im;#ib;#iv;#iy;#x=0;constructor({docId:t,ownerDocument:e=globalThis.document}){super(),this.#ib=t,this.#iv=e}get #_(){return this.#ig||=new Map}get #iw(){return this.#iy||=new Map}get #ix(){if(!this.#im){let t=this.#iv.createElement("div"),{style:e}=t;e.visibility="hidden",e.contain="strict",e.width=e.height=0,e.position="absolute",e.top=e.left=0,e.zIndex=-1;
2let i=this.#iv.createElementNS(tA,"svg");i.setAttribute("width",0),i.setAttribute("height",0),this.#im=this.#iv.createElementNS(tA,"defs"),t.append(i),i.append(this.#im),this.#iv.body.append(t)}return this.#im}#iA(t){if(1===t.length){let e=t[0],i=Array(256);for(let t=0;t<256;t++)i[t]=e[t]/255;let r=i.join(",");return[r,r,r]}let[e,i,r]=t,s=Array(256),n=Array(256),a=Array(256);for(let t=0;t<256;t++)s[t]=e[t]/255,n[t]=i[t]/255,a[t]=r[t]/255;return[s.join(","),n.join(","),a.join(",")]}#i_(t){if(void 0===this.#ip){this.#ip="";let t=this.#iv.URL;t!==this.#iv.baseURI&&(tC(t)?Y('#createUrl: ignore "data:"-URL for performance reasons.'):this.#ip=Z(t,""))}return`url(${this.#ip}#${t})`}addFilter(t){if(!t)return"none";let e=this.#_.get(t);if(e)return e;let[i,r,s]=this.#iA(t),n=1===t.length?i:`${i}${r}${s}`;if(e=this.#_.get(n))return this.#_.set(t,e),e;let a=`g_${this.#ib}_transfer_map_${this.#x++}`,o=this.#i_(a);this.#_.set(t,o),this.#_.set(n,o);let l=this.#iS(a);return this.#iE(i,r,s,l),o}addHCMFilter(t,e){let i=`${t}-${e}`,r="base",s=this.#iw.get(r);if(s?.key===i||(s?(s.filter?.remove(),s.key=i,s.url="none",s.filter=null):(s={key:i,url:"none",filter:null},this.#iw.set(r,s)),!t||!e))return s.url;let n=this.#iT(t);t=tu.makeHexColor(...n);let a=this.#iT(e);if(e=tu.makeHexColor(...a),this.#ix.style.color="","#000000"===t&&"#ffffff"===e||t===e)return s.url;let o=Array(256);for(let t=0;t<=255;t++){let e=t/255;o[t]=e<=.03928?e/12.92:((e+.055)/1.055)**2.4}let l=o.join(","),h=`g_${this.#ib}_hcm_filter`,d=s.filter=this.#iS(h);this.#iE(l,l,l,d),this.#iC(d);let c=(t,e)=>{let i=n[t]/255,r=a[t]/255,s=Array(e+1);for(let t=0;t<=e;t++)s[t]=i+t/e*(r-i);return s.join(",")};return this.#iE(c(0,5),c(1,5),c(2,5),d),s.url=this.#i_(h),s.url}addAlphaFilter(t){let e=this.#_.get(t);if(e)return e;let[i]=this.#iA([t]),r=`alpha_${i}`;if(e=this.#_.get(r))return this.#_.set(t,e),e;let s=`g_${this.#ib}_alpha_map_${this.#x++}`,n=this.#i_(s);this.#_.set(t,n),this.#_.set(r,n);let a=this.#iS(s);return this.#iM(i,a),n}addLuminosityFilter(t){let e,i,r=this.#_.get(t||"luminosity");if(r)return r;if(t?([e]=this.#iA([t]),i=`luminosity_${e}`):i="luminosity",r=this.#_.get(i))return this.#_.set(t,r),r;let s=`g_${this.#ib}_luminosity_map_${this.#x++}`,n=this.#i_(s);this.#_.set(t,n),this.#_.set(i,n);let a=this.#iS(s);return this.#ik(a),t&&this.#iM(e,a),n}addHighlightHCMFilter(t,e,i,r,s){let n=`${e}-${i}-${r}-${s}`,a=this.#iw.get(t);if(a?.key===n||(a?(a.filter?.remove(),a.key=n,a.url="none",a.filter=null):(a={key:n,url:"none",filter:null},this.#iw.set(t,a)),!e||!i))return a.url;let[o,l]=[e,i].map(this.#iT.bind(this)),h=Math.round(.2126*o[0]+.7152*o[1]+.0722*o[2]),d=Math.round(.2126*l[0]+.7152*l[1]+.0722*l[2]),[c,u]=[r,s].map(this.#iT.bind(this));d<h&&([h,d,c,u]=[d,h,u,c]),this.#ix.style.color="";let p=(t,e,i)=>{let r=Array(256),s=(d-h)/i,n=t/255,a=(e-t)/(255*i),o=0;for(let t=0;t<=i;t++){let e=Math.round(h+t*s),i=n+t*a;for(let t=o;t<=e;t++)r[t]=i;o=e+1}for(let t=o;t<256;t++)r[t]=r[o-1];return r.join(",")},g=`g_${this.#ib}_hcm_${t}_filter`,f=a.filter=this.#iS(g);return this.#iC(f),this.#iE(p(c[0],u[0],5),p(c[1],u[1],5),p(c[2],u[2],5),f),a.url=this.#i_(g),a.url}destroy(t=!1){t&&this.#iy?.size||(this.#im?.parentNode.parentNode.remove(),this.#im=null,this.#ig?.clear(),this.#ig=null,this.#iy?.clear(),this.#iy=null,this.#x=0)}#ik(t){let e=this.#iv.createElementNS(tA,"feColorMatrix");e.setAttribute("type","matrix"),e.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),t.append(e)}#iC(t){let e=this.#iv.createElementNS(tA,"feColorMatrix");e.setAttribute("type","matrix"),e.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),t.append(e)}#iS(t){let e=this.#iv.createElementNS(tA,"filter");return e.setAttribute("color-interpolation-filters","sRGB"),e.setAttribute("id",t),this.#ix.append(e),e}#iP(t,e,i){let r=this.#iv.createElementNS(tA,e);r.setAttribute("type","discrete"),r.setAttribute("tableValues",i),t.append(r)}#iE(t,e,i,r){let s=this.#iv.createElementNS(tA,"feComponentTransfer");r.append(s),this.#iP(s,"feFuncR",t),this.#iP(s,"feFuncG",e),this.#iP(s,"feFuncB",i)}#iM(t,e){let i=this.#iv.createElementNS(tA,"feComponentTransfer");e.append(i),this.#iP(i,"feFuncA",t)}#iT(t){return this.#ix.style.color=t,tN(getComputedStyle(this.#ix).getPropertyValue("color"))}}class eA{constructor({baseUrl:t=null}){this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw Error("Ensure that the `standardFontDataUrl` API parameter is provided.");if(!t)throw Error("Font filename must be specified.");let e=`${this.baseUrl}${t}`;return this._fetch(e).catch(t=>{throw Error(`Unable to load font data at: ${e}`)})}async _fetch(t){K("Abstract method `_fetch` called.")}}class e_ extends eA{async _fetch(t){return new Uint8Array(await tS(t,"arraybuffer"))}}class eS{constructor({baseUrl:t=null}){this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw Error("Ensure that the `wasmUrl` API parameter is provided.");if(!t)throw Error("Wasm filename must be specified.");let e=`${this.baseUrl}${t}`;return this._fetch(e).catch(t=>{throw Error(`Unable to load wasm data at: ${e}`)})}async _fetch(t){K("Abstract method `_fetch` called.")}}class eE extends eS{async _fetch(t){return new Uint8Array(await tS(t,"arraybuffer"))}}if(B){let t;try{let e=w.default.getBuiltinModule("module").createRequire(E.url);try{t=e("@napi-rs/canvas")}catch(t){Y(`Cannot load "@napi-rs/canvas" package: "${t}".`)}}catch(t){Y(`Cannot access the \`require\` function: "${t}".`)}globalThis.DOMMatrix||(t?.DOMMatrix?globalThis.DOMMatrix=t.DOMMatrix:Y("Cannot polyfill `DOMMatrix`, rendering may be broken.")),globalThis.ImageData||(t?.ImageData?globalThis.ImageData=t.ImageData:Y("Cannot polyfill `ImageData`, rendering may be broken.")),globalThis.Path2D||(t?.Path2D?globalThis.Path2D=t.Path2D:Y("Cannot polyfill `Path2D`, rendering may be broken.")),globalThis.navigator?.language||(globalThis.navigator={language:"en-US",platform:"",userAgent:""})}async function eT(t){let e=w.default.getBuiltinModule("fs");return new Uint8Array(await e.promises.readFile(t))}class eC extends ew{}class eM extends em{_createCanvas(t,e){return w.default.getBuiltinModule("module").createRequire(E.url)("@napi-rs/canvas").createCanvas(t,e)}}class ek extends ev{async _fetch(t){return eT(t)}}class eP extends eA{async _fetch(t){return eT(t)}}class eD extends eS{async _fetch(t){return eT(t)}}L(7588);let eI="__forcedDependency",{floor:eR,ceil:eL}=Math;function eB(t,e,i,r,s,n){t[4*e+0]=Math.min(t[4*e+0],i),t[4*e+1]=Math.min(t[4*e+1],r),t[4*e+2]=Math.max(t[4*e+2],s),t[4*e+3]=Math.max(t[4*e+3],n)}let eF=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class eN{#iD;#iI;constructor(t,e){this.#iD=t,this.#iI=e}get length(){return this.#iD.length}isEmpty(t){return this.#iD[t]===eF}minX(t){return this.#iI[4*t+0]/256}minY(t){return this.#iI[4*t+1]/256}maxX(t){return(this.#iI[4*t+2]+1)/256}maxY(t){return(this.#iI[4*t+3]+1)/256}}let eO=(t,e)=>{if(!t)return;let i=t.get(e);
2return i||(i={dependencies:new Set,isRenderingOperation:!1},t.set(e,i)),i};class ej{#iR={__proto__:null};#iL={__proto__:null,transform:[],moveText:[],sameLineText:[],[eI]:[]};#iB=new Map;#iF=[];#iN=[];#iO=[[1,0,0,1,0,0]];#ij=[-1/0,-1/0,1/0,1/0];#iU=new Float64Array([1/0,1/0,-1/0,-1/0]);#iz=-1;#i$=new Set;#iH=new Map;#iG=new Map;#iV;#iW;#iq;#iD;#iX;constructor(t,e,i=!1){this.#iV=t.width,this.#iW=t.height,this.#iY(e),i&&(this.#iX=new Map)}growOperationsCount(t){t>=this.#iD.length&&this.#iY(t,this.#iD)}#iY(t,e){let i=new ArrayBuffer(4*t);this.#iq=new Uint8ClampedArray(i),this.#iD=new Uint32Array(i),e&&e.length>0?(this.#iD.set(e),this.#iD.fill(eF,e.length)):this.#iD.fill(eF)}save(t){return this.#iR={__proto__:this.#iR},this.#iL={__proto__:this.#iL,transform:{__proto__:this.#iL.transform},moveText:{__proto__:this.#iL.moveText},sameLineText:{__proto__:this.#iL.sameLineText},[eI]:{__proto__:this.#iL[eI]}},this.#ij={__proto__:this.#ij},this.#iF.push(t),this}restore(t){let e=Object.getPrototypeOf(this.#iR);if(null===e)return this;this.#iR=e,this.#iL=Object.getPrototypeOf(this.#iL),this.#ij=Object.getPrototypeOf(this.#ij);let i=this.#iF.pop();return void 0!==i&&(eO(this.#iX,t)?.dependencies.add(i),this.#iD[t]=this.#iD[i]),this}recordOpenMarker(t){return this.#iF.push(t),this}getOpenMarker(){return 0===this.#iF.length?null:this.#iF.at(-1)}recordCloseMarker(t){let e=this.#iF.pop();return void 0!==e&&(eO(this.#iX,t)?.dependencies.add(e),this.#iD[t]=this.#iD[e]),this}beginMarkedContent(t){return this.#iN.push(t),this}endMarkedContent(t){let e=this.#iN.pop();return void 0!==e&&(eO(this.#iX,t)?.dependencies.add(e),this.#iD[t]=this.#iD[e]),this}pushBaseTransform(t){return this.#iO.push(tu.multiplyByDOMMatrix(this.#iO.at(-1),t.getTransform())),this}popBaseTransform(){return this.#iO.length>1&&this.#iO.pop(),this}recordSimpleData(t,e){return this.#iR[t]=e,this}recordIncrementalData(t,e){return this.#iL[t].push(e),this}resetIncrementalData(t,e){return this.#iL[t].length=0,this}recordNamedData(t,e){return this.#iB.set(t,e),this}recordSimpleDataFromNamed(t,e,i){this.#iR[t]=this.#iB.get(e)??i}recordFutureForcedDependency(t,e){return this.recordIncrementalData(eI,e),this}inheritSimpleDataAsFutureForcedDependencies(t){for(let e of t)e in this.#iR&&this.recordFutureForcedDependency(e,this.#iR[e]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let t of this.#i$)this.recordFutureForcedDependency(eI,t);return this}resetBBox(t){return this.#iz!==t&&(this.#iz=t,this.#iU[0]=1/0,this.#iU[1]=1/0,this.#iU[2]=-1/0,this.#iU[3]=-1/0),this}recordClipBox(t,e,i,r,s,n){let a=tu.multiplyByDOMMatrix(this.#iO.at(-1),e.getTransform()),o=[1/0,1/0,-1/0,-1/0];tu.axialAlignedBoundingBox([i,s,r,n],a,o);let l=tu.intersect(this.#ij,o);return l?(this.#ij[0]=l[0],this.#ij[1]=l[1],this.#ij[2]=l[2],this.#ij[3]=l[3]):(this.#ij[0]=this.#ij[1]=1/0,this.#ij[2]=this.#ij[3]=-1/0),this}recordBBox(t,e,i,r,s,n){let a=this.#ij;if(a[0]===1/0)return this;let o=tu.multiplyByDOMMatrix(this.#iO.at(-1),e.getTransform());if(a[0]===-1/0)return tu.axialAlignedBoundingBox([i,s,r,n],o,this.#iU),this;let l=[1/0,1/0,-1/0,-1/0];return tu.axialAlignedBoundingBox([i,s,r,n],o,l),this.#iU[0]=Math.min(this.#iU[0],Math.max(l[0],a[0])),this.#iU[1]=Math.min(this.#iU[1],Math.max(l[1],a[1])),this.#iU[2]=Math.max(this.#iU[2],Math.min(l[2],a[2])),this.#iU[3]=Math.max(this.#iU[3],Math.min(l[3],a[3])),this}recordCharacterBBox(t,e,i,r=1,s=0,n=0,a){let o,l,h=i.bbox;if(h&&!1!==(o=h[2]!==h[0]&&h[3]!==h[1]&&this.#iG.get(i))&&(l=[0,0,0,0],tu.axialAlignedBoundingBox(h,i.fontMatrix,l),(1!==r||0!==s||
20!==n)&&tu.scaleMinMax([r,0,0,-r,s,n],l),o))return this.recordBBox(t,e,l[0],l[2],l[1],l[3]);if(!a)return this.recordFullPageBBox(t);let d=a();return h&&l&&void 0===o&&(o=l[0]<=s-d.actualBoundingBoxLeft&&l[2]>=s+d.actualBoundingBoxRight&&l[1]<=n-d.actualBoundingBoxAscent&&l[3]>=n+d.actualBoundingBoxDescent,this.#iG.set(i,o),o)?this.recordBBox(t,e,l[0],l[2],l[1],l[3]):this.recordBBox(t,e,s-d.actualBoundingBoxLeft,s+d.actualBoundingBoxRight,n-d.actualBoundingBoxAscent,n+d.actualBoundingBoxDescent)}recordFullPageBBox(t){return this.#iU[0]=Math.max(0,this.#ij[0]),this.#iU[1]=Math.max(0,this.#ij[1]),this.#iU[2]=Math.min(this.#iV,this.#ij[2]),this.#iU[3]=Math.min(this.#iW,this.#ij[3]),this}getSimpleIndex(t){return this.#iR[t]}recordDependencies(t,e){let i=this.#i$,r=this.#iR,s=this.#iL;for(let t of e)t in this.#iR?i.add(r[t]):t in s&&s[t].forEach(i.add,i);return this}recordNamedDependency(t,e){return this.#iB.has(e)&&this.#i$.add(this.#iB.get(e)),this}recordOperation(t,e=!1){if(this.recordDependencies(t,[eI]),this.#iX){let e=eO(this.#iX,t),{dependencies:i}=e;this.#i$.forEach(i.add,i),this.#iF.forEach(i.add,i),this.#iN.forEach(i.add,i),i.delete(t),e.isRenderingOperation=!0}if(this.#iz===t){let i=eR(256*this.#iU[0]/this.#iV),r=eR(256*this.#iU[1]/this.#iW),s=eL(256*this.#iU[2]/this.#iV),n=eL(256*this.#iU[3]/this.#iW);for(let e of(eB(this.#iq,t,i,r,s,n),this.#i$))e!==t&&eB(this.#iq,e,i,r,s,n);for(let e of this.#iF)e!==t&&eB(this.#iq,e,i,r,s,n);for(let e of this.#iN)e!==t&&eB(this.#iq,e,i,r,s,n);e||(this.#i$.clear(),this.#iz=-1)}return this}recordShowTextOperation(t,e=!1){let i=Array.from(this.#i$);for(let r of(this.recordOperation(t,e),this.recordIncrementalData("sameLineText",t),i))this.recordIncrementalData("sameLineText",r);return this}bboxToClipBoxDropOperation(t,e=!1){return this.#iz===t&&(this.#iz=-1,this.#ij[0]=Math.max(this.#ij[0],this.#iU[0]),this.#ij[1]=Math.max(this.#ij[1],this.#iU[1]),this.#ij[2]=Math.min(this.#ij[2],this.#iU[2]),this.#ij[3]=Math.min(this.#ij[3],this.#iU[3]),e||this.#i$.clear()),this}_takePendingDependencies(){let t=this.#i$;return this.#i$=new Set,t}_extractOperation(t){let e=this.#iH.get(t);return this.#iH.delete(t),e}_pushPendingDependencies(t){for(let e of t)this.#i$.add(e)}take(){return this.#iG.clear(),new eN(this.#iD,this.#iq)}takeDebugMetadata(){return this.#iX}}class eU{#iK;#iJ;#iQ;#iZ=0;#i0=0;constructor(t,e,i){if(t instanceof eU&&!!i===t.#iQ)return t;this.#iK=t,this.#iJ=e,this.#iQ=!!i}growOperationsCount(){throw Error("Unreachable")}save(t){return this.#i0++,this.#iK.save(this.#iJ),this}restore(t){return this.#i0>0&&(this.#iK.restore(this.#iJ),this.#i0--),this}recordOpenMarker(t){return this.#iZ++,this}getOpenMarker(){return this.#iZ>0?this.#iJ:this.#iK.getOpenMarker()}recordCloseMarker(t){return this.#iZ--,this}beginMarkedContent(t){return this}endMarkedContent(t){return this}pushBaseTransform(t){return this.#iK.pushBaseTransform(t),this}popBaseTransform(){return this.#iK.popBaseTransform(),this}recordSimpleData(t,e){return this.#iK.recordSimpleData(t,this.#iJ),this}recordIncrementalData(t,e){return this.#iK.recordIncrementalData(t,this.#iJ),this}resetIncrementalData(t,e){return this.#iK.resetIncrementalData(t,this.#iJ),this}recordNamedData(t,e){return this}recordSimpleDataFromNamed(t,e,i){return this.#iK.recordSimpleDataFromNamed(t,e,this.#iJ),this}recordFutureForcedDependency(t,e){return this.#iK.recordFutureForcedDependency(t,this.#iJ),this}inheritSimpleDataAsFutureForcedDependencies(t){return this.#iK.inheritSimpleDataAsFutureForcedDependencies(t),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#iK.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(t){return this.#iQ||this.#iK.resetBBox(this.#iJ),this}recordClipBox(t,e,i,r,s,n){return this.#iQ||this.#iK.recordClipBox(this.#iJ,e,i,r,s,n),this}recordBBox(t,e,i,r,s,n){return this.#iQ||this.#iK.recordBBox(this.#iJ,e,i,r,s,n),this}recordCharacterBBox(t,e,i,r,s,n,a){return this.#iQ||this.#iK.recordCharacterBBox(this.#iJ,e,i,r,s,n,a),this}recordFullPageBBox(t){return this.#iQ||this.#iK.recordFullPageBBox(this.#iJ),this}getSimpleIndex(t){return this.#iK.getSimpleIndex(t)}recordDependencies(t,e){return this.#iK.recordDependencies(this.#iJ,e),this}recordNamedDependency(t,e){return this.#iK.recordNamedDependency(this.#iJ,e),this}recordOperation(t){return this.#iK.recordOperation(this.#iJ,!0),this}recordShowTextOperation(t){return this.#iK.recordShowTextOperation(this.#iJ,!0),this}bboxToClipBoxDropOperation(t){return this.#iQ||this.#iK.bboxToClipBoxDropOperation(this.#iJ,!0),this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}let ez=["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],e$=["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],eH=["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],eG=["filter","fillColor","fillAlpha"],eV=["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],eW=["transform"],eq=["transform","fillColor"],eX="Fill",eY="Stroke",eK="Shading";function eJ(t,e){if(!e)return;let i=e[2]-e[0],r=e[3]-e[1],s=new Path2D;s.rect(e[0],e[1],i,r),t.clip(s)}class eQ{isModifyingCurrentTransform(){return!1}getPattern(){K("Abstract method `getPattern` called.")}}class eZ extends eQ{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;for(let i of("axial"===this._type?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1)),this._colorStops))e.addColorStop(i[0],i[1]);return e}getPattern(t,e,i,r){let s;if(r===eY||r===eX){let n=e.current.getClippedPathBoundingBox(r,tO(t))||[0,0,0,0],a=Math.ceil(n[2]-n[0])||1,o=Math.ceil(n[3]-n[1])||1,l=e.cachedCanvases.getCanvas("pattern",a,o),h=l.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-n[0],-n[1]),i=tu.transform(i,[1,0,0,1,n[0],n[1]]),h.transform(...e.baseTransform),this.matrix&&h.transform(...this.matrix
2),eJ(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),s=t.createPattern(l.canvas,"no-repeat");let d=new DOMMatrix(i);s.setTransform(d)}else eJ(t,this._bbox),s=this._createGradient(t);return s}}function e0(t,e,i,r,s,n,a,o){let l,h,d,c,u,p,g,f,m,b=e.coords,v=e.colors,y=t.data,w=4*t.width;b[i+1]>b[r+1]&&(l=i,i=r,r=l,l=n,n=a,a=l),b[r+1]>b[s+1]&&(l=r,r=s,s=l,l=a,a=o,o=l),b[i+1]>b[r+1]&&(l=i,i=r,r=l,l=n,n=a,a=l);let x=(b[i]+e.offsetX)*e.scaleX,A=(b[i+1]+e.offsetY)*e.scaleY,_=(b[r]+e.offsetX)*e.scaleX,S=(b[r+1]+e.offsetY)*e.scaleY,E=(b[s]+e.offsetX)*e.scaleX,T=(b[s+1]+e.offsetY)*e.scaleY;if(A>=T)return;let C=v[n],M=v[n+1],k=v[n+2],P=v[a],D=v[a+1],I=v[a+2],R=v[o],L=v[o+1],B=v[o+2],F=Math.round(A),N=Math.round(T);for(let t=F;t<=N;t++){let e;if(t<S){let e=t<A?0:(A-t)/(A-S);h=x-(x-_)*e,d=C-(C-P)*e,c=M-(M-D)*e,u=k-(k-I)*e}else{let e;h=_-(_-E)*(e=t>T?1:S===T?0:(S-t)/(S-T)),d=P-(P-R)*e,c=D-(D-L)*e,u=I-(I-B)*e}p=x-(x-E)*(e=t<A?0:t>T?1:(A-t)/(A-T)),g=C-(C-R)*e,f=M-(M-L)*e,m=k-(k-B)*e;let i=Math.round(Math.min(h,p)),r=Math.round(Math.max(h,p)),s=w*t+4*i;for(let t=i;t<=r;t++)(e=(h-t)/(h-p))<0?e=0:e>1&&(e=1),y[s++]=d-(d-g)*e|0,y[s++]=c-(c-f)*e|0,y[s++]=u-(u-m)*e|0,y[s++]=255}}class e1 extends eQ{constructor(t){super(),this._coords=t[2],this._colors=t[3],this._figures=t[4],this._bounds=t[5],this._bbox=t[6],this._background=t[7],this.matrix=null}_createMeshCanvas(t,e,i){let r=Math.floor(this._bounds[0]),s=Math.floor(this._bounds[1]),n=Math.ceil(this._bounds[2])-r,a=Math.ceil(this._bounds[3])-s,o=Math.min(Math.ceil(Math.abs(n*t[0]*1.1)),3e3),l=Math.min(Math.ceil(Math.abs(a*t[1]*1.1)),3e3),h=n/o,d=a/l,c={coords:this._coords,colors:this._colors,offsetX:-r,offsetY:-s,scaleX:1/h,scaleY:1/d},u=o+4,p=l+4,g=i.getCanvas("mesh",u,p),f=g.context,m=f.createImageData(o,l);if(e){let t=m.data;for(let i=0,r=t.length;i<r;i+=4)t[i]=e[0],t[i+1]=e[1],t[i+2]=e[2],t[i+3]=255}for(let t of this._figures)!function(t,e,i){let r,s,n=e.coords,a=e.colors;switch(e.type){case"lattice":let o=e.verticesPerRow,l=Math.floor(n.length/o)-1,h=o-1;for(r=0;r<l;r++){let e=r*o;for(let r=0;r<h;r++,e++)e0(t,i,n[e],n[e+1],n[e+o],a[e],a[e+1],a[e+o]),e0(t,i,n[e+o+1],n[e+1],n[e+o],a[e+o+1],a[e+1],a[e+o])}break;case"triangles":for(r=0,s=n.length;r<s;r+=3)e0(t,i,n[r],n[r+1],n[r+2],a[r],a[r+1],a[r+2]);break;default:throw Error("illegal figure")}}(m,t,c);return f.putImageData(m,2,2),{canvas:g.canvas,offsetX:r-2*h,offsetY:s-2*d,scaleX:h,scaleY:d}}isModifyingCurrentTransform(){return!0}getPattern(t,e,i,r){eJ(t,this._bbox);let s=new Float32Array(2);if(r===eK)tu.singularValueDecompose2dScale(tO(t),s);else if(this.matrix){tu.singularValueDecompose2dScale(this.matrix,s);let[t,i]=s;tu.singularValueDecompose2dScale(e.baseTransform,s),s[0]*=t,s[1]*=i}else tu.singularValueDecompose2dScale(e.baseTransform,s);let n=this._createMeshCanvas(s,r===eK?null:this._background,e.cachedCanvases);return r!==eK&&(t.setTransform(...e.baseTransform),this.matrix&&t.transform(...this.matrix)),t.translate(n.offsetX,n.offsetY),t.scale(n.scaleX,n.scaleY),t.createPattern(n.canvas,"no-repeat")}}class e2 extends eQ{getPattern(){return"hotpink"}}class e5{static MAX_PATTERN_SIZE=3e3;constructor(t,e,i,r){this.color=t[1],this.operatorList=t[2],this.matrix=t[3],this.bbox=t[4],this.xstep=t[5],this.ystep=t[6],this.paintType=t[7],this.tilingType=t[8],this.ctx=e,this.canvasGraphicsFactory=i,this.baseTransform=r}createPatternCanvas(t,e){let{bbox:i,operatorList:r,paintType:s,tilingType:n,color:a,canvasGraphicsFactory:o}=this,{xstep:l,ystep:h}=this;l=Math.abs(l),h=Math.abs(h),X("TilingType: "+n);let d=i[0],c=i[1],u=i[2],p=i[3],g=u-d,f=p-c,m=new Float32Array(2);tu.singularValueDecompose2dScale(this.matrix,m);let[b,v]=m;tu.singularValueDecompose2dScale(this.baseTransform,m);let y=b*m[0],w=v*m[1],x=g,A=f,_=!1,S=!1,E=Math.ceil(h*w),T=Math.ceil(f*w);Math.ceil(l*y)>=Math.ceil(g*y)?x=l:_=!0,E>=T?A=h:S=!0;let C=this.getSizeAndScale(x,this.ctx.canvas.width,y),M=this.getSizeAndScale(A,this.ctx.canvas.height,w),k=t.cachedCanvases.getCanvas("pattern",C.size,M.size),P=k.context,D=o.createCanvasGraphics(P,e);if(D.groupLevel=t.groupLevel,this.setFillAndStrokeStyleToContext(D,s,a),P.translate(-C.scale*d,-M.scale*c),D.transform(0,C.scale,0,0,M.scale,0,0),P.save(),D.dependencyTracker?.save(),this.clipBbox(D,d,c,u,p),D.baseTransform=tO(D.ctx),D.executeOperatorList(r),D.endDrawing(),D.dependencyTracker?.restore(
2),P.restore(),_||S){let e=k.canvas;_&&(x=l),S&&(A=h);let i=this.getSizeAndScale(x,this.ctx.canvas.width,y),r=this.getSizeAndScale(A,this.ctx.canvas.height,w),s=i.size,n=r.size,a=t.cachedCanvases.getCanvas("pattern-workaround",s,n),o=a.context,u=_?Math.floor(g/l):0,p=S?Math.floor(f/h):0;for(let t=0;t<=u;t++)for(let i=0;i<=p;i++)o.drawImage(e,s*t,n*i,s,n,0,0,s,n);return{canvas:a.canvas,scaleX:i.scale,scaleY:r.scale,offsetX:d,offsetY:c}}return{canvas:k.canvas,scaleX:C.scale,scaleY:M.scale,offsetX:d,offsetY:c}}getSizeAndScale(t,e,i){let r=Math.max(e5.MAX_PATTERN_SIZE,e),s=Math.ceil(t*i);return s>=r?s=r:i=s/t,{scale:i,size:s}}clipBbox(t,e,i,r,s){let n=r-e,a=s-i;t.ctx.rect(e,i,n,a),tu.axialAlignedBoundingBox([e,i,r,s],tO(t.ctx),t.current.minMax),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,i){let r=t.ctx,s=t.current;switch(e){case 1:let{fillStyle:n,strokeStyle:a}=this.ctx;r.fillStyle=s.fillColor=n,r.strokeStyle=s.strokeColor=a;break;case 2:r.fillStyle=r.strokeStyle=i,s.fillColor=s.strokeColor=i;break;default:throw new ta(`Unsupported paint type: ${e}`)}}isModifyingCurrentTransform(){return!1}getPattern(t,e,i,r,s){let n=i;r!==eK&&(n=tu.transform(n,e.baseTransform),this.matrix&&(n=tu.transform(n,this.matrix)));let a=this.createPatternCanvas(e,s),o=new DOMMatrix(n);o=(o=o.translate(a.offsetX,a.offsetY)).scale(1/a.scaleX,1/a.scaleY);let l=t.createPattern(a.canvas,"repeat");return l.setTransform(o),l}}let e3=new DOMMatrix,e4=new Float32Array(2),e6=new Float32Array([1/0,1/0,-1/0,-1/0]);class e8{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,i){let r;return void 0!==this.cache[t]?(r=this.cache[t],this.canvasFactory.reset(r,e,i)):(r=this.canvasFactory.create(e,i),this.cache[t]=r),r}delete(t){delete this.cache[t]}clear(){for(let t in this.cache){let e=this.cache[t];this.canvasFactory.destroy(e),delete this.cache[t]}}}function e7(t,e,i,r,s,n,a,o,l,h){let[d,c,u,p,g,f]=tO(t);if(0===c&&0===u){let m=Math.round(a*d+g),b=Math.round(o*p+f),v=Math.abs(Math.round((a+l)*d+g)-m)||1,y=Math.abs(Math.round((o+h)*p+f)-b)||1;return t.setTransform(Math.sign(d),0,0,Math.sign(p),m,b),t.drawImage(e,i,r,s,n,0,0,v,y),t.setTransform(d,c,u,p,g,f),[v,y]}if(0===d&&0===p){let m=Math.round(o*u+g),b=Math.round(a*c+f),v=Math.abs(Math.round((o+h)*u+g)-m)||1,y=Math.abs(Math.round((a+l)*c+f)-b)||1;return t.setTransform(0,Math.sign(c),Math.sign(u),0,m,b),t.drawImage(e,i,r,s,n,0,0,y,v),t.setTransform(d,c,u,p,g,f),[y,v]}return t.drawImage(e,i,r,s,n,a,o,l,h),[Math.hypot(d,c)*l,Math.hypot(u,p)*h]}class e9{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=F;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=0;textRise=0;fillColor="#000000";strokeColor="#000000";patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";constructor(t,e,i){i?.(this),this.clipBox=new Float32Array([0,0,t,e]),this.minMax=e6.slice()}clone(){let t=Object.create(this);return t.clipBox=this.clipBox.slice(),t.minMax=this.minMax.slice(),t}getPathBoundingBox(t=eX,e=null){let i=this.minMax.slice();if(t===eY){e||K("Stroke bounding box must include transform."),tu.singularValueDecompose2dScale(e,e4);let t=e4[0]*this.lineWidth/2,r=e4[1]*this.lineWidth/2;i[0]-=t,i[1]-=r,i[2]+=t,i[3]+=r}return i}updateClipFromPath(){let t=tu.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(t){this.clipBox.set(t,0),this.minMax.set(e6,0)}getClippedPathBoundingBox(t=eX,e=null){return tu.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function it(t,e){let i,r,s,n;if(e instanceof ImageData)return void t.putImageData(e,0,0);let a=e.height,o=e.width,l=a%16,h=(a-l)/16,d=0===l?h:h+1,c=t.createImageData(o,16),u=0,p,g=e.data,f=c.data;if(e.kind===$.GRAYSCALE_1BPP){let e=g.byteLength,n=new Uint32Array(f.buffer,0,f.byteLength>>2),a=n.length,m=o+7>>3,b=td.isLittleEndian?0xff000000:255;for(i=0;i<d;i++){for(r=0,s=i<h?16:l,p=0;r<s;r++){let t=e-u,i=0,r=t>m?o:8*t-7,s=-8&r,a=0,l=0;for(;i<s;i+=8)l=g[u++],n[p++]=128&l?0xffffffff:b,n[p++]=64&l?0xffffffff:b,n[p++]=32&l?0xffffffff:b,n[p++]=16&l?0xffffffff:b,n[p++]=8&l?0xffffffff:b,n[p++]=4&l?0xffffffff:b,n[p++]=2&l?0xffffffff:b,n[p++]=1&l?0xffffffff:b;for(;i<r;i++)0===a&&(l=g[u++],a=128),n[p++]=l&a?0xffffffff:b,a>
2>=1}for(;p<a;)n[p++]=0;t.putImageData(c,0,16*i)}}else if(e.kind===$.RGBA_32BPP){for(i=0,r=0,n=16*o*4;i<h;i++)f.set(g.subarray(u,u+n)),u+=n,t.putImageData(c,0,r),r+=16;i<d&&(n=o*l*4,f.set(g.subarray(u,u+n)),t.putImageData(c,0,r))}else if(e.kind===$.RGB_24BPP)for(i=0,n=o*(s=16);i<d;i++){for(i>=h&&(n=o*(s=l)),p=0,r=n;r--;)f[p++]=g[u++],f[p++]=g[u++],f[p++]=g[u++],f[p++]=255;t.putImageData(c,0,16*i)}else throw Error(`bad image kind: ${e.kind}`)}function ie(t,e){if(e.bitmap)return void t.drawImage(e.bitmap,0,0);let i=e.height,r=e.width,s=i%16,n=(i-s)/16,a=0===s?n:n+1,o=t.createImageData(r,16),l=0,h=e.data,d=o.data;for(let e=0;e<a;e++){let i=e<n?16:s;({srcPos:l}=function({src:t,srcPos:e=0,dest:i,width:r,height:s,nonBlackColor:n=0xffffffff,inverseDecode:a=!1}){let o=td.isLittleEndian?0xff000000:255,[l,h]=a?[n,o]:[o,n],d=r>>3,c=7&r,u=t.length;i=new Uint32Array(i.buffer);let p=0;for(let r=0;r<s;r++){for(let r=e+d;e<r;e++){let r=e<u?t[e]:255;i[p++]=128&r?h:l,i[p++]=64&r?h:l,i[p++]=32&r?h:l,i[p++]=16&r?h:l,i[p++]=8&r?h:l,i[p++]=4&r?h:l,i[p++]=2&r?h:l,i[p++]=1&r?h:l}if(0===c)continue;let r=e<u?t[e++]:255;for(let t=0;t<c;t++)i[p++]=r&1<<7-t?h:l}return{srcPos:e,destPos:p}}({src:h,srcPos:l,dest:d,width:r,height:i,nonBlackColor:0})),t.putImageData(o,0,16*e)}}function ii(t,e){for(let i of["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"])void 0!==t[i]&&(e[i]=t[i]);void 0!==t.setLineDash&&(e.setLineDash(t.getLineDash()),e.lineDashOffset=t.lineDashOffset)}function ir(t){t.strokeStyle=t.fillStyle="#000000",t.fillRule="nonzero",t.globalAlpha=1,t.lineWidth=1,t.lineCap="butt",t.lineJoin="miter",t.miterLimit=10,t.globalCompositeOperation="source-over",t.font="10px sans-serif",void 0!==t.setLineDash&&(t.setLineDash([]),t.lineDashOffset=0);let{filter:e}=t;"none"!==e&&""!==e&&(t.filter="none")}function is(t,e){if(e)return!0;tu.singularValueDecompose2dScale(t,e4);let i=Math.fround(tz.pixelRatio*t_.PDF_TO_CSS_UNITS);return e4[0]<=i&&e4[1]<=i}let ia=["butt","round","square"],io=["miter","round","bevel"],il={},ih={};class id{constructor(t,e,i,r,s,{optionalContentConfig:n,markedContentStack:a=null},o,l,h){this.ctx=t,this.current=new e9(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=e,this.objs=i,this.canvasFactory=r,this.filterFactory=s,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=a||[],this.optionalContentConfig=n,this.cachedCanvases=new e8(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=o,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=l,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=h??null}getObject(t,e,i=null){return"string"==typeof e?(this.dependencyTracker?.recordNamedDependency(t,e),e.startsWith("g_")?this.commonObjs.get(e):this.objs.get(e)):i}beginDrawing({transform:t,viewport:e,transparency:i=!1,background:r=null}){let s=this.ctx.canvas.width,n=this.ctx.canvas.height,a=this.ctx.fillStyle;if(this.ctx.fillStyle=r||"#ffffff",this.ctx.fillRect(0,0,s,n),this.ctx.fillStyle=a,i){let t=this.cachedCanvases.getCanvas("transparent",s,n);this.compositeCtx=this.ctx,this.transparentCanvas=t.canvas,this.ctx=t.context,this.ctx.save(),this.ctx.transform(...tO(this.compositeCtx))}this.ctx.save(),ir(this.ctx),t&&(this.ctx.transform(...t),this.outputScaleX=t[0],this.outputScaleY=t[0]),this.ctx.transform(...e.transform),this.viewportScale=e.scale,this.baseTransform=tO(this.ctx)}executeOperatorList(t,e,i,r,s){let n,a,o=t.argsArray,l=t.fnArray,h=e||0,d=o.length;if(d===h)return h;let c=d-h>10&&"function"==typeof i,u=c?Date.now()+15:0,p=0,g=this.commonObjs,f=this.objs;for(;;){if(void 0!==r&&h===r.nextBreakPoint)return r.breakIt(h,i),h;if(!s||s(h))if(n=l[h],a=o[h]??null,n!==V.dependency)null===a?this[n](h):this[n](h,...a);else for(let t of a){this.dependencyTracker?.recordNamedData(t,h);let e=t.startsWith("g_")?g:f;if(!e.has(t))return e.get(t,i),h}if(++h===d)return h;if(c&&++p>10){if(Date.now()>u)return i(),h;p=0}}}#i1(){for(;this.stateStack.length||this.inSMaskMode;
2)this.restore();this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)}endDrawing(){for(let t of(this.#i1(),this.cachedCanvases.clear(),this.cachedPatterns.clear(),this._cachedBitmapsMap.values())){for(let e of t.values())"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear(),this.#i2()}#i2(){if(this.pageColors){let t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==t){let e=this.ctx.filter;this.ctx.filter=t,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=e}}}_scaleImage(t,e){let i,r,s=t.width??t.displayWidth,n=t.height??t.displayHeight,a=Math.max(Math.hypot(e[0],e[1]),1),o=Math.max(Math.hypot(e[2],e[3]),1),l=s,h=n,d="prescale1";for(;a>2&&l>1||o>2&&h>1;){let e=l,s=h;a>2&&l>1&&(e=l>=16384?Math.floor(l/2)-1||1:Math.ceil(l/2),a/=l/e),o>2&&h>1&&(s=h>=16384?Math.floor(h/2)-1||1:Math.ceil(h)/2,o/=h/s),(r=(i=this.cachedCanvases.getCanvas(d,e,s)).context).clearRect(0,0,e,s),r.drawImage(t,0,0,l,h,0,0,e,s),t=i.canvas,l=e,h=s,d="prescale1"===d?"prescale2":"prescale1"}return{img:t,paintWidth:l,paintHeight:h}}_createMaskCanvas(t,e){let i,r,s,n,a=this.ctx,{width:o,height:l}=e,h=this.current.fillColor,d=this.current.patternFill,c=tO(a);if((e.bitmap||e.data)&&e.count>1){let n=e.bitmap||e.data.buffer;r=JSON.stringify(d?c:[c.slice(0,4),h]),(i=this._cachedBitmapsMap.get(n))||(i=new Map,this._cachedBitmapsMap.set(n,i));let a=i.get(r);if(a&&!d){let e=Math.round(Math.min(c[0],c[2])+c[4]),i=Math.round(Math.min(c[1],c[3])+c[5]);return this.dependencyTracker?.recordDependencies(t,eq),{canvas:a,offsetX:e,offsetY:i}}s=a}s||ie((n=this.cachedCanvases.getCanvas("maskCanvas",o,l)).context,e);let u=tu.transform(c,[1/o,0,0,-1/l,0,0]);u=tu.transform(u,[1,0,0,1,0,-l]);let p=e6.slice();tu.axialAlignedBoundingBox([0,0,o,l],u,p);let[g,f,m,b]=p,v=Math.round(m-g)||1,y=Math.round(b-f)||1,w=this.cachedCanvases.getCanvas("fillCanvas",v,y),x=w.context;x.translate(-g,-f),x.transform(...u),!s&&(s=(s=this._scaleImage(n.canvas,tj(x))).img,i&&d&&i.set(r,s)),x.imageSmoothingEnabled=is(tO(x),e.interpolate),e7(x,s,0,0,s.width,s.height,0,0,o,l),x.globalCompositeOperation="source-in";let A=tu.transform(tj(x),[1,0,0,1,-g,-f]);return x.fillStyle=d?h.getPattern(a,this,A,eX,t):h,x.fillRect(0,0,o,l),i&&!d&&(this.cachedCanvases.delete("fillCanvas"),i.set(r,w.canvas)),this.dependencyTracker?.recordDependencies(t,eq),{canvas:w.canvas,offsetX:Math.round(g),offsetY:Math.round(f)}}setLineWidth(t,e){this.dependencyTracker?.recordSimpleData("lineWidth",t),e!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=e,this.ctx.lineWidth=e}setLineCap(t,e){this.dependencyTracker?.recordSimpleData("lineCap",t),this.ctx.lineCap=ia[e]}setLineJoin(t,e){this.dependencyTracker?.recordSimpleData("lineJoin",t),this.ctx.lineJoin=io[e]}setMiterLimit(t,e){this.dependencyTracker?.recordSimpleData("miterLimit",t),this.ctx.miterLimit=e}setDash(t,e,i){this.dependencyTracker?.recordSimpleData("dash",t);let r=this.ctx;void 0!==r.setLineDash&&(r.setLineDash(e),r.lineDashOffset=i)}setRenderingIntent(t,e){}setFlatness(t,e){}setGState(t,e){for(let[i,r]of e)switch(i){case"LW":this.setLineWidth(t,r);break;case"LC":this.setLineCap(t,r);break;case"LJ":this.setLineJoin(t,r);break;case"ML":this.setMiterLimit(t,r);break;case"D":this.setDash(t,r[0],r[1]);break;case"RI":this.setRenderingIntent(t,r);break;case"FL":this.setFlatness(t,r);break;case"Font":this.setFont(t,r[0],r[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",t),this.current.strokeAlpha=r;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",t),this.ctx.globalAlpha=this.current.fillAlpha=r;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",t),this.ctx.globalCompositeOperation=r;break;case"SMask":this.dependencyTracker?.recordSimpleData("SMask",t),this.current.activeSMask=r?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.dependencyTracker?.recordSimpleData("filter",t),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(r)}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){let t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(t){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let e=this.ctx.canvas.width,i=this.ctx.canvas.height,r="smaskGroupAt"+this.groupLevel,s=this.cachedCanvases.getCanvas(r,e,i);this.suspendedCtx=this.ctx;let n=this.ctx=s.context;n.setTransform(this.suspendedCtx.getTransform()),ii(this.suspendedCtx,n);var a=this.suspendedCtx;if(n._removeMirroring)throw Error("Context is already forwarding operations.");n.__originalSave=n.save,n.__originalRestore=n.restore,n.__originalRotate=n.rotate,n.__originalScale=n.scale,n.__originalTranslate=n.translate,n.__originalTransform=n.transform,n.__originalSetTransform=n.setTransform,n.__originalResetTransform=n.resetTransform,n.__originalClip=n.clip,n.__originalMoveTo=n.moveTo,n.__originalLineTo=n.lineTo,n.__originalBezierCurveTo=n.bezierCurveTo,n.__originalRect=n.rect,n.__originalClosePath=n.closePath,n.__originalBeginPath=n.beginPath,n._removeMirroring=()=>{n.save=n.__originalSave,n.restore=n.__originalRestore,n.rotate=n.__originalRotate,n.scale=n.__originalScale,n.translate=n.__originalTranslate,n.transform=n.__originalTransform,n.setTransform=n.__originalSetTransform,n.resetTransform=n.__originalResetTransform,n.clip=n.__originalClip,n.moveTo=n.__originalMoveTo,n.lineTo=n.__originalLineTo,n.bezierCurveTo=n.__originalBezierCurveTo,n.rect=n.__originalRect,n.closePath=n.__originalClosePath,n.beginPath=n.__originalBeginPath,delete n._removeMirroring},n.save=function(){a.save(),this.__originalSave()}
2,n.restore=function(){a.restore(),this.__originalRestore()},n.translate=function(t,e){a.translate(t,e),this.__originalTranslate(t,e)},n.scale=function(t,e){a.scale(t,e),this.__originalScale(t,e)},n.transform=function(t,e,i,r,s,n){a.transform(t,e,i,r,s,n),this.__originalTransform(t,e,i,r,s,n)},n.setTransform=function(t,e,i,r,s,n){a.setTransform(t,e,i,r,s,n),this.__originalSetTransform(t,e,i,r,s,n)},n.resetTransform=function(){a.resetTransform(),this.__originalResetTransform()},n.rotate=function(t){a.rotate(t),this.__originalRotate(t)},n.clip=function(t){a.clip(t),this.__originalClip(t)},n.moveTo=function(t,e){a.moveTo(t,e),this.__originalMoveTo(t,e)},n.lineTo=function(t,e){a.lineTo(t,e),this.__originalLineTo(t,e)},n.bezierCurveTo=function(t,e,i,r,s,n){a.bezierCurveTo(t,e,i,r,s,n),this.__originalBezierCurveTo(t,e,i,r,s,n)},n.rect=function(t,e,i,r){a.rect(t,e,i,r),this.__originalRect(t,e,i,r)},n.closePath=function(){a.closePath(),this.__originalClosePath()},n.beginPath=function(){a.beginPath(),this.__originalBeginPath()},this.setGState(t,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),ii(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let e=this.current.activeSMask,i=this.suspendedCtx;this.composeSMask(i,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(t,e,i,r){let s=r[0],n=r[1],a=r[2]-s,o=r[3]-n;0!==a&&0!==o&&(this.genericComposeSMask(e.context,i,a,o,e.subtype,e.backdrop,e.transferMap,s,n,e.offsetX,e.offsetY),t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(i.canvas,0,0),t.restore())}genericComposeSMask(t,e,i,r,s,n,a,o,l,h,d){let c=t.canvas,u=o-h,p=l-d;if(n)if(u<0||p<0||u+i>c.width||p+r>c.height){let t=this.cachedCanvases.getCanvas("maskExtension",i,r),e=t.context;e.drawImage(c,-u,-p),e.globalCompositeOperation="destination-atop",e.fillStyle=n,e.fillRect(0,0,i,r),e.globalCompositeOperation="source-over",c=t.canvas,u=p=0}else{t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0);let e=new Path2D;e.rect(u,p,i,r),t.clip(e),t.globalCompositeOperation="destination-atop",t.fillStyle=n,t.fillRect(u,p,i,r),t.restore()}e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0),"Alpha"===s&&a?e.filter=this.filterFactory.addAlphaFilter(a):"Luminosity"===s&&(e.filter=this.filterFactory.addLuminosityFilter(a));let g=new Path2D;g.rect(o,l,i,r),e.clip(g),e.globalCompositeOperation="destination-in",e.drawImage(c,u,p,i,r,o,l,i,r),e.restore()}save(t){this.inSMaskMode&&ii(this.ctx,this.suspendedCtx),this.ctx.save();let e=this.current;this.stateStack.push(e),this.current=e.clone(),this.dependencyTracker?.save(t)}restore(t){if(this.dependencyTracker?.restore(t),0===this.stateStack.length){this.inSMaskMode&&this.endSMaskMode();return}this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode&&ii(this.suspendedCtx,this.ctx),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(t,e,i,r,s,n,a){this.dependencyTracker?.recordIncrementalData("transform",t),this.ctx.transform(e,i,r,s,n,a),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(t,e,i,r){let[s]=i;if(!r){s||=i[0]=new Path2D,this[e](t,s);return}if(null!==this.dependencyTracker){let i=e===V.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(t).recordBBox(t,this.ctx,r[0]-i,r[2]+i,r[1]-i,r[3]+i).recordDependencies(t,["transform"])}if(!(s instanceof Path2D)){let t=i[0]=new Path2D;for(let e=0,i=s.length;e<i;)switch(s[e++]){case 0:t.moveTo(s[e++],s[e++]);break;case 1:t.lineTo(s[e++],s[e++]);break;case 2:t.bezierCurveTo(s[e++],s[e++],s[e++],s[e++],s[e++],s[e++]);break;case 3:t.closePath();break;default:Y(`Unrecognized drawing path operator: ${s[e-1]}`)}s=t}tu.axialAlignedBoundingBox(r,tO(this.ctx),this.current.minMax),this[e](t,s),this._pathStartIdx=t}closePath(t){this.ctx.closePath()}stroke(t,e,i=!0){let r=this.ctx,s=this.current.strokeColor;if(r.globalAlpha=this.current.strokeAlpha,this.contentVisible)if("object"==typeof s&&s?.getPattern){let i=s.isModifyingCurrentTransform()?r.getTransform():null;if(r.save(),r.strokeStyle=s.getPattern(r,this,tj(r),eY,t),i){let t=new Path2D;t.addPath(e,r.getTransform().invertSelf().multiplySelf(i)),e=t}
2this.rescaleAndStroke(e,!1),r.restore()}else this.rescaleAndStroke(e,!0);this.dependencyTracker?.recordDependencies(t,ez),i&&this.consumePath(t,e,this.current.getClippedPathBoundingBox(eY,tO(this.ctx))),r.globalAlpha=this.current.fillAlpha}closeStroke(t,e){this.stroke(t,e)}fill(t,e,i=!0){let r=this.ctx,s=this.current.fillColor,n=this.current.patternFill,a=!1;if(n){let i=s.isModifyingCurrentTransform()?r.getTransform():null;if(this.dependencyTracker?.save(t),r.save(),r.fillStyle=s.getPattern(r,this,tj(r),eX,t),i){let t=new Path2D;t.addPath(e,r.getTransform().invertSelf().multiplySelf(i)),e=t}a=!0}let o=this.current.getClippedPathBoundingBox();this.contentVisible&&null!==o&&(this.pendingEOFill?(r.fill(e,"evenodd"),this.pendingEOFill=!1):r.fill(e)),this.dependencyTracker?.recordDependencies(t,e$),a&&(r.restore(),this.dependencyTracker?.restore(t)),i&&this.consumePath(t,e,o)}eoFill(t,e){this.pendingEOFill=!0,this.fill(t,e)}fillStroke(t,e){this.fill(t,e,!1),this.stroke(t,e,!1),this.consumePath(t,e)}eoFillStroke(t,e){this.pendingEOFill=!0,this.fillStroke(t,e)}closeFillStroke(t,e){this.fillStroke(t,e)}closeEOFillStroke(t,e){this.pendingEOFill=!0,this.fillStroke(t,e)}endPath(t,e){this.consumePath(t,e)}rawFillPath(t,e){this.ctx.fill(e),this.dependencyTracker?.recordDependencies(t,eG).recordOperation(t)}clip(t){this.dependencyTracker?.recordFutureForcedDependency("clipMode",t),this.pendingClip=il}eoClip(t){this.dependencyTracker?.recordFutureForcedDependency("clipMode",t),this.pendingClip=ih}beginText(t){this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.dependencyTracker?.recordOpenMarker(t).resetIncrementalData("sameLineText").resetIncrementalData("moveText",t)}endText(t){let e=this.pendingTextPaths,i=this.ctx;if(this.dependencyTracker){let{dependencyTracker:i}=this;void 0!==e&&i.recordFutureForcedDependency("textClip",i.getOpenMarker()).recordFutureForcedDependency("textClip",t),i.recordCloseMarker(t)}if(void 0!==e){let t=new Path2D,r=i.getTransform().invertSelf();for(let{transform:i,x:s,y:n,fontSize:a,path:o}of e)o&&t.addPath(o,new DOMMatrix(i).preMultiplySelf(r).translate(s,n).scale(a,-a));i.clip(t)}delete this.pendingTextPaths}setCharSpacing(t,e){this.dependencyTracker?.recordSimpleData("charSpacing",t),this.current.charSpacing=e}setWordSpacing(t,e){this.dependencyTracker?.recordSimpleData("wordSpacing",t),this.current.wordSpacing=e}setHScale(t,e){this.dependencyTracker?.recordSimpleData("hScale",t),this.current.textHScale=e/100}setLeading(t,e){this.dependencyTracker?.recordSimpleData("leading",t),this.current.leading=-e}setFont(t,e,i){this.dependencyTracker?.recordSimpleData("font",t).recordSimpleDataFromNamed("fontObj",e,t);let r=this.commonObjs.get(e),s=this.current;if(!r)throw Error(`Can't find font for ${e}`);if(s.fontMatrix=r.fontMatrix||F,(0===s.fontMatrix[0]||0===s.fontMatrix[3])&&Y("Invalid font matrix for font "+e),i<0?(i=-i,s.fontDirection=-1):s.fontDirection=1,this.current.font=r,this.current.fontSize=i,r.isType3Font)return;let n=r.loadedName||"sans-serif",a=r.systemFontInfo?.css||`"${n}", ${r.fallbackName}`,o="normal";r.black?o="900":r.bold&&(o="bold");let l=r.italic?"italic":"normal",h=i;i<16?h=16:i>100&&(h=100),this.current.fontSizeScale=i/h,this.ctx.font=`${l} ${o} ${h}px ${a}`}setTextRenderingMode(t,e){this.dependencyTracker?.recordSimpleData("textRenderingMode",t),this.current.textRenderingMode=e}setTextRise(t,e){this.dependencyTracker?.recordSimpleData("textRise",t),this.current.textRise=e}moveText(t,e,i){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",t),this.current.x=this.current.lineX+=e,this.current.y=this.current.lineY+=i}setLeadingMoveText(t,e,i){this.setLeading(t,-i),this.moveText(t,e,i)}setTextMatrix(t,e){this.dependencyTracker?.recordSimpleData("textMatrix",t);let{current:i}=this;i.textMatrix=e,i.textMatrixScale=Math.hypot(e[0],e[1]),i.x=i.lineX=0,i.y=i.lineY=0}nextLine(t){this.moveText(t,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??t)}#i5(t,e,i){let r=new Path2D;return r.addPath(t,new DOMMatrix(i).invertSelf().multiplySelf(e)),r}paintChar(t,e,i,r,s,n){let a,o=this.ctx,l=this.current,h=l.font,d=l.textRenderingMode,c=l.fontSize/l.fontSizeScale,u=3&d,p=!!(4&d),g=l.patternFill&&!h.missingFile,f=l.patternStroke&&!h.missingFile;if((h.disableFontFace||p||g||f)&&!h.missingFile&&(a=h.getPathGenerator(this.commonObjs,e)),a&&(h.disableFontFace||g||f)){let e;if(o.save(),o.translate(i,r),o.scale(c,-c),this.dependencyTracker?.recordCharacterBBox(t,o,h),0===u||2===u)if(s){e=o.getTransform(),o.setTransform(...s);let t=this.#i5(a,e,s);o.fill(t)}else o.fill(a);if(1===u||2===u)if(n){e||=o.getTransform(),o.setTransform(...n);let{a:t,b:i,c:r,d:s}
2=e,l=tu.inverseTransform(n),h=tu.transform([t,i,r,s,0,0],l);tu.singularValueDecompose2dScale(h,e4),o.lineWidth*=Math.max(e4[0],e4[1])/c,o.stroke(this.#i5(a,e,n))}else o.lineWidth/=c,o.stroke(a);o.restore()}else(0===u||2===u)&&(o.fillText(e,i,r),this.dependencyTracker?.recordCharacterBBox(t,o,h,c,i,r,()=>o.measureText(e))),(1===u||2===u)&&(this.dependencyTracker&&this.dependencyTracker?.recordCharacterBBox(t,o,h,c,i,r,()=>o.measureText(e)).recordDependencies(t,ez),o.strokeText(e,i,r));p&&((this.pendingTextPaths||=[]).push({transform:tO(o),x:i,y:r,fontSize:c,path:a}),this.dependencyTracker?.recordCharacterBBox(t,o,h,c,i,r))}get isFontSubpixelAAEnabled(){let{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1),t.fillText("I",0,10);let e=t.getImageData(0,0,10,10).data,i=!1;for(let t=3;t<e.length;t+=4)if(e[t]>0&&e[t]<255){i=!0;break}return tt(this,"isFontSubpixelAAEnabled",i)}showText(t,e){let i,r;this.dependencyTracker&&(this.dependencyTracker.recordDependencies(t,eV).resetBBox(t),4&this.current.textRenderingMode&&this.dependencyTracker.recordFutureForcedDependency("textClip",t).inheritPendingDependenciesAsFutureForcedDependencies());let s=this.current,n=s.font;if(n.isType3Font){this.showType3Text(t,e),this.dependencyTracker?.recordShowTextOperation(t);return}let a=s.fontSize;if(0===a)return void this.dependencyTracker?.recordOperation(t);let o=this.ctx,l=s.fontSizeScale,h=s.charSpacing,d=s.wordSpacing,c=s.fontDirection,u=s.textHScale*c,p=e.length,g=n.vertical,f=g?1:-1,m=n.defaultVMetrics,b=a*s.fontMatrix[0],v=0===s.textRenderingMode&&!n.disableFontFace&&!s.patternFill;if(o.save(),s.textMatrix&&o.transform(...s.textMatrix),o.translate(s.x,s.y+s.textRise),c>0?o.scale(u,-1):o.scale(u,1),s.patternFill){o.save();let e=s.fillColor.getPattern(o,this,tj(o),eX,t);i=tO(o),o.restore(),o.fillStyle=e}if(s.patternStroke){o.save();let e=s.strokeColor.getPattern(o,this,tj(o),eY,t);r=tO(o),o.restore(),o.strokeStyle=e}let y=s.lineWidth,w=s.textMatrixScale;if(0===w||0===y){let t=3&s.textRenderingMode;(1===t||2===t)&&(y=this.getSinglePixelWidth())}else y/=w;if(1!==l&&(o.scale(l,l),y/=l),o.lineWidth=y,n.isInvalidPDFjsFont){let i=[],r=0;for(let t of e)i.push(t.unicode),r+=t.width;let n=i.join("");if(o.fillText(n,0,0),null!==this.dependencyTracker){let e=o.measureText(n);this.dependencyTracker.recordBBox(t,this.ctx,-e.actualBoundingBoxLeft,e.actualBoundingBoxRight,-e.actualBoundingBoxAscent,e.actualBoundingBoxDescent).recordShowTextOperation(t)}
2s.x+=r*b*u,o.restore(),this.compose();return}let x=0,A;for(A=0;A<p;++A){let s,u,p,y=e[A];if("number"==typeof y){x+=f*y*a/1e3;continue}let w=!1,_=(y.isSpace?d:0)+h,S=y.fontChar,E=y.accent,T=y.width;if(g){let t=y.vmetric||m,e=-(y.vmetric?t[1]:.5*T)*b,i=t[2]*b;T=t?-t[0]:T,s=e/l,u=(x+i)/l}else s=x/l,u=0;if(n.remeasure&&T>0){let t=1e3*(p=o.measureText(S)).width/a*l;if(T<t&&this.isFontSubpixelAAEnabled){let e=T/t;w=!0,o.save(),o.scale(e,1),s/=e}else T!==t&&(s+=(T-t)/2e3*a/l)}if(this.contentVisible&&(y.isInFont||n.missingFile)){if(v&&!E)o.fillText(S,s,u),this.dependencyTracker?.recordCharacterBBox(t,o,p?{bbox:null}:n,a/l,s,u,()=>p??o.measureText(S));else if(this.paintChar(t,S,s,u,i,r),E){let e=s+a*E.offset.x/l,n=u-a*E.offset.y/l;this.paintChar(t,E.fontChar,e,n,i,r)}}x+=g?T*b-_*c:T*b+_*c,w&&o.restore()}g?s.y-=x:s.x+=x*u,o.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(t)}showType3Text(t,e){let i,r,s,n,a=this.ctx,o=this.current,l=o.font,h=o.fontSize,d=o.fontDirection,c=l.vertical?1:-1,u=o.charSpacing,p=o.wordSpacing,g=o.textHScale*d,f=o.fontMatrix||F,m=e.length;if(3===o.textRenderingMode||0===h)return;this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,a.save(),o.textMatrix&&a.transform(...o.textMatrix),a.translate(o.x,o.y+o.textRise),a.scale(g,d);let b=this.dependencyTracker;for(i=0,this.dependencyTracker=b?new eU(b,t):null;i<m;++i){if("number"==typeof(r=e[i])){n=c*r*h/1e3,this.ctx.translate(n,0),o.x+=n*g;continue}let t=(r.isSpace?p:0)+u,d=l.charProcOperatorList[r.operatorListId];d?this.contentVisible&&(this.save(),a.scale(h,h),a.transform(...f),this.executeOperatorList(d),this.restore()):Y(`Type3 character "${r.operatorListId}" is not available.`);let m=[r.width,0];tu.applyTransform(m,f),s=m[0]*h+t,a.translate(s,0),o.x+=s*g}a.restore(),b&&(this.dependencyTracker=b)}setCharWidth(t,e,i){}
2setCharWidthAndBounds(t,e,i,r,s,n,a){let o=new Path2D;o.rect(r,s,n-r,a-s),this.ctx.clip(o),this.dependencyTracker?.recordBBox(t,this.ctx,r,n,s,a).recordClipBox(t,this.ctx,r,n,s,a),this.endPath(t)}getColorN_Pattern(t,e){let i;if("TilingPattern"===e[0]){let t=this.baseTransform||tO(this.ctx);i=new e5(e,this.ctx,{createCanvasGraphics:(t,e)=>new id(t,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new eU(this.dependencyTracker,e,!0):null)},t)}else i=this._getPattern(t,e[1],e[2]);return i}setStrokeColorN(t,...e){this.dependencyTracker?.recordSimpleData("strokeColor",t),this.current.strokeColor=this.getColorN_Pattern(t,e),this.current.patternStroke=!0}setFillColorN(t,...e){this.dependencyTracker?.recordSimpleData("fillColor",t),this.current.fillColor=this.getColorN_Pattern(t,e),this.current.patternFill=!0}setStrokeRGBColor(t,e){this.dependencyTracker?.recordSimpleData("strokeColor",t),this.ctx.strokeStyle=this.current.strokeColor=e,this.current.patternStroke=!1}
2setStrokeTransparent(t){this.dependencyTracker?.recordSimpleData("strokeColor",t),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(t,e){this.dependencyTracker?.recordSimpleData("fillColor",t),this.ctx.fillStyle=this.current.fillColor=e,this.current.patternFill=!1}setFillTransparent(t){this.dependencyTracker?.recordSimpleData("fillColor",t),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1}_getPattern(t,e,i=null){let r;return this.cachedPatterns.has(e)?r=this.cachedPatterns.get(e):(r=function(t){switch(t[0]){case"RadialAxial":return new eZ(t);case"Mesh":return new e1(t);case"Dummy":return new e2}throw Error(`Unknown IR type: ${t[0]}`)}(this.getObject(t,e)),this.cachedPatterns.set(e,r)),i&&(r.matrix=i),r}shadingFill(t,e){if(!this.contentVisible)return;let i=this.ctx;this.save(t),i.fillStyle=this._getPattern(t,e).getPattern(i,this,tj(i),eK,t);let r=tj(i);{let{width:t,height:e}=i.canvas,s=e6.slice();tu.axialAlignedBoundingBox([0,0,t,e],r,s);let[n,a,o,l]=s;this.ctx.fillRect(n,a,o-n,l-a)}this.dependencyTracker?.resetBBox(t).recordFullPageBBox(t).recordDependencies(t,eW).recordDependencies(t,e$).recordOperation(t),this.compose(this.current.getClippedPathBoundingBox()),this.restore(t)}beginInlineImage(){K("Should not call beginInlineImage")}beginImageData(){K("Should not call beginImageData")}
2paintFormXObjectBegin(t,e,i){if(this.contentVisible&&(this.save(t),this.baseTransformStack.push(this.baseTransform),e&&this.transform(t,...e),this.baseTransform=tO(this.ctx),i)){tu.axialAlignedBoundingBox(i,this.baseTransform,this.current.minMax);let[e,r,s,n]=i,a=new Path2D;a.rect(e,r,s-e,n-r),this.ctx.clip(a),this.dependencyTracker?.recordClipBox(t,this.ctx,e,s,r,n),this.endPath(t)}}paintFormXObjectEnd(t){this.contentVisible&&(this.restore(t),this.baseTransform=this.baseTransformStack.pop())}beginGroup(t,e){if(!this.contentVisible)return;this.save(t),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);let i=this.ctx;e.isolated||X("TODO: Support non-isolated groups."),e.knockout&&Y("Knockout groups not supported.");let r=tO(i);if(e.matrix&&i.transform(...e.matrix),!e.bbox)throw Error("Bounding box is required.");let s=e6.slice();tu.axialAlignedBoundingBox(e.bbox,tO(i),s);let n=[0,0,i.canvas.width,i.canvas.height],a=Math.floor((s=tu.intersect(s,n)||[0,0,0,0])[0]),o=Math.floor(s[1]),l=Math.max(Math.ceil(s[2])-a,1),h=Math.max(Math.ceil(s[3])-o,1);this.current.startNewPathAndClipBox([0,0,l,h]);let d="groupAt"+this.groupLevel;e.smask&&(d+="_smask_"+this.smaskCounter++%2);let c=this.cachedCanvases.getCanvas(d,l,h),u=c.context;u.translate(-a,-o),u.transform(...r);let p=new Path2D,[g,f,m,b]=e.bbox;if(p.rect(g,f,m-g,b-f),e.matrix){let t=new Path2D;t.addPath(p,new DOMMatrix(e.matrix)),p=t}u.clip(p),e.smask&&this.smaskStack.push({canvas:c.canvas,context:u,offsetX:a,offsetY:o,subtype:e.smask.subtype,backdrop:e.smask.backdrop,transferMap:e.smask.transferMap||null,startTransformInverse:null}),(!e.smask||this.dependencyTracker)&&(i.setTransform(1,0,0,1,0,0),i.translate(a,o),i.save()),ii(i,u),this.ctx=u,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(i),this.setGState(t,[["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(i),this.groupLevel++}endGroup(t,e){if(!this.contentVisible)return;this.groupLevel--;let i=this.ctx,r=this.groupStack.pop();if(this.ctx=r,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),e.smask)this.tempSMask=this.smaskStack.pop(),this.restore(t),this.dependencyTracker&&this.ctx.restore();else{this.ctx.restore();let e=tO(this.ctx);this.restore(t),this.ctx.save(),this.ctx.setTransform(...e);let r=e6.slice();tu.axialAlignedBoundingBox([0,0,i.canvas.width,i.canvas.height],e,r),this.ctx.drawImage(i.canvas,0,0),this.ctx.restore(),this.compose(r)}}beginAnnotation(t,e,i,r,s,n){if(this.#i1(),ir(this.ctx),this.ctx.save(),this.save(t),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),i){let s=i[2]-i[0],a=i[3]-i[1];if(n&&this.annotationCanvasMap){r=r.slice(),r[4]-=i[0],r[5]-=i[1],(i=i.slice())[0]=i[1]=0,i[2]=s,i[3]=a,tu.singularValueDecompose2dScale(tO(this.ctx),e4);let{viewportScale:t}=this,n=Math.ceil(s*this.outputScaleX*t),o=Math.ceil(a*this.outputScaleY*t);this.annotationCanvas=this.canvasFactory.create(n,o);let{canvas:l,context:h}=this.annotationCanvas;this.annotationCanvasMap.set(e,l),this.annotationCanvas.savedCtx=this.ctx,this.ctx=h,this.ctx.save(),this.ctx.setTransform(e4[0],0,0,-e4[1],0,a*e4[1]),ir(this.ctx)}else{ir(this.ctx),this.endPath(t);let e=new Path2D;e.rect(i[0],i[1],s,a),this.ctx.clip(e)}}this.current=new e9(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(t,...r),this.transform(t,...s)}endAnnotation(t){this.annotationCanvas&&(this.ctx.restore(),this.#i2(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t,e){if(!this.contentVisible)return;let i=e.count;(e=this.getObject(t,e.data,e)).count=i;let r=this.ctx,s=this._createMaskCanvas(t,e),n=s.canvas;r.save(),r.setTransform(1,0,0,1,0,0),r.drawImage(n,s.offsetX,s.offsetY),this.dependencyTracker?.resetBBox(t).recordBBox(t,this.ctx,s.offsetX,s.offsetX+n.width,s.offsetY,s.offsetY+n.height).recordOperation(t),r.restore(),this.compose()}paintImageMaskXObjectRepeat(t,e,i,r=0,s=0,n,a){if(!this.contentVisible)return;e=this.getObject(t,e.data,e);let o=this.ctx;o.save();let l=tO(o);o.transform(i,r,s,n,0,0);let h=this._createMaskCanvas(t,e);o.setTransform(1,0,0,1,h.offsetX-l[4],h.offsetY-l[5]),this.dependencyTracker?.resetBBox(t);for(let e=0,d=a.length;e<d;e+=2){let d=tu.transform(l,[i,r,s,n,a[e],a[e+1]]);o.drawImage(h.canvas,d[4],d[5]),this.dependencyTracker?.recordBBox(t,this.ctx,d[4],d[4]+h.canvas.width,d[5],d[5]+h.canvas.height)}
2o.restore(),this.compose(),this.dependencyTracker?.recordOperation(t)}paintImageMaskXObjectGroup(t,e){if(!this.contentVisible)return;let i=this.ctx,r=this.current.fillColor,s=this.current.patternFill;for(let n of(this.dependencyTracker?.resetBBox(t).recordDependencies(t,eq),e)){let{data:e,width:a,height:o,transform:l}=n,h=this.cachedCanvases.getCanvas("maskCanvas",a,o),d=h.context;d.save(),ie(d,this.getObject(t,e,n)),d.globalCompositeOperation="source-in",d.fillStyle=s?r.getPattern(d,this,tj(i),eX,t):r,d.fillRect(0,0,a,o),d.restore(),i.save(),i.transform(...l),i.scale(1,-1),e7(i,h.canvas,0,0,a,o,0,-1,1,1),this.dependencyTracker?.recordBBox(t,i,0,a,0,o),i.restore()}this.compose(),this.dependencyTracker?.recordOperation(t)}paintImageXObject(t,e){if(!this.contentVisible)return;let i=this.getObject(t,e);i?this.paintInlineImageXObject(t,i):Y("Dependent image isn't ready yet")}paintImageXObjectRepeat(t,e,i,r,s){if(!this.contentVisible)return;let n=this.getObject(t,e);if(!n)return void Y("Dependent image isn't ready yet");let a=n.width,o=n.height,l=[];for(let t=0,e=s.length;t<e;t+=2)l.push({transform:[i,0,0,r,s[t],s[t+1]],x:0,y:0,w:a,h:o});this.paintInlineImageXObjectGroup(t,n,l)}applyTransferMapsToCanvas(t){return"none"!==this.current.transferMaps&&(t.filter=this.current.transferMaps,t.drawImage(t.canvas,0,0),t.filter="none"),t.canvas}applyTransferMapsToBitmap(t){if("none"===this.current.transferMaps)return t.bitmap;let{bitmap:e,width:i,height:r}=t,s=this.cachedCanvases.getCanvas("inlineImage",i,r),n=s.context;return n.filter=this.current.transferMaps,n.drawImage(e,0,0),n.filter="none",s.canvas}paintInlineImageXObject(t,e){let i;if(!this.contentVisible)return;let r=e.width,s=e.height,n=this.ctx;this.save(t);let{filter:a}=n;if("none"!==a&&""!==a&&(n.filter="none"),n.scale(1/r,-1/s),e.bitmap)i=this.applyTransferMapsToBitmap(e);else if("function"==typeof HTMLElement&&e instanceof HTMLElement||!e.data)i=e;else{let t=this.cachedCanvases.getCanvas("inlineImage",r,s).context;it(t,e),i=this.applyTransferMapsToCanvas(t)}let o=this._scaleImage(i,tj(n));n.imageSmoothingEnabled=is(tO(n),e.interpolate),this.dependencyTracker?.resetBBox(t).recordBBox(t,n,0,r,-s,0).recordDependencies(t,eH).recordOperation(t),e7(n,o.img,0,0,o.paintWidth,o.paintHeight,0,-s,r,s),this.compose(),this.restore(t)}paintInlineImageXObjectGroup(t,e,i){let r;if(!this.contentVisible)return;let s=this.ctx;if(e.bitmap)r=e.bitmap;else{let t=e.width,i=e.height,s=this.cachedCanvases.getCanvas("inlineImage",t,i).context;it(s,e),r=this.applyTransferMapsToCanvas(s)}for(let e of(this.dependencyTracker?.resetBBox(t),i))s.save(),s.transform(...e.transform),s.scale(1,-1),e7(s,r,e.x,e.y,e.w,e.h,0,-1,1,1),this.dependencyTracker?.recordBBox(t,s,0,1,-1,0),s.restore();this.dependencyTracker?.recordOperation(t),this.compose()}paintSolidColorImageMask(t){this.contentVisible&&(this.dependencyTracker?.resetBBox(t).recordBBox(t,this.ctx,0,1,0,1).recordDependencies(t,e$).recordOperation(t),this.ctx.fillRect(0,0,1,1),this.compose())}markPoint(t,e){}
2markPointProps(t,e,i){}beginMarkedContent(t,e){this.dependencyTracker?.beginMarkedContent(t),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(t,e,i){this.dependencyTracker?.beginMarkedContent(t),"OC"===e?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(i)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(t){this.dependencyTracker?.endMarkedContent(t),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(t){}endCompat(t){}consumePath(t,e,i){let r=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(i);let s=this.ctx;this.pendingClip?(r||(this.pendingClip===ih?s.clip(e,"evenodd"):s.clip(e)),this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(t).recordFutureForcedDependency("clipPath",t)):this.dependencyTracker?.recordOperation(t),this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){let t=tO(this.ctx);if(0===t[1]&&0===t[2])this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(t[0]),Math.abs(t[3]));else{let e=Math.abs(t[0]*t[3]-t[2]*t[1]),i=Math.hypot(t[0],t[2]),r=Math.hypot(t[1],t[3]);this._cachedGetSinglePixelWidth=Math.max(i,r)/e}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(-1===this._cachedScaleForStroking[0]){let t,e,{lineWidth:i}=this.current,{a:r,b:s,c:n,d:a}=this.ctx.getTransform();if(0===s&&0===n){let s=Math.abs(r),n=Math.abs(a);if(s===n)if(0===i)t=e=1/s;else{let r=s*i;t=e=r<1?1/r:1}else if(0===i)t=1/s,e=1/n;else{let r=s*i,a=n*i;t=r<1?1/r:1,e=a<1?1/a:1}}else{let o=Math.abs(r*a-s*n),l=Math.hypot(r,s),h=Math.hypot(n,a);if(0===i)t=h/o,e=l/o;else{let r=i*o;t=h>r?h/r:1,e=l>r?l/r:1}}this._cachedScaleForStroking[0]=t,this._cachedScaleForStroking[1]=e}return this._cachedScaleForStroking}rescaleAndStroke(t,e){let{ctx:i,current:{lineWidth:r}}=this,[s,n]=this.getScaleForStroking();if(s===n){i.lineWidth=(r||1)*s,i.stroke(t);return}let a=i.getLineDash();e&&i.save(),i.scale(s,n),e3.a=1/s,e3.d=1/n;let o=new Path2D;if(o.addPath(t,e3),a.length>0){let t=Math.max(s,n);i.setLineDash(a.map(e=>e/t)),i.lineDashOffset/=t}i.lineWidth=r||1,i.stroke(o),e&&i.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}}for(let t in V)void 0!==id.prototype[t]&&(id.prototype[V[t]]=id.prototype[t]);class ic{#i3;#i4;#i6;static strings=["fontFamily","fontWeight","italicAngle"];static write(t){let e=new TextEncoder,i={},r=0;for(let s of ic.strings){let n=e.encode(t[s]);i[s]=n,r+=4+n.length}let s=new ArrayBuffer(r),n=new Uint8Array(s),a=new DataView(s),o=0;for(let t of ic.strings){let e=i[t],r=e.length;a.setUint32(o,r),n.set(e,o+4),o+=4+r}return J(o===s.byteLength,"CssFontInfo.write: Buffer overflow"),s}constructor(t){this.#i3=t,this.#i4=new DataView(this.#i3),this.#i6=new TextDecoder}#i8(t){J(t<ic.strings.length,"Invalid string index");let e=0;for(let i=0;i<t;i++)e+=this.#i4.getUint32(e)+4;let i=this.#i4.getUint32(e);return this.#i6.decode(new Uint8Array(this.#i3,e+4,i))}get fontFamily(){return this.#i8(0)}get fontWeight(){return this.#i8(1)}get italicAngle(){return this.#i8(2)}}class iu{#i3;#i4;#i6;static strings=["css","loadedName","baseFontName","src"];static write(t){let e=new TextEncoder,i={},r=0;for(let s of iu.strings){let n=e.encode(t[s]);i[s]=n,r+=4+n.length}let s,n,a=1+(r+=4);t.style&&(s=e.encode(t.style.style),n=e.encode(t.style.weight),a+=4+s.length+4+n.length);let o=new ArrayBuffer(a),l=new Uint8Array(o),h=new DataView(o),d=0;for(let e of(h.setUint8(d++,+!!t.guessFallback),h.setUint32(d,0),d+=4,r=0,iu.strings)){let t=i[e],s=t.length;r+=4+s,h.setUint32(d,s),l.set(t,d+4),d+=4+s}return h.setUint32(d-r-4,r),t.style&&(h.setUint32(d,s.length),l.set(s,d+4),d+=4+s.length,h.setUint32(d,n.length),l.set(n,d+4),d+=4+n.length),J(d<=o.byteLength,"SubstitionInfo.write: Buffer overflow"),o.transferToFixedLength(d)}constructor(t){this.#i3=t,this.#i4=new DataView(this.#i3),this.#i6=new TextDecoder}get guessFallback(){return 0!==this.#i4.getUint8(0)}#i8(t){J(t<iu.strings.length,"Invalid string index");let e=5;for(let i=0;i<t;i++)e+=this.#i4.getUint32(e)+4;let i=this.#i4.getUint32(e);return this.#i6.decode(new Uint8Array(this.#i3,e+4,i))}get css(){return this.#i8(0)}get loadedName(){return this.#i8(1)}get baseFontName(){return this.#i8(2)}get src(){return this.#i8(3)}get style(){let t=1;t+=4+this.#i4.getUint32(t);let e=this.#i4.getUint32(t),i=this.#i6.decode(new Uint8Array(this.#i3,t+4,e));t+=4+e;let r=this.#i4.getUint32(t),s=this.#i6.decode(new Uint8Array(this.#i3,t+4,r));return{style:i,weight:s}}}
2class ip{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static numbers=["ascent","defaultWidth","descent"];static strings=["fallbackName","loadedName","mimetype","name"];static #i7=Math.ceil(2*this.bools.length/8);static #i9=this.#i7+8*this.numbers.length;static #rt=this.#i9+1+8;static #re=this.#rt+1+48;static #ri=this.#re+1+6;#i3;#i6;#i4;constructor({data:t,extra:e}){this.#i3=t,this.#i6=new TextDecoder,this.#i4=new DataView(this.#i3),e&&Object.assign(this,e)}#rr(t){J(t<ip.bools.length,"Invalid boolean index");let e=Math.floor(t/4),i=this.#i4.getUint8(e)>>2*t%8&3;return 0===i?void 0:2===i}get black(){return this.#rr(0)}get bold(){return this.#rr(1)}get disableFontFace(){return this.#rr(2)}get fontExtraProperties(){return this.#rr(3)}get isInvalidPDFjsFont(){return this.#rr(4)}get isType3Font(){return this.#rr(5)}get italic(){return this.#rr(6)}get missingFile(){return this.#rr(7)}get remeasure(){return this.#rr(8)}get vertical(){return this.#rr(9)}#rs(t){return J(t<ip.numbers.length,"Invalid number index"),this.#i4.getFloat64(ip.#i7+8*t)}get ascent(){return this.#rs(0)}get defaultWidth(){return this.#rs(1)}get descent(){return this.#rs(2)}get bbox(){let t=ip.#i9;if(0===this.#i4.getUint8(t))return;t+=1;let e=[];for(let i=0;i<4;i++)e.push(this.#i4.getInt16(t,!0)),t+=2;return e}get fontMatrix(){let t=ip.#rt;if(0===this.#i4.getUint8(t))return;t+=1;let e=[];for(let i=0;i<6;i++)e.push(this.#i4.getFloat64(t,!0)),t+=8;return e}get defaultVMetrics(){let t=ip.#re;if(0===this.#i4.getUint8(t))return;t+=1;let e=[];for(let i=0;i<3;i++)e.push(this.#i4.getInt16(t,!0)),t+=2;return e}#i8(t){J(t<ip.strings.length,"Invalid string index");let e=ip.#ri+4;for(let i=0;i<t;i++)e+=this.#i4.getUint32(e)+4;let i=this.#i4.getUint32(e),r=new Uint8Array(i);return r.set(new Uint8Array(this.#i3,e+4,i)),this.#i6.decode(r)}get fallbackName(){return this.#i8(0)}get loadedName(){return this.#i8(1)}get mimetype(){return this.#i8(2)}get name(){return this.#i8(3)}get data(){let t=ip.#ri,e=this.#i4.getUint32(t);t+=4+e;let i=this.#i4.getUint32(t);t+=4+i;let r=this.#i4.getUint32(t);t+=4+r;let s=this.#i4.getUint32(t);if(0!==s)return new Uint8Array(this.#i3,t+4,s)}clearData(){let t=ip.#ri,e=this.#i4.getUint32(t);t+=4+e;let i=this.#i4.getUint32(t);t+=4+i;let r=this.#i4.getUint32(t);t+=4+r;let s=this.#i4.getUint32(t);new Uint8Array(this.#i3,t+4,s).fill(0),this.#i4.setUint32(t,0)}get cssFontInfo(){let t=ip.#ri,e=this.#i4.getUint32(t);t+=4+e;let i=this.#i4.getUint32(t);t+=4+i;let r=this.#i4.getUint32(t);if(0===r)return null;let s=new Uint8Array(r);return s.set(new Uint8Array(this.#i3,t+4,r)),new ic(s.buffer)}get systemFontInfo(){let t=ip.#ri,e=this.#i4.getUint32(t);t+=4+e;let i=this.#i4.getUint32(t);if(0===i)return null;let r=new Uint8Array(i);return r.set(new Uint8Array(this.#i3,t+4,i)),new iu(r.buffer)}static write(t){let e=t.systemFontInfo?iu.write(t.systemFontInfo):null,i=t.cssFontInfo?ic.write(t.cssFontInfo):null,r=new TextEncoder,s={},n=0;for(let e of ip.strings)s[e]=r.encode(t[e]),n+=4+s[e].length;let a=new ArrayBuffer(ip.#ri+4+n+4+(e?e.byteLength:0)+4+(i?i.byteLength:0)+4+(t.data?t.data.length:0)),o=new Uint8Array(a),l=new DataView(a),h=0,d=ip.bools.length,c=0,u=0;for(let e=0;e<d;e++){let i=t[ip.bools[e]];c|=(void 0===i?0:i?2:1)<<u,(8===(u+=2)||e===d-1)&&(l.setUint8(h++,c),c=0,u=0)}for(let e of(J(h===ip.#i7,"FontInfo.write: Boolean properties offset mismatch"),ip.numbers))l.setFloat64(h,t[e]),h+=8;if(J(h===ip.#i9,"FontInfo.write: Number properties offset mismatch"),t.bbox)for(let e of(l.setUint8(h++,4),t.bbox))l.setInt16(h,e,!0),h+=2;else l.setUint8(h++,0),h+=8;if(J(h===ip.#rt,"FontInfo.write: BBox properties offset mismatch"),t.fontMatrix)for(let e of(l.setUint8(h++,6),t.fontMatrix))l.setFloat64(h,e,!0),h+=8;else l.setUint8(h++,0),h+=48;if(J(h===ip.#re,"FontInfo.write: FontMatrix properties offset mismatch"),t.defaultVMetrics)for(let e of(l.setUint8(h++,1),t.defaultVMetrics))l.setInt16(h,e,!0),h+=2;else l.setUint8(h++,0),h+=6;for(let t of(J(h===ip.#ri,"FontInfo.write: DefaultVMetrics properties offset mismatch"),l.setUint32(ip.#ri,0),h+=4,ip.strings)){let e=s[t],i=e.length;l.setUint32(h,i),o.set(e,h+4),h+=4+i}if(l.setUint32(ip.#ri,h-ip.#ri-4),e){let t=e.byteLength;l.setUint32(h,t),J(h+4+t<=a.byteLength,"FontInfo.write: Buffer overflow at systemFontInfo"),o.set(new Uint8Array(e),h+4),h+=4+t}else l.setUint32(h,0),h+=4;if(i){let t=i.byteLength;l.setUint32(h,t),J(h+4+t<=a.byteLength,"FontInfo.write: Buffer overflow at cssFontInfo"),o.set(new Uint8Array(i),h+4),h+=4+t}else l.setUint32(h,0),h+=4;return void 0===t.data?(l.setUint32(h,0),h+=4):(l.setUint32(h,t.data.length),o.set(t.data,h+4),h+=4+t.data.length),J(h<=a.byteLength,"FontInfo.write: Buffer overflow"),a.transferTo
2FixedLength(h)}}class ig{static #rn=null;static #ra="";static get workerPort(){return this.#rn}static set workerPort(t){if(!("undefined"!=typeof Worker&&t instanceof Worker)&&null!==t)throw Error("Invalid `workerPort` type.");this.#rn=t}static get workerSrc(){return this.#ra}static set workerSrc(t){if("string"!=typeof t)throw Error("Invalid `workerSrc` type.");this.#ra=t}}class im{#ro;#rl;constructor({parsedData:t,rawData:e}){this.#ro=t,this.#rl=e}getRaw(){return this.#rl}get(t){return this.#ro.get(t)??null}[Symbol.iterator](){return this.#ro.entries()}}let ib=Symbol("INTERNAL");class iv{#rh=!1;#rd=!1;#rc=!1;#ru=!0;constructor(t,{name:e,intent:i,usage:r,rbGroups:s}){this.#rh=!!(2&t),this.#rd=!!(4&t),this.name=e,this.intent=i,this.usage=r,this.rbGroups=s}get visible(){if(this.#rc)return this.#ru;if(!this.#ru)return!1;let{print:t,view:e}=this.usage;return this.#rh?e?.viewState!=="OFF":!this.#rd||t?.printState!=="OFF"}_setVisible(t,e,i=!1){t!==ib&&K("Internal method `_setVisible` called."),this.#rc=i,this.#ru=e}}class iy{#rp=null;#rg=new Map;#rf=null;#rm=null;constructor(t,e=2){if(this.renderingIntent=e,this.name=null,this.creator=null,null===t)return;for(const i of(this.name=t.name,this.creator=t.creator,this.#rm=t.order,t.groups))this.#rg.set(i.id,new iv(e,i));if("OFF"===t.baseState)for(const t of this.#rg.values())t._setVisible(ib,!1);for(const e of t.on)this.#rg.get(e)._setVisible(ib,!0);for(const e of t.off)this.#rg.get(e)._setVisible(ib,!1);this.#rf=this.getHash()}#rb(t){let e=t.length;if(e<2)return!0;let i=t[0];for(let r=1;r<e;r++){let e,s=t[r];if(Array.isArray(s))e=this.#rb(s);else{if(!this.#rg.has(s))return Y(`Optional content group not found: ${s}`),!0;e=this.#rg.get(s).visible}switch(i){case"And":if(!e)return!1;break;case"Or":if(e)return!0;break;case"Not":return!e;default:return!0}}return"And"===i}isVisible(t){if(0===this.#rg.size)return!0;if(!t)return X("Optional content group not defined."),!0;if("OCG"===t.type)return this.#rg.has(t.id)?this.#rg.get(t.id).visible:(Y(`Optional content group not found: ${t.id}`),!0);if("OCMD"===t.type){if(t.expression)return this.#rb(t.expression);if(t.policy&&"AnyOn"!==t.policy){if("AllOn"===t.policy){for(let e of t.ids){if(!this.#rg.has(e)){Y(`Optional content group not found: ${e}`);break}if(!this.#rg.get(e).visible)return!1}return!0}else if("AnyOff"===t.policy){for(let e of t.ids){if(!this.#rg.has(e))return Y(`Optional content group not found: ${e}`),!0;if(!this.#rg.get(e).visible)return!0}return!1}else if("AllOff"===t.policy){for(let e of t.ids){if(!this.#rg.has(e)){Y(`Optional content group not found: ${e}`);break}if(this.#rg.get(e).visible)return!1}return!0}}else{for(let e of t.ids){if(!this.#rg.has(e))return Y(`Optional content group not found: ${e}`),!0;if(this.#rg.get(e).visible)return!0}return!1}return Y(`Unknown optional content policy ${t.policy}.`),!0}return Y(`Unknown group type ${t.type}.`),!0}setVisibility(t,e=!0,i=!0){let r=this.#rg.get(t);if(!r)return void Y(`Optional content group not found: ${t}`);if(i&&e&&r.rbGroups.length)for(let e of r.rbGroups)for(let i of e)i!==t&&this.#rg.get(i)?._setVisible(ib,!1,!0);r._setVisible(ib,!!e,!0),this.#rp=null}setOCGState({state:t,preserveRB:e}){let i;for(let r of t){switch(r){case"ON":case"OFF":case"Toggle":i=r;continue}let t=this.#rg.get(r);if(t)switch(i){case"ON":this.setVisibility(r,!0,e);break;case"OFF":this.setVisibility(r,!1,e);break;case"Toggle":this.setVisibility(r,!t.visible,e)}}this.#rp=null}get hasInitialVisibility(){return null===this.#rf||this.getHash()===this.#rf}getOrder(){return this.#rg.size?this.#rm?this.#rm.slice():[...this.#rg.keys()]:null}getGroup(t){return this.#rg.get(t)||null}getHash(){if(null!==this.#rp)return this.#rp;let t=new er;for(let[e,i]of this.#rg)t.update(`${e}:${i.visible}`);return this.#rp=t.hexdigest()}[Symbol.iterator](){return this.#rg.entries()}}class iw{constructor(t,{disableRange:e=!1,disableStream:i=!1}){J(t,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');const{length:r,initialData:s,progressiveDone:n,contentDispositionFilename:a}=t;if(this._queuedChunks=[],this._progressiveDone=n,this._contentDispositionFilename=a,s?.length>0){const t=s instanceof Uint8Array&&s.byteLength===s.buffer.byteLength?s.buffer:new Uint8Array(s).buffer;this._queuedChunks.push(t)}this._pdfDataRangeTransport=t,this._isStreamingSupported=!i,this._isRangeSupported=!e,this._contentLength=r,this._fullRequestReader=null,this._rangeReaders=[],t.addRangeListener((t,e)=>{this._onReceiveData({begin:t,chunk:e})}),t.addProgressListener((t,e)=>{this._onProgress({loaded:t,total:e})}),t.addProgressiveReadListener(t=>{this._onReceiveData({chunk:t})}),t.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),t.transportReady()}_onReceiveData({begin:t,chunk:e}){let i=e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer;void 0===t?this._fullRequestReader?this._fullRequestReader._enqueue(i):this._queuedChunks.push(i):J(this._rangeReaders.some(function(e){return e._begin===t&&(e._enqueue(i),!0)}),"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}_onProgress(t){void 0===t.total?this._rangeReaders[0]?.onProgress?.({loaded:t.loaded}):this._fullRequestReader?.onProgress?.({loaded:t.loaded,total:t.total})}_onProgressiveDone(){this._fullRequestReader?.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){let e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){J(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");let t=this._queuedChunks;return this._queuedChunks=null,new ix(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;let i=new iA(this,t,e);return this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(i),i}cancelAllRequests(t){for(let e of(this._fullRequestReader?.cancel(t),this._rangeReaders.slice(0)))e.cancel(t);this._pdfDataRangeTransport.abort()}}class ix{constructor(t,e,i=!1,r=null){for(const s of(this._stream=t,this._done=i||!1,this._filename=tM(r)?r:null,this._queuedChunks=e||[],this._loaded=0,this._queuedChunks))this._loaded+=s.byteLength;
2this._requests=[],this._headersReady=Promise.resolve(),t._fullRequestReader=this,this.onProgress=null}_enqueue(t){this._done||(this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunks.push(t),this._loaded+=t.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){for(let t of(this._done=!0,this._requests))t.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class iA{constructor(t,e,i){this._stream=t,this._begin=e,this._end=i,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(t){if(!this._done){if(0===this._requests.length)this._queuedChunk=t;else{for(let e of(this._requests.shift().resolve({value:t,done:!1}),this._requests))e.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){let t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};let t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){for(let t of(this._done=!0,this._requests))t.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function i_(t,e){let i=new Headers;if(!t||!e||"object"!=typeof e)return i;for(let t in e){let r=e[t];void 0!==r&&i.append(t,r)}return i}function iS(t){return URL.parse(t)?.origin??null}function iE({responseHeaders:t,isHttp:e,rangeChunkSize:i,disableRange:r}){let s={allowRangeRequests:!1,suggestedLength:void 0},n=parseInt(t.get("Content-Length"),10);return Number.isInteger(n)&&(s.suggestedLength=n,n<=2*i||r||!e||"bytes"!==t.get("Accept-Ranges")||"identity"!==(t.get("Content-Encoding")||"identity")||(s.allowRangeRequests=!0)),s}function iT(t){let e=t.get("Content-Disposition");if(e){let t=function(t){let e=!0,i=r("filename\\*","i").exec(t);if(i){let t=a(i=i[1]);return n(t=l(t=o(t=unescape(t))))}if(i=function(t){let e,i=[],s=r("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(e=s.exec(t));){let[,t,r,s]=e;if((t=parseInt(t,10))in i){if(0===t)break;continue}i[t]=[r,s]}let n=[];for(let t=0;t<i.length&&t in i;++t){let[e,r]=i[t];r=a(r),e&&(r=unescape(r),0===t&&(r=o(r))),n.push(r)}return n.join("")}(t))return n(l(i));if(i=r("filename","i").exec(t)){let t=a(i=i[1]);return n(t=l(t))}function r(t,e){return RegExp("(?:^|;)\\s*"+t+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',e)}function s(t,i){if(t){if(!/^[\x00-\xFF]+$/.test(i))return i;try{let r=new TextDecoder(t,{fatal:!0}),s=th(i);i=r.decode(s),e=!1}catch{}}return i}function n(t){return e&&/[\x80-\xff]/.test(t)&&(t=s("utf-8",t),e&&(t=s("iso-8859-1",t))),t}function a(t){if(t.startsWith('"')){let e=t.slice(1).split('\\"');for(let t=0;t<e.length;++t){let i=e[t].indexOf('"');-1!==i&&(e[t]=e[t].slice(0,i),e.length=t+1),e[t]=e[t].replaceAll(/\\(.)/g,"$1")}t=e.join('"')}return t}function o(t){let e=t.indexOf("'");return -1===e?t:s(t.slice(0,e),t.slice(e+1).replace(/^[^']*'/,""))}function l(t){return!t.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(t)?t:t.replaceAll(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g,function(t,e,i,r){if("q"===i||"Q"===i)return s(e,r=(r=r.replaceAll("_"," ")).replaceAll(/=([0-9a-fA-F]{2})/g,function(t,e){return String.fromCharCode(parseInt(e,16))}));try{r=atob(r)}catch{}return s(e,r)})}return""}(e);if(t.includes("%"))try{t=decodeURIComponent(t)}catch{}if(tM(t))return t}return null}function iC(t,e){return new tn(`Unexpected server response (${t}) while retrieving PDF "${e}".`,t,404===t||0===t&&e.startsWith("file:"))}function iM(t){return 200===t||206===t}function ik(t,e,i){return{method:"GET",headers:t,signal:i.signal,mode:"cors",credentials:e?"include":"same-origin",redirect:"follow"}}function iP(t){return t instanceof Uint8Array?t.buffer:t instanceof ArrayBuffer?t:(Y(`getArrayBuffer - unexpected data format: ${t}`),new Uint8Array(t).buffer)}class iD{_responseOrigin=null;constructor(t){this.source=t,this.isHttp=/^https?:/i.test(t.url),this.headers=i_(this.isHttp,t.httpHeaders),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return J(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new iI(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;let i=new iR(this,t,e);return this._rangeRequestReaders.push(i),i}cancelAllRequests(t){for(let e of(this._fullRequestReader?.cancel(t),this._rangeRequestReaders.slice(0)))e.cancel(t)}}class iI{constructor(t){this._stream=t,this._reader=null,this._loaded=0,this._filename=null;const e=t.source;this._withCredentials=e.withCredentials||!1,this._contentLength=e.length,this._headersCapability=Promise.withResolvers(),this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange;const i=new Headers(t.headers),r=e.url;fetch(r,ik(i,this._withCredentials,this._abortController)).then(e=>{if(t._responseOrigin=iS(e.url),!iM(e.status))throw iC(e.status,r);this._reader=e.body.getReader(),this._headersCapability.resolve();let i=e.headers,{allowRangeRequests:s,suggestedLength:n}=iE({responseHeaders:i,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=s,this._contentLength=n||this._contentLength,this._filename=iT(i),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new to("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;let{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,this.onProgress?.({loaded:this._loaded,total:this._contentLength}),{value:iP(t),done:!1})}cancel(t){this._reader?.cancel(t),this._abortController.abort()}}class iR{constructor(t,e,i){this._stream=t,this._reader=null,this._loaded=0;const r=t.source;this._withCredentials=r.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!r.disableStream,this._abortController=new AbortController;const s=new Headers(t.headers);s.append("Range",`bytes=${e}-${i-1}`);const n=r.url;fetch(n,ik(s,this._withCredentials,this._abortController)).then(e=>{let i=iS(e.url);if(i!==t._responseOrigin)throw Error(`Expected range response-origin "${i}" to match "${t._responseOrigin}".`);if(!iM(e.status))throw iC(e.status,n);this._readCapability.resolve(),this._reader=e.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;let{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,this.onProgress?.({loaded:this._loaded}),{value:iP(t),done:!1})}cancel(t){this._reader?.cancel(t),this._abortController.abort()}}class iL{_responseOrigin=null;constructor({url:t,httpHeaders:e,withCredentials:i}){this.url=t,this.isHttp=/^https?:/i.test(t),this.headers=i_(this.isHttp,e),this.withCredentials=i||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}request(t){let e=new XMLHttpRequest,i=this.currXhrId++,r=this.pendingRequests[i]={xhr:e};for(let[t,i]of(e.open("GET",this.url),e.withCredentials=this.withCredentials,this.headers))e.setRequestHeader(t,i);return this.isHttp&&"begin"in t&&"end"in t?(e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`),r.expectedStatus=206):r.expectedStatus=200,e.responseType="arraybuffer",J(t.onError,"Expected `onError` callback to be provided."),e.onerror=()=>{t.onError(e.status)},e.onreadystatechange=this.onStateChange.bind(this,i),e.onprogress=this.onProgress.bind(this,i),r.onHeadersReceived=t.onHeadersReceived,r.onDone=t.onDone,r.onError=t.onError,r.onProgress=t.onProgress,e.send(null),i}onProgress(t,e){let i=this.pendingRequests[t];i&&i.onProgress?.(e)}onStateChange(t,e){let i,r=this.pendingRequests[t];if(!r)return;let s=r.xhr;if(s.readyState>=2&&r.onHeadersReceived&&(r.onHeadersReceived(),delete r.onHeadersReceived),4!==s.readyState||!(t in this.pendingRequests))return;if(delete this.pendingRequests[t],0===s.status&&this.isHttp)return void r.onError(s.status);let n=s.status||200;if((200!==n||206!==r.expectedStatus)&&n!==r.expectedStatus)return void r.onError(s.status);let a="string"!=typeof(i=s.response)?i:th(i).buffer;if(206===n){let t=s.getResponseHeader("Content-Range"),e=/bytes (\d+)-(\d+)\/(\d+)/.exec(t);e?r.onDone({begin:parseInt(e[1],10),chunk:a}):(Y('Missing or invalid "Content-Range" header.'),r.onError(0))}else a?r.onDone({begin:0,chunk:a}):r.onError(s.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}
2abortRequest(t){let e=this.pendingRequests[t].xhr;delete this.pendingRequests[t],e.abort()}}class iB{constructor(t){this._source=t,this._manager=new iL(t),this._rangeChunkSize=t.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){let e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){return J(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new iF(this._manager,this._source),this._fullRequestReader}getRangeReader(t,e){let i=new iN(this._manager,t,e);return i.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(i),i}cancelAllRequests(t){for(let e of(this._fullRequestReader?.cancel(t),this._rangeRequestReaders.slice(0)))e.cancel(t)}}class iF{constructor(t,e){this._manager=t,this._url=e.url,this._fullRequestId=t.request({onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)}),this._headersCapability=Promise.withResolvers(),this._disableRange=e.disableRange||!1,this._contentLength=e.length,this._rangeChunkSize=e.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){let t=this._fullRequestId,e=this._manager.getRequestXhr(t);this._manager._responseOrigin=iS(e.responseURL);let i=e.getAllResponseHeaders(),r=new Headers(i?i.trimStart().replace(/[^\S ]+$/,"").split(/[\r\n]+/).map(t=>{let[e,...i]=t.split(": ");return[e,i.join(": ")]}):[]),{allowRangeRequests:s,suggestedLength:n}=iE({responseHeaders:r,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});s&&(this._isRangeSupported=!0),this._contentLength=n||this._contentLength,this._filename=iT(r),this._isRangeSupported&&this._manager.abortRequest(t),this._headersCapability.resolve()}_onDone(t){if(t&&(this._requests.length>0?this._requests.shift().resolve({value:t.chunk,done:!1}):this._cachedChunks.push(t.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(let t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){for(let e of(this._storedError=iC(t,this._url),this._headersCapability.reject(this._storedError),this._requests))e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(t){this.onProgress?.({loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersCapability.promise}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){for(let e of(this._done=!0,this._headersCapability.reject(t),this._requests))e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class iN{constructor(t,e,i){this._manager=t,this._url=t.url,this._requestId=t.request({begin:e,end:i,onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)}),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_onHeadersReceived(){let t=iS(this._manager.getRequestXhr(this._requestId)?.responseURL);t!==this._manager._responseOrigin&&(this._storedError=Error(`Expected range response-origin "${t}" to match "${this._manager._responseOrigin}".`),this._onError(0))}_close(){this.onClosed?.(this)}_onDone(t){let e=t.chunk;for(let t of(this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0,this._requests))t.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(t){for(let e of(this._storedError??=iC(t,this._url),this._requests))e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(t){this.isStreamingSupported||this.onProgress?.({loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){let t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};let t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){for(let t of(this._done=!0,this._requests))t.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest
2(this._requestId),this._close()}}let iO=/^[a-z][a-z0-9\-+.]+:/i;class ij{constructor(t){this.source=t,this.url=function(t){return new URL(iO.test(t)?t:w.default.getBuiltinModule("url").pathToFileURL(t))}(t.url),J("file:"===this.url.protocol,"PDFNodeStream only supports file:// URLs."),this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return J(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=new iU(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;let i=new iz(this,t,e);return this._rangeRequestReaders.push(i),i}cancelAllRequests(t){for(let e of(this._fullRequestReader?.cancel(t),this._rangeRequestReaders.slice(0)))e.cancel(t)}}class iU{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;const e=t.source;this._contentLength=e.length,this._loaded=0,this._filename=null,this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers();const i=w.default.getBuiltinModule("fs");i.promises.lstat(this._url).then(t=>{this._contentLength=t.size,this._setReadableStream(i.createReadStream(this._url)),this._headersCapability.resolve()},t=>{"ENOENT"===t.code&&(t=iC(0,this._url.href)),this._storedError=t,this._headersCapability.reject(t)})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;let t=this._readableStream.read();return null===t?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,this.onProgress?.({loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new to("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class iz{constructor(t,e,i){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const r=t.source;this._isStreamingSupported=!r.disableStream;const s=w.default.getBuiltinModule("fs");this._setReadableStream(s.createReadStream(this._url,{start:e,end:i-1}))}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;let t=this._readableStream.read();return null===t?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,this.onProgress?.({loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}let i$=Symbol("INITIAL_DATA");class iH{#rv=Object.create(null);#ry(t){return this.#rv[t]||={...Promise.withResolvers(),data:i$}}get(t,e=null){if(e){let i=this.#ry(t);return i.promise.then(()=>e(i.data)),null}let i=this.#rv[t];if(!i||i.data===i$)throw Error(`Requesting object that isn't resolved yet ${t}.`);return i.data}has(t){let e=this.#rv[t];return!!e&&e.data!==i$}delete(t){let e=this.#rv[t];return!!e&&e.data!==i$&&(delete this.#rv[t],!0)}resolve(t,e=null){let i=this.#ry(t);i.data=e,i.resolve()}clear(){for(let t in this.#rv){let{data:e}=this.#rv[t];e?.bitmap?.close()}this.#rv=Object.create(null)}*[Symbol.iterator](){for(let t in this.#rv){let{data:e}=this.#rv[t];e!==i$&&(yield[t,e])}}}class iG{#rw=Promise.withResolvers();#tx=null;#rx=!1;#rA=!!globalThis.FontInspector?.enabled;#r_=null;#rS=null;#rE=0;#rT=0;#rC=null;#rM=null;#rk=0;#rP=0;#rD=Object.create(null);#rI=[];#rR=null;#rL=[];#rB=new WeakMap;#rF=null;static #rN=new Map;static #rO=new Map;static #rj=new WeakMap;static #rU=null;static #rz=new Set;constructor({textContentSource:t,container:e,viewport:i}){if(t instanceof ReadableStream)this.#rR=t;else if("object"==typeof t)this.#rR=new ReadableStream({start(e){e.enqueue(t),e.close()}});else throw Error('No "textContentSource" parameter specified.');this.#tx=this.#rM=e,this.#rP=i.scale*tz.pixelRatio,this.#rk=i.rotation,this.#rS={div:null,properties:null,ctx:null};const{pageWidth:r,pageHeight:s,pageX:n,pageY:a}=i.rawDims;this.#rF=[1,0,0,-1,-n,a+s],this.#rT=r,this.#rE=s,iG.#r$(),tU(e,i),this.#rw.promise.finally(()=>{iG.#rz.delete(this),this.#rS=null,this.#rD=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:t,isFirefox:e}=td.platform;return tt(this,"fontFamilyMap",new Map([["sans-serif",`${t&&e?"Calibri, ":""}sans-serif`],["monospace",`${t&&e?"Lucida Console, ":""}monospace`]]))}render(){let t=()=>{this.#rC.read().then(({value:e,done:i})=>{i?this.#rw.resolve():(this.#r_??=e.lang,Object.assign(this.#rD,e.styles),this.#rH(e.items),t())},this.#rw.reject)};return this.#rC=this.#rR.getReader(),iG.#rz.add(this),t(),this.#rw.promise}update({viewport:t,onBefore:e=null}){let i=t.scale*tz.pixelRatio,r=t.rotation;if(r!==this.#rk&&(e?.(),this.#rk=r,tU(this.#rM,{rotation:r})),i!==this.#rP){e?.(),this.#rP=i;let t={div:null,properties:null,ctx:iG.#rG(this.#r_)};for(let e of this.#rL)t.properties=this.#rB.get(e),t.div=e,this.#rV(t)}}cancel(){let t=new to("TextLayer task cancelled.");this.#rC?.cancel(t).catch(()=>{}),this.#rC=null,this.#rw.reject(t)}get textDivs(){return this.#rL}get textContentItemsStr(){return this.#rI}#rH(t){if(this.#rx)return;this.#rS.ctx??=iG.#rG(this.#r_);let e=this.#rL,i=this.#rI;for(let r of t){if(e.length>1e5){Y("Ignoring additional textDivs for performance reasons."),this.#rx=!0;return}if(void 0===r.str){if("beginMarkedContentProps"===r.type||"beginMarkedContent"===r.type){let t=this.#tx;this.#tx=document.createElement("span"),this.#tx.classList.add("markedContent"),r.id&&this.#tx.setAttribute("id",`${r.id}`),t.append(this.#tx)}else"endMarkedContent"===r.type&&(this.#tx=this.#tx.parentNode);continue}i.push(r.str),this.#rW(r)}}#rW(t){let e,i,r=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:""!==t.str,hasEOL:t.hasEOL,fontSize:0};this.#rL.push(r);let n=tu.transform(this.#rF,t.transform),a=Math.atan2(n[1],n[0]),o=this.#rD[t.fontName];o.vertical&&(a+=Math.PI/2);let l=this.#rA&&o.fontSubstitution||o.fontFamily;l=iG.fontFamilyMap.get(l)||l;let h=Math.hypot(n[2],n[3]),d=h*iG.#rq(l,o,this.#r_);0===a?(e=n[4],i=n[5]-d):(e=n[4]+d*Math.sin(a),i=n[5]-d*Math.cos(a));let c="calc(var(--total-scale-factor) *",u=r.style;this.#tx===this.#rM?(u.left=`${(100*e/this.#rT).toFixed(2)}%`,u.top=`${(100*i/this.#rE).toFixed(2)}%`):(u.left=`${c}${e.toFixed(2)}px)`,u.top=`${c}${i.toFixed(2)}px)`),u.fontSize=`${c}${(iG.#rU*h).toFixed(2)}px)`,u.fontFamily=l,s.fontSize=h,r.setAttribute("role","presentation"),r.textContent=t.str,r.dir=t.dir,this.#rA&&(r.dataset.fontName=o.fontSubstitutionLoadedName||t.fontName),0!==a&&(s.angle=180/Math.PI*a);let p=!1;if(t.str.length>1)p=!0;else if(" "!==t.str&&t.transform[0]!==t.transform[3]){let e=Math.abs(t.transform[0]),i=Math.abs(t.transform[3]);e!==i&&Math.max(e,i)/Math.min(e,i)>1.5&&(p=!0)}if(p&&(s.canvasWidth=o.vertical?t.height:t.width),this.#rB.set(r,s),this.#rS.div=r,this.#rS.properties=s,this.#rV(this.#rS),s.hasText&&this.#tx.append(r),s.hasEOL){let t=document.createElement("br");t.setAttribute("role","presentation"),this.#tx.append(t)}}#rV(t){let{div:e,properties:i,ctx:r}=t,{style:s}=e,n="";if(iG.#rU>1&&(n=`scale(${1/iG.#rU})`),0!==i.canvasWidth&&i.hasText){let{fontFamily:t}=s,{canvasWidth:a,fontSize:o}=i;iG.#rX(r,o*this.#rP,t);let{width:l}=r.measureText(e.textContent);l>0&&(n=`scaleX(${a*this.#rP/l}) ${n}`)}0!==i.angle&&(n=`rotate(${i.angle}deg) ${n}`),n.length>0&&(s.transform=n)}static cleanup(){if(!(this.#rz.size>0)){for(let{canvas:t}
2of(this.#rN.clear(),this.#rO.values()))t.remove();this.#rO.clear()}}static #rG(t=null){let e=this.#rO.get(t||="");if(!e){let i=document.createElement("canvas");i.className="hiddenCanvasElement",i.lang=t,document.body.append(i),e=i.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#rO.set(t,e),this.#rj.set(e,{size:0,family:""})}return e}static #rX(t,e,i){let r=this.#rj.get(t);(e!==r.size||i!==r.family)&&(t.font=`${e}px ${i}`,r.size=e,r.family=i)}static #r$(){if(null!==this.#rU)return;let t=document.createElement("div");t.style.opacity=0,t.style.lineHeight=1,t.style.fontSize="1px",t.style.position="absolute",t.textContent="X",document.body.append(t),this.#rU=t.getBoundingClientRect().height,t.remove()}static #rq(t,e,i){let r=this.#rN.get(t);if(r)return r;let s=this.#rG(i);s.canvas.width=s.canvas.height=30,this.#rX(s,30,t);let n=s.measureText(""),a=n.fontBoundingBoxAscent,o=Math.abs(n.fontBoundingBoxDescent);s.canvas.width=s.canvas.height=0;let l=.8;return a?l=a/(a+o):(td.platform.isFirefox&&Y("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering."),e.ascent?l=e.ascent:e.descent&&(l=1+e.desce
2nt)),this.#rN.set(t,l),l}}function iV(t={}){"string"==typeof t||t instanceof URL?t={url:t}:(t instanceof ArrayBuffer||ArrayBuffer.isView(t))&&(t={data:t});let e=new iW,{docId:i}=e,r=t.url?function(t){if(t instanceof URL)return t.href;if("string"==typeof t){if(B)return t;let e=URL.parse(t,window.location);if(e)return e.href}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}(t.url):null,s=t.data?function(t){if(B&&void 0!==S.Buffer&&t instanceof S.Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(t instanceof Uint8Array&&t.byteLength===t.buffer.byteLength)return t;if("string"==typeof t)return th(t);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)||"object"==typeof t&&!isNaN(t?.length))return new Uint8Array(t);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}(t.data):null,n=t.httpHeaders||null,a=!0===t.withCredentials,o=t.password??null,l=t.range instanceof iq?t.range:null,h=Number.isInteger(t.rangeChunkSize)&&t.rangeChunkSize>0?t.rangeChunkSize:65536,d=t.worker instanceof iJ?t.worker:null,c=t.verbosity,u="string"!=typeof t.docBaseUrl||tC(t.docBaseUrl)?null:t.docBaseUrl,p=eh(t.cMapUrl),g=!1!==t.cMapPacked,f=t.CMapReaderFactory||(B?ek:ey),m=eh(t.iccUrl),b=eh(t.standardFontDataUrl),v=t.StandardFontDataFactory||(B?eP:e_),y=eh(t.wasmUrl),w=t.WasmFactory||(B?eD:eE),x=!0!==t.stopAtErrors,A=Number.isInteger(t.maxImageSize)&&t.maxImageSize>-1?t.maxImageSize:-1,_=!1!==t.isEvalSupported,E="boolean"==typeof t.isOffscreenCanvasSupported?t.isOffscreenCanvasSupported:!B,T="boolean"==typeof t.isImageDecoderSupported?t.isImageDecoderSupported:!B&&(td.platform.isFirefox||!globalThis.chrome),C=Number.isInteger(t.canvasMaxAreaInBytes)?t.canvasMaxAreaInBytes:-1,M="boolean"==typeof t.disableFontFace?t.disableFontFace:B,k=!0===t.fontExtraProperties,P=!0===t.enableXfa,D=t.ownerDocument||globalThis.document,I=!0===t.disableRange,R=!0===t.disableStream,L=!0===t.disableAutoFetch,F=!0===t.pdfBug,N=t.CanvasFactory||(B?eM:eb),O=t.FilterFactory||(B?eC:ex),j=!0===t.enableHWA,U=!1!==t.useWasm,z=l?l.length:t.length??NaN,$="boolean"==typeof t.useSystemFonts?t.useSystemFonts:!B&&!M,H="boolean"==typeof t.useWorkerFetch?t.useWorkerFetch:!!(f===ey&&v===e_&&w===eE&&p&&b&&y&&tI(p,document.baseURI)&&tI(b,document.baseURI)&&tI(y,document.baseURI));Number.isInteger(c)&&(q=c);let G={canvasFactory:new N({ownerDocument:D,enableHWA:j}),filterFactory:new O({docId:i,ownerDocument:D}),cMapReaderFactory:H?null:new f({baseUrl:p,isCompressed:g}),standardFontDataFactory:H?null:new v({baseUrl:b}),wasmFactory:H?null:new w({baseUrl:y})};d||(e._worker=d=iJ.create({verbosity:c,port:ig.workerPort}));let V={docId:i,apiVersion:"5.4.296",data:s,password:o,disableAutoFetch:L,rangeChunkSize:h,length:z,docBaseUrl:u,enableXfa:P,evaluatorOptions:{maxImageSize:A,disableFontFace:M,ignoreErrors:x,isEvalSupported:_,isOffscreenCanvasSupported:E,isImageDecoderSupported:T,canvasMaxAreaInBytes:C,fontExtraProperties:k,useSystemFonts:$,useWasm:U,useWorkerFetch:H,cMapUrl:p,iccUrl:m,standardFontDataUrl:b,wasmUrl:y}},W={ownerDocument:D,pdfBug:F,styleElement:null,loadingParams:{disableAutoFetch:L,enableXfa:P}};return d.promise.then(function(){let t;if(e.destroyed)throw Error("Loading aborted");if(d.destroyed)throw Error("Worker was destroyed");let o=d.messageHandler.sendWithPromise("GetDocRequest",V,s?[s.buffer]:null);if(l)t=new iw(l,{disableRange:I,disableStream:R});else if(!s){if(!r)throw Error("getDocument - no `url` parameter provided.");t=new(tI(r)?iD:B?ij:iB)({url:r,length:z,httpHeaders:n,withCredentials:a,rangeChunkSize:h,disableRange:I,disableStream:R})}return o.then(r=>{if(e.destroyed)throw Error("Loading aborted");if(d.destroyed)throw Error("Worker was destroyed");let s=new ef(i,r,d.port),n=new iQ(s,e,t,W,G,j);e._transport=n,s.send("Ready",null)})}).catch(e._capability.reject),e}class iW{static #ib=0;_capability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${iW.#ib++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0;try{this._worker?.port&&(this._worker._pendingDestroy=!0),await this._transport?.destroy()}catch(t){throw this._worker?.port&&delete this._worker._pendingDestroy,t}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}}class iq{#rw=Promise.withResolvers();#rY=[];#rK=[];#rJ=[];#rQ=[];constructor(t,e,i=!1,r=null){this.length=t,this.initialData=e,this.progressiveDone=i,this.contentDispositionFilename=r}addRangeListener(t){this.#rQ.push(t)}addProgressListener(t){this.#rJ.push(t)}addProgressiveReadListener(t){this.#rK.push(t)}addProgressiveDoneListener(t){this.#rY.push(t)}onDataRange(t,e){for(let i of this.#rQ)i(t,e)}onDataProgress(t,e){this.#rw.promise.then(()=>{for(let i of this.#rJ)i(t,e)})}onDataProgressiveRead(t){this.#rw.promise.then(()=>{for(let e of this.#rK)e(t)})}onDataProgressiveDone(){this.#rw.promise.then(()=>{for(let t of this.#rY)t()})}transportReady(){this.#rw.resolve()}requestDataRange(t,e){K("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class iX{constructor(t,e){this._pdfInfo=t,this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return tt(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAnnotationsByType(t,e){return this._transport.getAnnotationsByType(t,e)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:t="display"}={}){let{renderingIntent:e}
vendor: 1,982 bytes, line 2
2=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class iY{#rZ=!1;constructor(t,e,i,r=!1){this._pageIndex=t,this._pageInfo=e,this._transport=i,this._stats=r?new tD:null,this._pdfBug=r,this.commonObjs=i.commonObjs,this.objs=new iH,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:i=0,offsetY:r=0,dontFlip:s=!1}={}){return new tE({viewBox:this.view,userUnit:this.userUnit,scale:t,rotation:e,offsetX:i,offsetY:r,dontFlip:s})}getAnnotations({intent:t="display"}={}){let{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return tt(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}
2render({canvasContext:t,canvas:e=t.canvas,viewport:i,intent:r="display",annotationMode:s=N.ENABLE,transform:n=null,background:a=null,optionalContentConfigPromise:o=null,annotationCanvasMap:l=null,pageColors:h=null,printAnnotationStorage:d=null,isEditing:c=!1,recordOperations:u=!1,operationsFilter:p=null}){this._stats?.time("Overall");let g=this._transport.getRenderingIntent(r,s,d,c),{renderingIntent:f,cacheKey:m}=g;this.#rZ=!1,o||=this._transport.getOptionalContentConfig(f);let b=this._intentStates.get(m);b||(b=Object.create(null),this._intentStates.set(m,b)),b.streamReaderCancelTimeout&&(clearTimeout(b.streamReaderCancelTimeout),b.streamReaderCancelTimeout=null);let v=!!(4&f);b.displayReadyCapability||(b.displayReadyCapability=Promise.withResolvers(),b.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(g));let y=!!(this._pdfBug&&globalThis.StepperManager?.enabled),w=!this.recordedBBoxes&&(u||y),x=t=>{if(b.renderTasks.delete(A),w){let t=A.gfx?.dependencyTracker.take();t&&(A.stepper&&A.stepper.setOperatorBBoxes(t,A.gfx.dependencyTracker.takeDebugMetadata()),u&&(this.recordedBBoxes=t))}v&&(this.#rZ=!0),this.#r0(),t?(A.capability.reject(t),this._abortOperatorList({intentState:b,reason:t instanceof Error?t:Error(t)})):A.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},A=new i0({callback:x,params:{canvas:e,canvasContext:t,dependencyTracker:w?new ej(e,b.operatorList.length,y):null,viewport:i,transform:n,background:a},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:l,operatorList:b.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!v,pdfBug:this._pdfBug,pageColors:h,enableHWA:this._transport.enableHWA,operationsFilter:p});(b.renderTasks||=new Set).add(A);let _=A.task;return Promise.all([b.displayReadyCapability.promise,o]).then(([t,e])=>{if(this.destroyed)return void x();if(this._stats?.time("Rendering"),!(e.renderingIntent&f))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");A.initializeGraphics({transparency:t,optionalContentConfig:e}),A.operatorListChanged()}).catch(x),_}getOperatorList({intent:t="display",annotationMode:e=N.ENABLE,printAnnotationStorage:i=null,isEditing:r=!1}={}){let s,n=this._transport.getRenderingIntent(t,e,i,r,!0),a=this._intentStates.get(n.cacheKey);return a||(a=Object.create(null),this._intentStates.set(n.cacheKey,a)),a.opListReadCapability||((s=Object.create(null)).operatorListChanged=function(){a.operatorList.lastChunk&&(a.opListReadCapability.resolve(a.operatorList),a.renderTasks.delete(s))},a.opListReadCapability=Promise.withResolvers(),(a.renderTasks||=new Set).add(s),a.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(n)),a.opListReadCapability.promise}streamTextContent({includeMarkedContent:t=!1,disableNormalization:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:!0===t,disableNormalization:!0===e},{highWaterMark:100,size:t=>t.items.length})}getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then(t=>tw.textContent(t));let e=this.streamTextContent(t);return new Promise(function(t,i){let r=e.getReader(),s={items:[],styles:Object.create(null),lang:null};!function e(){r.read().then(function({value:i,done:r}){r?t(s):(s.lang??=i.lang,Object.assign(s.styles,i.styles),s.items.push(...i.items),e())},i)}()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let t=[];for(let e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(let i of e.renderTasks)t.push(i.completed),i.cancel();return this.objs.clear(),this.#rZ=!1,Promise.all(t)}cleanup(t=!1){this.#rZ=!0;let e=this.#r0();
2return t&&e&&(this._stats&&=new tD),e}#r0(){if(!this.#rZ||this.destroyed)return!1;for(let{renderTasks:t,operatorList:e}of this._intentStates.values())if(t.size>0||!e.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#rZ=!1,!0}_startRenderPage(t,e){let i=this._intentStates.get(e);i&&(this._stats?.timeEnd("Page Request"),i.displayReadyCapability?.resolve(t))}_renderPageChunk(t,e){for(let i=0,r=t.length;i<r;i++)e.operatorList.fnArray.push(t.fnArray[i]),e.operatorList.argsArray.push(t.argsArray[i]);for(let i of(e.operatorList.lastChunk=t.lastChunk,e.operatorList.separateAnnots=t.separateAnnots,e.renderTasks))i.operatorListChanged();t.lastChunk&&this.#r0()}_pumpOperatorList({renderingIntent:t,cacheKey:e,annotationStorageSerializable:i,modifiedIds:r}){let{map:s,transfer:n}=i,a=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageIndex:this._pageIndex,intent:t,cacheKey:e,annotationStorage:s,modifiedIds:r},n).getReader(),o=this._intentStates.get(e);o.streamReader=a;let l=()=>{a.read().then(({value:t,done:e})=>{if(e){o.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(t,o),l())},t=>{if(o.streamReader=null,!this._transport.destroyed){if(o.operatorList){for(let t of(o.operatorList.lastChunk=!0,o.renderTasks))t.operatorListChanged();this.#r0()}if(o.displayReadyCapability)o.displayReadyCapability.reject(t);else if(o.opListReadCapability)o.opListReadCapability.reject(t);else throw t}})};l()}_abortOperatorList({intentState:t,reason:e,force:i=!1}){if(t.streamReader){if(t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null),!i){if(t.renderTasks.size>0)return;if(e instanceof tT){let i=100;e.extraDelay>0&&e.extraDelay<1e3&&(i+=e.extraDelay),t.streamReaderCancelTimeout=setTimeout(()=>{t.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:t,reason:e,force:!0})},i);return}}if(t.streamReader.cancel(new to(e.message)).catch(()=>{}),t.streamReader=null,!this._transport.destroyed){for(let[e,i]of this._intentStates)if(i===t){this._intentStates.delete(e);break}this.cleanup()}}}get stats(){return this._stats}}let iK=class t{constructor({name:e=null,port:i=null,verbosity:r=q}={}){if(k(this,c),k(this,s,Promise.withResolvers()),k(this,n,null),k(this,a,null),k(this,o,null),this.name=e,this.destroyed=!1,this.verbosity=r,i){if(M(t,d).has(i))throw Error("Cannot use more than one PDFWorker per port.");M(t,d).set(i,this),D(this,c,p).call(this,i)}else D(this,c,g).call(this)}get promise(){return M(this,s).promise}get port(){return M(this,a)}get messageHandler(){return M(this,n)}destroy(){this.destroyed=!0,M(this,o)?.terminate(),P(this,o,null),M(t,d).delete(M(this,a)),P(this,a,null),M(this,n)?.destroy(),P(this,n,null)}static create(e){let i=M(this,d).get(e?.port);if(i){if(i._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return i}return new t(e)}static get workerSrc(){if(ig.workerSrc)return ig.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return tt(this,"_setupFakeWorkerGlobal",(async()=>M(this,m,b)?M(this,m,b):(await import(this.workerSrc)).WorkerMessageHandler)())}};s=new WeakMap,n=new WeakMap,a=new WeakMap,o=new WeakMap,l=new WeakMap,h=new WeakMap,d=new WeakMap,c=new WeakSet,u=function(){M(this,s).resolve(),M(this,n).send("configure",{verbosity:this.verbosity})},p=function(t){P(this,a,t),P(this,n,new ef("main","worker",t)),M(this,n).on("ready",()=>{}),D(this,c,u).call(this)},g=function(){if(M(iK,h)||M(iK,m,b))return void D(this,c,f).call(this);let{workerSrc:t}=iK;try{iK._isSameOrigin(window.location,t)||(t=iK._createCDNWrapper(new URL(t,window.location).href));let e=new Worker(t,{type:"module"}),i=new ef("main","worker",e),r=()=>{l.abort(),i.destroy(),e.terminate(),this.destroyed?M(this,s).reject(Error("Worker was destroyed")):D(this,c,f).call(this)},l=new AbortController;e.addEventListener("error",()=>{M(this,o)||r()},{signal:l.signal}),i.on("test",t=>{(l.abort(),this.destroyed||!t)?r():(P(this,n,i),P(this,a,e),P(this,o,e),D(this,c,u).call(this))}),i.on("ready",t=>{if(l.abort(),this.destroyed)return void r();try{h()}catch{D(this,c,f).call(this)}});let h=()=>{let t=new Uint8Array;i.send("test",t,[t.buffer])};h();return}catch{X("The worker has been disabled.")}D(this,c,f).call(this)},f=function(){M(iK,h)||(Y("Setting up fake worker."),P(iK,h,!0)),iK._setupFakeWorkerGlobal.then(t=>{let e,i;if(this.destroyed)return void M(this,s).reject(Error("Worker was destroyed"));let r=new eu;P(this,a,r);let o=`fake${{set _(value){P(iK,l,value,e)},get _(){return M(iK,l,i)}}._++}`,h=new ef(o+"_worker",o,r);t.setup(h,r),P(this,n,new ef(o,o+"_worker",r)),D(this,c,u).call(this)}).catch(t=>{M(this,s).reject(Error(`Setting up fake worker failed: "${t.message}".`))})},m=new WeakSet,b=function(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}},k(iK,m),k(iK,l,0),k(iK,h,!1),k(iK,d,new WeakMap),B&&(P(iK,h,!0),ig.workerSrc||="./pdf.worker.mjs"),iK._isSameOrigin=(t,e)=>{let i=URL.parse(t);if(!i?.origin||"null"===i.origin)return!1;let r=new URL(e,i);return i.origin===r.origin},iK._createCDNWrapper=t=>{let e=`await import("${t}");`;return URL.createObjectURL(new Blob([e],{type:"text/javascript"}))},iK.fromPort=t=>{if(console.log("Deprecated API usage: `PDFWorker.fromPort` - please use `PDFWorker.create` instead."),!t?.port)throw Error("PDFWorker.fromPort - invalid method signature.");return iK.create(t)};let iJ=iK;class iQ{#r1=new Map;#r2=new Map;#r5=new Map;#r3=new Map;#r4=null;constructor(t,e,i,r,s,n){this.messageHandler=t,this.loadingTask=e,this.commonObjs=new iH,this.fontLoader=new eo({ownerDocument:r.ownerDocument,styleElement:r.styleElement}),this.loadingParams=r.loadingParams,this._params=r,this.canvasFactory=s.canvasFactory,this.filterFactory=s.filterFactory,this.cMapReaderFactory=s.cMapReaderFactory,this.standardFontDataFactory=s.standardFontDataFactory,this.wasmFactory=s.wasmFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=i,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.enableHWA=n,this.setupMessageHandler()}#r6(t,e=null){let i=this.#r1.get(t);if(i)return i;
2let r=this.messageHandler.sendWithPromise(t,e);return this.#r1.set(t,r),r}get annotationStorage(){return tt(this,"annotationStorage",new en)}getRenderingIntent(t,e=N.ENABLE,i=null,r=!1,s=!1){let n=2,a=es;switch(t){case"any":n=1;break;case"display":break;case"print":n=4;break;default:Y(`getRenderingIntent - invalid intent: ${t}`)}let o=4&n&&i instanceof ea?i:this.annotationStorage;switch(e){case N.DISABLE:n+=64;break;case N.ENABLE:break;case N.ENABLE_FORMS:n+=16;break;case N.ENABLE_STORAGE:n+=32,a=o.serializable;break;default:Y(`getRenderingIntent - invalid annotationMode: ${e}`)}r&&(n+=128),s&&(n+=256);let{ids:l,hash:h}=o.modifiedIds,d=[n,a.hash,h];return{renderingIntent:n,cacheKey:d.join("_"),annotationStorageSerializable:a,modifiedIds:l}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#r4?.reject(Error("Worker was destroyed during onPassword callback"));let t=[];for(let e of this.#r2.values())t.push(e._destroy());this.#r2.clear(),this.#r5.clear(),this.#r3.clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();let e=this.messageHandler.sendWithPromise("Terminate",null);return t.push(e),Promise.all(t).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#r1.clear(),this.filterFactory.destroy(),iG.cleanup(),this._networkStream?.cancelAllRequests(new to("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:t,loadingTask:e}=this;t.on("GetReader",(t,e)=>{J(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=t=>{this._lastProgress={loaded:t.loaded,total:t.total}},e.onPull=()=>{this._fullReader.read().then(function({value:t,done:i}){i?e.close():(J(t instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),e.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{e.error(t)})},e.onCancel=t=>{this._fullReader.cancel(t),e.ready.catch(t=>{if(!this.destroyed)throw t})}}),t.on("ReaderHeadersReady",async t=>{await this._fullReader.headersReady;let{isStreamingSupported:i,isRangeSupported:r,contentLength:s}=this._fullReader;return i&&r||(this._lastProgress&&e.onProgress?.(this._lastProgress),this._fullReader.onProgress=t=>{e.onProgress?.({loaded:t.loaded,total:t.total})}),{isStreamingSupported:i,isRangeSupported:r,contentLength:s}}),t.on("GetRangeReader",(t,e)=>{J(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");let i=this._networkStream.getRangeReader(t.begin,t.end);i?(e.onPull=()=>{i.read().then(function({value:t,done:i}){i?e.close():(J(t instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),e.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{e.error(t)})},e.onCancel=t=>{i.cancel(t),e.ready.catch(t=>{if(!this.destroyed)throw t})}):e.close()}),t.on("GetDoc",({pdfInfo:t})=>{this._numPages=t.numPages,this._htmlForXfa=t.htmlForXfa,delete t.htmlForXfa,e._capability.resolve(new iX(t,this))}),t.on("DocException",t=>{e._capability.reject(eg(t))}),t.on("PasswordRequest",t=>{this.#r4=Promise.withResolvers();try{if(!e.onPassword)throw eg(t);let i=t=>{t instanceof Error?this.#r4.reject(t):this.#r4.resolve({password:t})};e.onPassword(i,t.code)}catch(t){this.#r4.reject(t)}return this.#r4.promise}),t.on("DataLoaded",t=>{e.onProgress?.({loaded:t.length,total:t.length}),this.downloadInfoCapability.resolve(t)}),t.on("StartRenderPage",t=>{this.destroyed||this.#r2.get(t.pageIndex)._startRenderPage(t.transparency,t.cacheKey)}),t.on("commonobj",([e,i,r])=>{if(this.destroyed||this.commonObjs.has(e))return null;switch(i){case"Font":if("error"in r){let t=r.error;Y(`Error during font loading: ${t}`),this.commonObjs.resolve(e,t);break}let s=new el(new ip(r),this._params.pdfBug&&globalThis.FontInspector?.enabled?(t,e)=>globalThis.FontInspector.fontAdded(t,e):null,r.extra,r.charProcOperatorList);this.fontLoader.bind(s).catch(()=>
2t.sendWithPromise("FontFallback",{id:e})).finally(()=>{!s.fontExtraProperties&&s.data&&s.clearData(),this.commonObjs.resolve(e,s)});break;case"CopyLocalImage":let{imageRef:n}=r;for(let t of(J(n,"The imageRef must be defined."),this.#r2.values()))for(let[,i]of t.objs)if(i?.ref===n){if(!i.dataLen)return null;return this.commonObjs.resolve(e,structuredClone(i)),i.dataLen}break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(e,r);break;default:throw Error(`Got unknown common object type ${i}`)}return null}),t.on("obj",([t,e,i,r])=>{if(this.destroyed)return;let s=this.#r2.get(e);if(!s.objs.has(t)){if(0===s._intentStates.size)return void r?.bitmap?.close();switch(i){case"Image":case"Pattern":s.objs.resolve(t,r);break;default:throw Error(`Got unknown object type ${i}`)}}}),t.on("DocProgress",t=>{this.destroyed||e.onProgress?.({loaded:t.loaded,total:t.total})}),t.on("FetchBinaryData",async t=>{if(this.destroyed)throw Error("Worker was destroyed.");let e=this[t.type];if(!e)throw Error(`${t.type} not initialized, see the \`useWorkerFetch\` parameter.`);return e.fetch(t)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){this.annotationStorage.size<=0&&Y("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:this._fullReader?.filename??null},e).finally(()=>{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(Error("Invalid page request."));let e=t-1,i=this.#r5.get(e);if(i)return i;let r=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(i=>{if(this.destroyed)throw Error("Transport destroyed");i.refStr&&this.#r3.set(i.refStr,t);let r=new iY(e,i,this,this._params.pdfBug);return this.#r2.set(e,r),r});return this.#r5.set(e,r),r}getPageIndex(t){return ed(t)?this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}):Promise.reject(Error("Invalid pageIndex request."))}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return this.#r6("GetFieldObjects")}hasJSActions(){return this.#r6("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return"string"!=typeof t?Promise.reject(Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAnnotationsByType(t,e){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:t,pageIndexesToSkip:e})}getDocJSActions(){return this.#r6("GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return this.#r6("GetOptionalContentConfig").then(e=>new iy(e,t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){let t="GetMetadata",e=this.#r1.get(t);if(e)return e;let i=this.messageHandler.sendWithPromise(t,null).then(t=>({info:t[0],metadata:t[1]?new im(t[1]):null,contentDispositionFilename:this._fullReader?.filename??null,contentLength:this._fullReader?.contentLength??null}));return this.#r1.set(t,i),i}
2getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(t=!1){if(!this.destroyed){for(let t of(await this.messageHandler.sendWithPromise("Cleanup",null),this.#r2.values()))if(!t.cleanup())throw Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`);this.commonObjs.clear(),t||this.fontLoader.clear(),this.#r1.clear(),this.filterFactory.destroy(!0),iG.cleanup()}}cachedPageNumber(t){if(!ed(t))return null;let e=0===t.gen?`${t.num}R`:`${t.num}R${t.gen}`;return this.#r3.get(e)??null}}class iZ{#r8=null;onContinue=null;onError=null;constructor(t){this.#r8=t}get promise(){return this.#r8.capability.promise}cancel(t=0){this.#r8.cancel(null,t)}get separateAnnots(){let{separateAnnots:t}=this.#r8.operatorList;if(!t)return!1;let{annotationCanvasMap:e}=this.#r8;return t.form||t.canvas&&e?.size>0}}class i0{#r7=null;static #r9=new WeakSet;constructor({callback:t,params:e,objs:i,commonObjs:r,annotationCanvasMap:s,operatorList:n,pageIndex:a,canvasFactory:o,filterFactory:l,useRequestAnimationFrame:h=!1,pdfBug:d=!1,pageColors:c=null,enableHWA:u=!1,operationsFilter:p=null}){this.callback=t,this.params=e,this.objs=i,this.commonObjs=r,this.annotationCanvasMap=s,this.operatorListIdx=null,this.operatorList=n,this._pageIndex=a,this.canvasFactory=o,this.filterFactory=l,this._pdfBug=d,this.pageColors=c,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===h&&"undefined"!=typeof window,this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new iZ(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=e.canvas,this._canvasContext=e.canvas?null:e.canvasContext,this._enableHWA=u,this._dependencyTracker=e.dependencyTracker,this._operationsFilter=p}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){if(this.cancelled)return;if(this._canvas){if(i0.#r9.has(this._canvas))throw Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");i0.#r9.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());let{viewport:i,transform:r,background:s,dependencyTracker:n}=this.params,a=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new id(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:e},this.annotationCanvasMap,this.pageColors,n),this.gfx.beginDrawing({transform:r,viewport:i,transparency:t,background:s}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(t=null,e=0){this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#r7&&(window.cancelAnimationFrame(this.#r7),this.#r7=null),i0.#r9.delete(this._canvas),t||=new tT(`Rendering cancelled, page ${this._pageIndex+1}`,e),this.callback(t),this.task.onError?.(t)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),this.running||this._continue()}_continue(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?this.#r7=window.requestAnimationFrame(()=>{this.#r7=null,this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){!this.cancelled&&(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),i0.#r9.delete(this._canvas),this.callback())))}}let i1="5.4.296",i2="f56dc8601";class i5{#st=null;#se=null;#si;#sr=null;#ss=!1;#sn=!1;#n=null;#sa;#so=null;
2#b=null;static #sl=null;static get _keyboardManager(){return tt(this,"_keyboardManager",new t4([[["Escape","mac+Escape"],i5.prototype._hideDropdownFromKeyboard],[[" ","mac+ "],i5.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight","mac+ArrowDown","mac+ArrowRight"],i5.prototype._moveToNext],[["ArrowUp","ArrowLeft","mac+ArrowUp","mac+ArrowLeft"],i5.prototype._moveToPrevious],[["Home","mac+Home"],i5.prototype._moveToBeginning],[["End","mac+End"],i5.prototype._moveToEnd]]))}constructor({editor:t=null,uiManager:e=null}){t?(this.#sn=!1,this.#n=t):this.#sn=!0,this.#b=t?._uiManager||e,this.#sa=this.#b._eventBus,this.#si=t?.color?.toUpperCase()||this.#b?.highlightColors.values().next().value||"#FFFF98",i5.#sl||=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"})}renderButton(){let t=this.#st=document.createElement("button");t.className="colorPicker",t.tabIndex="0",t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),t.ariaHasPopup="true",this.#n&&(t.ariaControls=`${this.#n.id}_colorpicker_dropdown`);let e=this.#b._signal;t.addEventListener("click",this.#sh.bind(this),{signal:e}),t.addEventListener("keydown",this.#sd.bind(this),{signal:e});let i=this.#se=document.createElement("span");return i.className="swatch",i.ariaHidden="true",i.style.backgroundColor=this.#si,t.append(i),t}renderMainDropdown(){let t=this.#sr=this.#sc();return t.ariaOrientation="horizontal",t.ariaLabelledBy="highlightColorPickerLabel",t}#sc(){let t=document.createElement("div"),e=this.#b._signal;for(let[i,r]of(t.addEventListener("contextmenu",tR,{signal:e}),t.className="dropdown",t.role="listbox",t.ariaMultiSelectable="false",t.ariaOrientation="vertical",t.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#n&&(t.id=`${this.#n.id}_colorpicker_dropdown`),this.#b.highlightColors)){let s=document.createElement("button");s.tabIndex="0",s.role="option",s.setAttribute("data-color",r),s.title=i,s.setAttribute("data-l10n-id",i5.#sl[i]);let n=document.createElement("span");s.append(n),n.className="swatch",n.style.backgroundColor=r,s.ariaSelected=r===this.#si,s.addEventListener("click",this.#su.bind(this,r),{signal:e}),t.append(s)}return t.addEventListener("keydown",this.#sd.bind(this),{signal:e}),t}#su(t,e){e.stopPropagation(),this.#sa.dispatch("switchannotationeditorparams",{source:this,type:U.HIGHLIGHT_COLOR,value:t}),this.updateColor(t)}_colorSelectFromKeyboard(t){if(t.target===this.#st)return void this.#sh(t);let e=t.target.getAttribute("data-color");e&&this.#su(e,t)}_moveToNext(t){this.#sp?t.target===this.#st?this.#sr.firstChild?.focus():t.target.nextSibling?.focus():this.#sh(t)}_moveToPrevious(t){if(t.target===this.#sr?.firstChild||t.target===this.#st){this.#sp&&this._hideDropdownFromKeyboard();return}this.#sp||this.#sh(t),t.target.previousSibling?.focus()}_moveToBeginning(t){this.#sp?this.#sr.firstChild?.focus():this.#sh(t)}_moveToEnd(t){this.#sp?this.#sr.lastChild?.focus():this.#sh(t)}#sd(t){i5._keyboardManager.exec(this,t)}#sh(t){if(this.#sp)return void this.hideDropdown();if(this.#ss=0===t.detail,this.#so||(this.#so=new AbortController,window.addEventListener("pointerdown",this.#u.bind(this),{signal:this.#b.combinedSignal(this.#so)})),this.#st.ariaExpanded="true",this.#sr)return void this.#sr.classList.remove("hidden");let e=this.#sr=this.#sc();this.#st.append(e)}#u(t){this.#sr?.contains(t.target)||this.hideDropdown()}hideDropdown(){this.#sr?.classList.add("hidden"),this.#st.ariaExpanded="false",this.#so?.abort(),this.#so=null}get #sp(){return this.#sr&&!this.#sr.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(!this.#sn){if(!this.#sp)return void this.#n?.unselect();this.hideDropdown(),this.#st.focus({preventScroll:!0,focusVisible:this.#ss})}}updateColor(t){if(this.#se&&(this.#se.style.backgroundColor=t),!this.#sr)return;let e=this.#b.highlightColors.values();for(let i of this.#sr.children)i.ariaSelected=e.next().value===t.toUpperCase()}destroy(){this.#st?.remove(),this.#st=null,this.#se=null,this.#sr?.remove(),this.#sr=null}}class i3{#sg=null;#n=null;
2#b=null;static #sl=null;constructor(t){this.#n=t,this.#b=t._uiManager,i3.#sl||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#sg)return this.#sg;let{editorType:t,colorType:e,colorValue:i}=this.#n,r=this.#sg=document.createElement("input");return r.type="color",r.value=i||"#000000",r.className="basicColorPicker",r.tabIndex=0,r.setAttribute("data-l10n-id",i3.#sl[t]),r.addEventListener("input",()=>{this.#b.updateParams(e,r.value)},{signal:this.#b._signal}),r}update(t){this.#sg&&(this.#sg.value=t)}destroy(){this.#sg?.remove(),this.#sg=null}hideDropdown(){}}function i4(t){return Math.floor(255*Math.max(0,Math.min(1,t))).toString(16).padStart(2,"0")}function i6(t){return Math.max(0,Math.min(255,255*t))}L(116),L(531);class i8{static CMYK_G([t,e,i,r]){return["G",1-Math.min(1,.3*t+.59*i+.11*e+r)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_rgb([t]){return[t=i6(t),t,t]}static G_HTML([t]){let e=i4(t);return`#${e}${e}${e}`}static RGB_G([t,e,i]){return["G",.3*t+.59*e+.11*i]}static RGB_rgb(t){return t.map(i6)}static RGB_HTML(t){return`#${t.map(i4).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([t,e,i,r]){return["RGB",1-Math.min(1,t+r),1-Math.min(1,i+r),1-Math.min(1,e+r)]}static CMYK_rgb([t,e,i,r]){return[i6(1-Math.min(1,t+r)),i6(1-Math.min(1,i+r)),i6(1-Math.min(1,e+r))]}static CMYK_HTML(t){let e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,i]){let r=1-t,s=1-e,n=1-i,a=Math.min(r,s,n);return["CMYK",r,s,n,a]}}class i7{create(t,e,i=!1){if(t<=0||e<=0)throw Error("Invalid SVG dimensions");let r=this._createSVG("svg:svg");return r.setAttribute("version","1.1"),i||(r.setAttribute("width",`${t}px`),r.setAttribute("height",`${e}px`)),r.setAttribute("preserveAspectRatio","none"),r.setAttribute("viewBox",`0 0 ${t} ${e}`),r}createElement(t){if("string"!=typeof t)throw Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){K("Abstract method `_createSVG` called.")}}class i9 extends i7{_createSVG(t){return document.createElementNS(tA,t)}}let rt=new WeakSet,re=60*new Date().getTimezoneOffset()*1e3;class ri{static create(t){switch(t.data.annotationType){case H.LINK:return new rn(t);case H.TEXT:return new ra(t);case H.WIDGET:switch(t.data.fieldType){case"Tx":return new rl(t);case"Btn":if(t.data.radioButton)return new rc(t);if(t.data.checkBox)return new rd(t);return new ru(t);case"Ch":return new rp(t);case"Sig":return new rh(t)}return new ro(t);case H.POPUP:return new rg(t);case H.FREETEXT:return new rm(t);case H.LINE:return new rb(t);case H.SQUARE:return new rv(t);case H.CIRCLE:return new ry(t);case H.POLYLINE:return new rw(t);case H.CARET:return new rA(t);case H.INK:return new r_(t);case H.POLYGON:return new rx(t);case H.HIGHLIGHT:return new rS(t);case H.UNDERLINE:return new rE(t);case H.SQUIGGLY:return new rT(t);case H.STRIKEOUT:return new rC(t);case H.STAMP:return new rM(t);case H.FILEATTACHMENT:return new rk(t);default:return new rr(t)}}}class rr{#sf=null;#sm=!1;#sb=null;constructor(t,{isRenderable:e=!1,ignoreBorder:i=!1,createQuadrilaterals:r=!1}={}){this.isRenderable=e,this.data=t.data,this.layer=t.layer,this.linkService=t.linkService,this.downloadManager=t.downloadManager,this.imageResourcesPath=t.imageResourcesPath,this.renderForms=t.renderForms,this.svgFactory=t.svgFactory,this.annotationStorage=t.annotationStorage,this.enableComment=t.enableComment,this.enableScripting=t.enableScripting,this.hasJSActions=t.hasJSActions,this._fieldObjects=t.fieldObjects,this.parent=t.parent,e&&(this.container=this._createContainer(i)),r&&this._createQuadrilaterals()}static _hasPopupData({contentsObj:t,richText:e}){return!!(t?.str||e?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return rr._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:t}=this,e=this.annotationStorage?.getEditor(t.id);return e?e.getData():t}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}
2get commentButtonPosition(){let t=this.annotationStorage?.getEditor(this.data.id);if(t)return t.commentButtonPositionInPage;let{quadPoints:e,inkLists:i,rect:r}=this.data,s=-1/0,n=-1/0;if(e?.length>=8){for(let t=0;t<e.length;t+=8)e[t+1]>n?(n=e[t+1],s=e[t+2]):e[t+1]===n&&(s=Math.max(s,e[t+2]));return[s,n]}if(i?.length>=1){for(let t of i)for(let e=0,i=t.length;e<i;e+=2)t[e+1]>n?(n=t[e+1],s=t[e]):t[e+1]===n&&(s=Math.max(s,t[e]));if(s!==1/0)return[s,n]}return r?[r[2],r[3]]:null}_normalizePoint(t){let{page:{view:e},viewport:{rawDims:{pageWidth:i,pageHeight:r,pageX:s,pageY:n}}}=this.parent;return t[1]=e[3]-t[1]+e[1],t[0]=100*(t[0]-s)/i,t[1]=100*(t[1]-n)/r,t}get commentText(){let{data:t}=this;return this.annotationStorage.getRawValue(`${O}${t.id}`)?.popup?.contents||t.contentsObj?.str||""}set commentText(t){let{data:e}=this,i={deleted:!t,contents:t||""};this.annotationStorage.updateEditor(e.id,{popup:i})||this.annotationStorage.setValue(`${O}${e.id}`,{id:e.id,annotationType:e.annotationType,pageIndex:this.parent.page._pageIndex,popup:i,popupRef:e.popupRef,modificationDate:new Date}),t||this.removePopup()}removePopup(){(this.#sb?.popup||this.popup)?.remove(),this.#sb=this.popup=null}updateEdited(t){if(!this.container)return;t.rect&&(this.#sf||={rect:this.data.rect.slice(0)});let{rect:e,popup:i}=t;e&&this.#sv(e);let r=this.#sb?.popup||this.popup;!r&&i?.text&&(this._createPopup(i),r=this.#sb.popup),r&&(r.updateEdited(t),i?.deleted&&(r.remove(),this.#sb=null,this.popup=null))}resetEdited(){this.#sf&&(this.#sv(this.#sf.rect),this.#sb?.popup.resetEdited(),this.#sf=null)}#sv(t){let{container:{style:e},data:{rect:i,rotation:r},parent:{viewport:{rawDims:{pageWidth:s,pageHeight:n,pageX:a,pageY:o}}}}=this;i?.splice(0,4,...t),e.left=`${100*(t[0]-a)/s}%`,e.top=`${100*(n-t[3]+o)/n}%`,0===r?(e.width=`${100*(t[2]-t[0])/s}%`,e.height=`${100*(t[3]-t[1])/n}%`):this.setRotation(r)}_createContainer(t){let{data:e,parent:{page:i,viewport:r}}=this,s=document.createElement("section");s.setAttribute("data-annotation-id",e.id),this instanceof ro||this instanceof rn||(s.tabIndex=0);let{style:n}=s;if(n.zIndex=this.parent.zIndex,this.parent.zIndex+=2,e.alternativeText&&(s.title=e.alternativeText),e.noRotate&&s.classList.add("norotate"),!e.rect||this instanceof rg){let{rotation:t}=e;return e.hasOwnCanvas||0===t||this.setRotation(t,s),s}let{width:a,height:o}=this;if(!t&&e.borderStyle.width>0){n.borderWidth=`${e.borderStyle.width}px`;let t=e.borderStyle.horizontalCornerRadius,i=e.borderStyle.verticalCornerRadius;switch(t>0||i>0?n.borderRadius=`calc(${t}px * var(--total-scale-factor)) / calc(${i}px * var(--total-scale-factor))`:this instanceof rc&&(n.borderRadius=`calc(${a}px * var(--total-scale-factor)) / calc(${o}px * var(--total-scale-factor))`),e.borderStyle.style){case 1:n.borderStyle="solid";break;case 2:n.borderStyle="dashed";break;case 3:Y("Unimplemented border style: beveled");break;case 4:Y("Unimplemented border style: inset");break;case 5:n.borderBottomStyle="solid"}let r=e.borderColor||null;r?(this.#sm=!0,n.borderColor=tu.makeHexColor(0|r[0],0|r[1],0|r[2])):n.borderWidth=0}let l=tu.normalizeRect([e.rect[0],i.view[3]-e.rect[1]+i.view[1],e.rect[2],i.view[3]-e.rect[3]+i.view[1]]),{pageWidth:h,pageHeight:d,pageX:c,pageY:u}=r.rawDims;n.left=`${100*(l[0]-c)/h}%`,n.top=`${100*(l[1]-u)/d}%`;let{rotation:p}=e;return e.hasOwnCanvas||0===p?(n.width=`${100*a/h}%`,n.height=`${100*o/d}%`):this.setRotation(p,s),s}setRotation(t,e=this.container){if(!this.data.rect)return;let{pageWidth:i,pageHeight:r}=this.parent.viewport.rawDims,{width:s,height:n}=this;t%180!=0&&([s,n]=[n,s]),e.style.width=`${100*s/i}%`,e.style.height=`${100*n/r}%`,e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){let t=(t,e,i)=>{let r=i.detail[t],s=r[0],n=r.slice(1);i.target.style[e]=i8[`${s}_HTML`](n),this.annotationStorage.setValue(this.data.id,{[e]:i8[`${s}_rgb`](n)})};return tt(this,"_commonActions",{display:t=>{let{display:e}=t.detail,i=e%2==1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:1===e||2===e})},print:t=>{this.annotationStorage.setValue(this.data.id,{noPrint:!t.detail.print})},hidden:t=>{let{hidden:e}=t.detail;this.container.style.visibility=e?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:e,noView:e})},focus:t=>{setTimeout(()=>
2t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.target.disabled=t.detail.readonly},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:e=>{t("bgColor","backgroundColor",e)},fillColor:e=>{t("fillColor","backgroundColor",e)},fgColor:e=>{t("fgColor","color",e)},textColor:e=>{t("textColor","color",e)},borderColor:e=>{t("borderColor","borderColor",e)},strokeColor:e=>{t("strokeColor","borderColor",e)},rotation:t=>{let e=t.detail.rotation;this.setRotation(e),this.annotationStorage.setValue(this.data.id,{rotation:e})}})}_dispatchEventFromSandbox(t,e){let i=this._commonActions;for(let r of Object.keys(e.detail)){let s=t[r]||i[r];s?.(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;let e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;let i=this._commonActions;for(let[r,s]of Object.entries(e)){let n=i[r];n&&(n({detail:{[r]:s},target:t}),delete e[r])}}_createQuadrilaterals(){let t;if(!this.container)return;let{quadPoints:e}=this.data;if(!e)return;let[i,r,s,n]=this.data.rect.map(t=>Math.fround(t));if(8===e.length){let[t,a,o,l]=e.subarray(2,6);if(s===t&&n===a&&i===o&&r===l)return}let{style:a}=this.container;if(this.#sm){let{borderColor:e,borderWidth:i}=a;a.borderWidth=0,t=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${e}" stroke-width="${i}">`],this.container.classList.add("hasBorder")}let o=s-i,l=n-r,{svgFactory:h}=this,d=h.createElement("svg");d.classList.add("quadrilateralsContainer"),d.setAttribute("width",0),d.setAttribute("height",0),d.role="none";let c=h.createElement("defs");d.append(c);let u=h.createElement("clipPath"),p=`clippath_${this.data.id}`;u.setAttribute("id",p),u.setAttribute("clipPathUnits","objectBoundingBox"),c.append(u);for(let r=2,s=e.length;r<s;r+=8){let s=e[r],a=e[r+1],d=e[r+2],c=e[r+3],p=h.createElement("rect"),g=(d-i)/o,f=(n-a)/l,m=(s-d)/o,b=(a-c)/l;p.setAttribute("x",g),p.setAttribute("y",f),p.setAttribute("width",m),p.setAttribute("height",b),u.append(p),t?.push(`<rect vector-effect="non-scaling-stroke" x="${g}" y="${f}" width="${m}" height="${b}"/>`)}this.#sm&&(t.push("</g></svg>')"),a.backgroundImage=t.join("")),this.container.append(d),this.container.style.clipPath=`url(#${p})`}_createPopup(t=null){let e,i,{data:r}=this;t?(e={str:t.text},i=t.date):(e=r.contentsObj,i=r.modificationDate);let s=this.#sb=new rg({data:{color:r.color,titleObj:r.titleObj,modificationDate:i,contentsObj:e,richText:r.richText,parentRect:r.rect,borderStyle:0,id:`popup_${r.id}`,rotation:r.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]});this.parent._commentManager||this.parent.div.append(s.render())}get hasPopupElement(){return!!(this.#sb||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#sb}render(){K("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){let i=[];if(this._fieldObjects){let r=this._fieldObjects[t];if(r)for(let{page:t,id:s,exportValues:n}of r){if(-1===t||s===e)continue;let r="string"==typeof n?n:null,a=document.querySelector(`[data-element-id="${s}"]`);if(a&&!rt.has(a)){Y(`_getElementsByName - element not allowed: ${s}`);continue}i.push({id:s,exportValue:r,domElement:a})}return i}for(let r of document.getElementsByName(t)){let{exportValue:t}=r,s=r.getAttribute("data-element-id");s!==e&&rt.has(r)&&i.push({id:s,exportValue:t,domElement:r})}return i}show(){this.container&&(this.container.hidden=!1),this.popup?.maybeShow()}hide(){this.container&&(this.container.hidden=!0),this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(let e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:t,data:{id:e}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:t,editId:e,mustEnterInEditMode:!0})})}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}}class rs extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.editor=t.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:t}=this;t.hasComment&&(this._createPopup(t.comment),this.extraPopupElement.popup.renderCommentButton())}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}
2get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(t){this.editor.comment=t,t||this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.container.remove(),this.container=null,this.removePopup()}}class rn extends rr{constructor(t,e=null){super(t,{isRenderable:!0,ignoreBorder:!!e?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=t.data.isTooltipOnly}render(){let{data:t,linkService:e}=this,i=document.createElement("a");i.setAttribute("data-element-id",t.id);let r=!1;return t.url?(e.addLinkAttributes(i,t.url,t.newWindow),r=!0):t.action?(this._bindNamedAction(i,t.action,t.overlaidText),r=!0):t.attachment?(this.#sy(i,t.attachment,t.overlaidText,t.attachmentDest),r=!0):t.setOCGState?(this.#sw(i,t.setOCGState,t.overlaidText),r=!0):t.dest?(this._bindLink(i,t.dest,t.overlaidText),r=!0):(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(i,t),r=!0),t.resetForm?(this._bindResetFormAction(i,t.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(i,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&this.container.append(i),this.container}#sx(){this.container.setAttribute("data-internal-link","")}_bindLink(t,e,i=""){t.href=this.linkService.getDestinationHash(e),t.onclick=()=>(e&&this.linkService.goToDestination(e),!1),(e||""===e)&&this.#sx(),i&&(t.title=i)}_bindNamedAction(t,e,i=""){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(e),!1),i&&(t.title=i),this.#sx()}#sy(t,e,i="",r=null){t.href=this.linkService.getAnchorUrl(""),e.description?t.title=e.description:i&&(t.title=i),t.onclick=()=>(this.downloadManager?.openOrDownloadData(e.content,e.filename,r),!1),this.#sx()}#sw(t,e,i=""){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeSetOCGState(e),!1),i&&(t.title=i),this.#sx()}_bindJSAction(t,e){t.href=this.linkService.getAnchorUrl("");let i=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let r of Object.keys(e.actions)){let s=i.get(r);s&&(t[s]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e.id,name:r}}),!1))}e.overlaidText&&(t.title=e.overlaidText),t.onclick||(t.onclick=()=>!1),this.#sx()}_bindResetFormAction(t,e){let i=t.onclick;if(i||(t.href=this.linkService.getAnchorUrl("")),this.#sx(),!this._fieldObjects){Y('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),i||(t.onclick=()=>!1);return}t.onclick=()=>{i?.();let{fields:t,refs:r,include:s}=e,n=[];if(0!==t.length||0!==r.length){let e=new Set(r);for(let i of t)for(let{id:t}of this._fieldObjects[i]||[])e.add(t);for(let t of Object.values(this._fieldObjects))for(let i of t)e.has(i.id)===s&&n.push(i)}else for(let t of Object.values(this._fieldObjects))n.push(...t);let a=this.annotationStorage,o=[];for(let t of n){let{id:e}=t;switch(o.push(e),t.type){case"text":{let i=t.defaultValue||"";a.setValue(e,{value:i});break}case"checkbox":case"radiobutton":{let i=t.defaultValue===t.exportValues;a.setValue(e,{value:i});break}case"combobox":case"listbox":{let i=t.defaultValue||"";a.setValue(e,{value:i});break}default:continue}let i=document.querySelector(`[data-element-id="${e}"]`);if(i){if(!rt.has(i)){Y(`_bindResetFormAction - element not allowed: ${e}`);continue}i.dispatchEvent(new Event("resetform"))}}return this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:o,name:"ResetForm"}}),!1}}}class ra extends rr{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(t),this.container}}
2class ro extends rr{render(){return this.container}showElementAndHideCanvas(t){this.data.hasOwnCanvas&&(t.previousSibling?.nodeName==="CANVAS"&&(t.previousSibling.hidden=!0),t.hidden=!1)}_getKeyModifier(t){return td.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,i,r,s){i.includes("mouse")?t.addEventListener(i,t=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r,value:s(t),shift:t.shiftKey,modifier:this._getKeyModifier(t)}})}):t.addEventListener(i,t=>{if("blur"===i){if(!e.focused||!t.relatedTarget)return;e.focused=!1}else if("focus"===i){if(e.focused)return;e.focused=!0}s&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:r,value:s(t)}})})}_setEventListeners(t,e,i,r){for(let[s,n]of i)("Action"===n||this.data.actions?.[n])&&(("Focus"===n||"Blur"===n)&&(e||={focused:!1}),this._setEventListener(t,e,s,n,r),"Focus"!==n||this.data.actions?.Blur?"Blur"!==n||this.data.actions?.Focus||this._setEventListener(t,e,"focus","Focus",null):this._setEventListener(t,e,"blur","Blur",null))}_setBackgroundColor(t){let e=this.data.backgroundColor||null;t.style.backgroundColor=null===e?"transparent":tu.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){let e,{fontColor:i}=this.data.defaultAppearanceData,r=this.data.defaultAppearanceData.fontSize||9,s=t.style,n=t=>Math.round(10*t)/10;if(this.data.multiLine){let t=Math.abs(this.data.rect[3]-this.data.rect[1]-2),i=Math.round(t/(1.35*r))||1;e=Math.min(r,n(t/i/1.35))}else e=Math.min(r,n(Math.abs(this.data.rect[3]-this.data.rect[1]-2)/1.35));s.fontSize=`calc(${e}px * var(--total-scale-factor))`,s.color=tu.makeHexColor(i[0],i[1],i[2]),null!==this.data.textAlignment&&(s.textAlign=["left","center","right"][this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class rl extends ro{constructor(t){super(t,{isRenderable:t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue})}setPropertyOnSiblings(t,e,i,r){let s=this.annotationStorage;
2for(let n of this._getElementsByName(t.name,t.id))n.domElement&&(n.domElement[e]=i),s.setValue(n.id,{[r]:i})}render(){let t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let i=null;if(this.renderForms){let r=t.getValue(e,{value:this.data.fieldValue}),s=r.value||"",n=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;n&&s.length>n&&(s=s.slice(0,n));let a=r.formattedValue||this.data.textContent?.join("\n")||null;a&&this.data.comb&&(a=a.replaceAll(/\s+/g,""));let o={userValue:s,formattedValue:a,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?((i=document.createElement("textarea")).textContent=a??s,this.data.doNotScroll&&(i.style.overflowY="hidden")):((i=document.createElement("input")).type=this.data.password?"password":"text",i.setAttribute("value",a??s),this.data.doNotScroll&&(i.style.overflowX="hidden")),this.data.hasOwnCanvas&&(i.hidden=!0),rt.add(i),i.setAttribute("data-element-id",e),i.disabled=this.data.readOnly,i.name=this.data.fieldName,i.tabIndex=0;let{datetimeFormat:l,datetimeType:h,timeStep:d}=this.data,c=!!h&&this.enableScripting;l&&(i.title=l),this._setRequired(i,this.data.required),n&&(i.maxLength=n),i.addEventListener("input",r=>{t.setValue(e,{value:r.target.value}),this.setPropertyOnSiblings(i,"value",r.target.value,"value"),o.formattedValue=null}),i.addEventListener("resetform",t=>{let e=this.data.defaultFieldValue??"";i.value=o.userValue=e,o.formattedValue=null});let u=t=>{let{formattedValue:e}=o;null!=e&&(t.target.value=e),t.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){i.addEventListener("focus",t=>{if(o.focused)return;let{target:e}=t;if(c&&(e.type=h,d&&(e.step=d)),o.userValue){let t=o.userValue;if(c)if("time"===h){let i=new Date(t);e.value=[i.getHours(),i.getMinutes(),i.getSeconds()].map(t=>t.toString().padStart(2,"0")).join(":")}else e.value=new Date(t-re).toISOString().split("date"===h?"T":".",1)[0];else e.value=t}o.lastCommittedValue=e.value,o.commitKey=1,this.data.actions?.Focus||(o.focused=!0)}),i.addEventListener("updatefromsandbox",i=>{this.showElementAndHideCanvas(i.target),this._dispatchEventFromSandbox({value(i){o.userValue=i.detail.value??"",c||t.setValue(e,{value:o.userValue.toString()}),i.target.value=o.userValue},formattedValue(i){let{formattedValue:r}=i.detail;o.formattedValue=r,null!=r&&i.target!==document.activeElement&&(i.target.value=r);let s={formattedValue:r};c&&(s.value=r),t.setValue(e,s)},selRange(t){t.target.setSelectionRange(...t.detail.selRange)},charLimit:i=>{let{charLimit:r}=i.detail,{target:s}=i;if(0===r)return void s.removeAttribute("maxLength");s.setAttribute("maxLength",r);let n=o.userValue;n&&!(n.length<=r)&&(s.value=o.userValue=n=n.slice(0,r),t.setValue(e,{value:n}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:n,willCommit:!0,commitKey:1,selStart:s.selectionStart,selEnd:s.selectionEnd}}))}},i)}),i.addEventListener("keydown",t=>{o.commitKey=1;let i=-1;if("Escape"===t.key?i=0:"Enter"!==t.key||this.data.multiLine?"Tab"===t.key&&(o.commitKey=3):i=2,-1===i)return;let{value:r}=t.target;o.lastCommittedValue!==r&&(o.lastCommittedValue=r,o.userValue=r,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:r,willCommit:!0,commitKey:i,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}}))});let r=u;u=null,i.addEventListener("blur",t=>{if(!o.focused||!t.relatedTarget)return;this.data.actions?.Blur||(o.focused=!1);let{target:i}=t,{value:s}=i;if(c){if(s&&"time"===h){let t=s.split(":").map(t=>parseInt(t,10));s=new Date(2e3,0,1,t[0],t[1],t[2]||0).valueOf(),i.step=""}else s.includes("T")||(s=`${s}T00:00`),s=new Date(s).valueOf();i.type="text"}o.userValue=s,o.lastCommittedValue!==s&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:s,willCommit:!0,commitKey:o.commitKey,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}}),r(t)}),this.data.actions?.Keystroke&&i.addEventListener("beforeinput",t=>{o.lastCommittedValue=null;let{data:i,target:r}=t,{value:s,selectionStart:n,selectionEnd:a}=r,l=n,h=a;switch(t.inputType){case"deleteWordBackward":{let t=s.substring(0,n).match(/\w*[^\
2w]*$/);t&&(l-=t[0].length);break}case"deleteWordForward":{let t=s.substring(n).match(/^[^\w]*\w*/);t&&(h+=t[0].length);break}case"deleteContentBackward":n===a&&(l-=1);break;case"deleteContentForward":n===a&&(h+=1)}t.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:s,change:i||"",willCommit:!1,selStart:l,selEnd:h}})}),this._setEventListeners(i,o,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.value)}if(u&&i.addEventListener("blur",u),this.data.comb){let t=(this.data.rect[2]-this.data.rect[0])/n;i.classList.add("comb"),i.style.letterSpacing=`calc(${t}px * var(--total-scale-factor) - 1ch)`}}else(i=document.createElement("div")).textContent=this.data.fieldValue,i.style.verticalAlign="middle",i.style.display="table-cell",this.data.hasOwnCanvas&&(i.hidden=!0);return this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class rh extends ro{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class rd extends ro{constructor(t){super(t,{isRenderable:t.renderForms})}render(){let t=this.annotationStorage,e=this.data,i=e.id,r=t.getValue(i,{value:e.exportValue===e.fieldValue}).value;"string"==typeof r&&(r="Off"!==r,t.setValue(i,{value:r})),this.container.classList.add("buttonWidgetAnnotation","checkBox");let s=document.createElement("input");return rt.add(s),s.setAttribute("data-element-id",i),s.disabled=e.readOnly,this._setRequired(s,this.data.required),s.type="checkbox",s.name=e.fieldName,r&&s.setAttribute("checked",!0),s.setAttribute("exportValue",e.exportValue),s.tabIndex=0,s.addEventListener("change",r=>{let{name:s,checked:n}=r.target;for(let r of this._getElementsByName(s,i)){let i=n&&r.exportValue===e.exportValue;r.domElement&&(r.domElement.checked=i),t.setValue(r.id,{value:i})}t.setValue(i,{value:n})}),s.addEventListener("resetform",t=>{let i=e.defaultFieldValue||"Off";t.target.checked=i===e.exportValue}),this.enableScripting&&this.hasJSActions&&(s.addEventListener("updatefromsandbox",e=>{this._dispatchEventFromSandbox({value(e){e.target.checked="Off"!==e.detail.value,t.setValue(i,{value:e.target.checked})}},e)}),this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class rc extends ro{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let t=this.annotationStorage,e=this.data,i=e.id,r=t.getValue(i,{value:e.fieldValue===e.buttonValue}).value;if("string"==typeof r&&(r=r!==e.buttonValue,t.setValue(i,{value:r})),r)for(let r of this._getElementsByName(e.fieldName,i))t.setValue(r.id,{value:!1});let s=document.createElement("input");if(rt.add(s),s.setAttribute("data-element-id",i),s.disabled=e.readOnly,this._setRequired(s,this.data.required),s.type="radio",s.name=e.fieldName,r&&s.setAttribute("checked",!0),s.tabIndex=0,s.addEventListener("change",e=>{let{name:r,checked:s}=e.target;for(let e of this._getElementsByName(r,i))t.setValue(e.id,{value:!1});t.setValue(i,{value:s})}),s.addEventListener("resetform",t=>{let i=e.defaultFieldValue;t.target.checked=null!=i&&i===e.buttonValue}),this.enableScripting&&this.hasJSActions){let r=e.buttonValue;s.addEventListener("updatefromsandbox",e=>{this._dispatchEventFromSandbox({value:e=>{let s=r===e.detail.value;for(let r of this._getElementsByName(e.target.name)){let e=s&&r.id===i;r.domElement&&(r.domElement.checked=e),t.setValue(r.id,{value:e})}}},e)}),this._setEventListeners(s,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)}
2return this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class ru extends rn{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){let t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");let e=t.lastChild;return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({},t)})),t}}class rp extends ro{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let t=this.annotationStorage,e=this.data.id,i=t.getValue(e,{value:this.data.fieldValue}),r=document.createElement("select");rt.add(r),r.setAttribute("data-element-id",e),r.disabled=this.data.readOnly,this._setRequired(r,this.data.required),r.name=this.data.fieldName,r.tabIndex=0;let s=this.data.combo&&this.data.options.length>0;for(let t of(!this.data.combo&&(r.size=this.data.options.length,this.data.multiSelect&&(r.multiple=!0)),r.addEventListener("resetform",t=>{let e=this.data.defaultFieldValue;for(let t of r.options)t.selected=t.value===e}),this.data.options)){let e=document.createElement("option");e.textContent=t.displayValue,e.value=t.exportValue,i.value.includes(t.exportValue)&&(e.setAttribute("selected",!0),s=!1),r.append(e)}let n=null;if(s){let t=document.createElement("option");t.value=" ",t.setAttribute("hidden",!0),t.setAttribute("selected",!0),r.prepend(t),n=()=>{t.remove(),r.removeEventListener("input",n),n=null},r.addEventListener("input",n)}let a=t=>{let e=t?"value":"textContent",{options:i,multiple:s}=r;return s?Array.prototype.filter.call(i,t=>t.selected).map(t=>t[e]):-1===i.selectedIndex?null:i[i.selectedIndex][e]},o=a(!1),l=t=>{let e=t.target.options;return Array.prototype.map.call(e,t=>({displayValue:t.textContent,exportValue:t.value}))};return this.enableScripting&&this.hasJSActions?(r.addEventListener("updatefromsandbox",i=>{this._dispatchEventFromSandbox({value(i){n?.();let s=i.detail.value,l=new Set(Array.isArray(s)?s:[s]);for(let t of r.options)t.selected=l.has(t.value);t.setValue(e,{value:a(!0)}),o=a(!1)},multipleSelection(t){r.multiple=!0},remove(i){let s=r.options,n=i.detail.remove;s[n].selected=!1,r.remove(n),s.length>0&&-1===Array.prototype.findIndex.call(s,t=>t.selected)&&(s[0].selected=!0),t.setValue(e,{value:a(!0),items:l(i)}),o=a(!1)},clear(i){for(;0!==r.length;)r.remove(0);t.setValue(e,{value:null,items:[]}),o=a(!1)},insert(i){let{index:s,displayValue:n,exportValue:h}=i.detail.insert,d=r.children[s],c=document.createElement("option");c.textContent=n,c.value=h,d?d.before(c):r.append(c),t.setValue(e,{value:a(!0),items:l(i)}),o=a(!1)},items(i){let{items:s}=i.detail;for(;0!==r.length;)r.remove(0);for(let t of s){let{displayValue:e,exportValue:i}=t,s=document.createElement("option");s.textContent=e,s.value=i,r.append(s)}r.options.length>0&&(r.options[0].selected=!0),t.setValue(e,{value:a(!0),items:l(i)}),o=a(!1)},indices(i){let r=new Set(i.detail.indices);for(let t of i.target.options)t.selected=r.has(t.index);t.setValue(e,{value:a(!0)}),o=a(!1)},editable(t){t.target.disabled=!t.detail.editable}},i)}),r.addEventListener("input",i=>{let r=a(!0),s=a(!1);t.setValue(e,{value:r}),i.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:o,change:s,changeEx:r,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(r,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],t=>t.target.value)):r.addEventListener("input",function(i){t.setValue(e,{value:a(!0)})}),this.data.combo&&this._setTextStyle(r),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class rg extends rr{constructor(t){const{data:e,elements:i,parent:r}=t,s=!!r._commentManager;if(super(t,{isRenderable:!s&&rr._hasPopupData(e)}),this.elements=i,s&&rr._hasPopupData(e)){const t=this.popup=this.#sA();for(const e of i)e.popup=t}else this.popup=null}#sA(){return new rf({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,c
2ommentManager:this.parent._commentManager})}render(){let{container:t}=this;t.classList.add("popupAnnotation"),t.role="comment";let e=this.popup=this.#sA(),i=[];for(let t of this.elements)t.popup=e,t.container.ariaHasPopup="dialog",i.push(t.data.id),t.addHighlightArea();return this.container.setAttribute("aria-controls",i.map(t=>`${tb}${t}`).join(",")),this.container}}class rf{#j=null;#s_=this.#sd.bind(this);#sS=this.#sE.bind(this);#sT=this.#sC.bind(this);#sM=this.#sk.bind(this);#sP=null;#tx=null;#sD=null;#sI=null;#sR=null;#sL=null;#sB=null;#sF=!1;#sN=null;#sO=null;#M=null;#sj=null;#sU=null;#er=null;#sz=null;#t9=null;#s$=null;#sf=null;#sH=!1;#sG=null;#sV=null;constructor({container:t,color:e,elements:i,titleObj:r,modificationDate:s,contentsObj:n,richText:a,parent:o,rect:l,parentRect:h,open:d,commentManager:c=null}){this.#tx=t,this.#s$=r,this.#sD=n,this.#t9=a,this.#sL=o,this.#sP=e,this.#sz=l,this.#sB=h,this.#sR=i,this.#j=c,this.#sG=i[0],this.#sI=tB.toDateObject(s),this.trigger=i.flatMap(t=>t.getElementsToTriggerPopup()),c?this.renderCommentButton():(this.#sW(),this.#tx.hidden=!0,d&&this.#sk())}#sW(){if(this.#sO)return;this.#sO=new AbortController;let{signal:t}=this.#sO;for(let e of this.trigger)e.addEventListener("click",this.#sM,{signal:t}),e.addEventListener("pointerenter",this.#sT,{signal:t}),e.addEventListener("pointerleave",this.#sS,{signal:t}),e.classList.add("popupTriggerArea");for(let e of this.#sR)e.container?.addEventListener("keydown",this.#s_,{signal:t})}#sq(){let t=this.#sR.find(t=>t.hasCommentButton);t&&(this.#sU=t._normalizePoint(t.commentButtonPosition))}renderCommentButton(){if(this.#sj||(this.#sU||this.#sq(),!this.#sU))return;let{signal:t}=this.#sO=new AbortController,e=!!this.#sG.extraPopupElement,i=()=>{this.#j.toggleCommentPopup(this,!0,void 0,!e)},r=()=>{this.#j.toggleCommentPopup(this,!1,!0,!e)},s=()=>{this.#j.toggleCommentPopup(this,!1,!1)};if(e)for(let e of(this.#sj=this.#sG.container,this.trigger))e.ariaHasPopup="dialog",e.ariaControls="commentPopup",e.addEventListener("keydown",this.#s_,{signal:t}),e.addEventListener("click",i,{signal:t}),e.addEventListener("pointerenter",r,{signal:t}),e.addEventListener("pointerleave",s,{signal:t}),e.classList.add("popupTriggerArea");else{let e=this.#sj=document.createElement("button");e.className="annotationCommentButton";let n=this.#sG.container;e.style.zIndex=n.style.zIndex+1,e.tabIndex=0,e.ariaHasPopup="dialog",e.ariaControls="commentPopup",e.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#sX(),this.#sY(),e.addEventListener("keydown",this.#s_,{signal:t}),e.addEventListener("click",i,{signal:t}),e.addEventListener("pointerenter",r,{signal:t}),e.addEventListener("pointerleave",s,{signal:t}),n.after(e)}}#sY(){if(this.#sG.extraPopupElement&&!this.#sG.editor)return;this.renderCommentButton();let[t,e]=this.#sU,{style:i}=this.#sj;i.left=`calc(${t}%)`,i.top=`calc(${e}% - var(--comment-button-dim))`}#sX(){this.#sG.extraPopupElement||(this.renderCommentButton(),this.#sj.style.backgroundColor=this.commentButtonColor||"")}get commentButtonColor(){let{color:t,opacity:e}=this.#sG.commentData;return t?this.#sL._commentManager.makeCommentColor(t,e):null}focusCommentButton(){setTimeout(()=>{this.#sj?.focus()},0)}getData(){let{richText:t,color:e,opacity:i,creationDate:r,modificationDate:s}=this.#sG.commentData;return{contentsObj:{str:this.comment},richText:t,color:e,opacity:i,creationDate:r,modificationDate:s}}get elementBeforePopup(){return this.#sj}get comment(){return this.#sV||=this.#sG.commentText,this.#sV}set comment(t){t!==this.comment&&(this.#sG.commentText=this.#sV=t)}get parentBoundingClientRect(){return this.#sG.layer.getBoundingClientRect()}setCommentButtonStates({selected:t,hasPopup:e}){this.#sj&&(this.#sj.classList.toggle("selected",t),this.#sj.ariaExpanded=e)}setSelectedCommentButton(t){this.#sj.classList.toggle("selected",t)}get commentPopupPosition(){if(this.#er)return this.#er;let{x:t,y:e,height:i}=this.#sj.getBoundingClientRect(),{x:r,y:s,width:n,height:a}=this.#sG.layer.getBoundingClientRect();return[(t-r)/n,(e+i-s)/a]}set commentPopupPosition(t){this.#er=t}hasDefaultPopupPosition(){return null===this.#er}get commentButtonPosition(){return this.#sU}get commentButtonWidth(){return this.#sj.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(t){let[e,i]=this.#er||this.commentButtonPosition.map(t=>t/100),r=this.parentBoundingClientRect,{x:s,y:n,width:a,height:o}=r;this.#j.showDialog(null,this,s+e*a,n+i*o,{...t,parentDimensions:r})}
2render(){if(this.#sN)return;let t=this.#sN=document.createElement("div");if(t.className="popup",this.#sP){let e=t.style.outlineColor=tu.makeHexColor(...this.#sP);t.style.backgroundColor=`color-mix(in srgb, ${e} 30%, white)`}let e=document.createElement("span");if(e.className="header",this.#s$?.str){let t=document.createElement("span");t.className="title",e.append(t),{dir:t.dir,str:t.textContent}=this.#s$}if(t.append(e),this.#sI){let t=document.createElement("time");t.className="popupDate",t.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),t.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#sI.valueOf()})),t.dateTime=this.#sI.toISOString(),e.append(t)}tQ({html:this.#sK||this.#sD.str,dir:this.#sD?.dir,className:"popupContent"},t),this.#tx.append(t)}get #sK(){let t=this.#t9,e=this.#sD;return t?.str&&(!e?.str||e.str===t.str)&&this.#t9.html||null}get #sJ(){return this.#sK?.attributes?.style?.fontSize||0}get #sQ(){return this.#sK?.attributes?.style?.color||null}#sZ(t){let e=[],i={style:{color:this.#sQ,fontSize:this.#sJ?`calc(${this.#sJ}px * var(--total-scale-factor))`:""}};for(let r of t.split("\n"))e.push({name:"span",value:r,attributes:i});return{str:t,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:e}]}}}#sd(t){t.altKey||t.shiftKey||t.ctrlKey||t.metaKey||("Enter"===t.key||"Escape"===t.key&&this.#sF)&&this.#sk()}updateEdited({rect:t,popup:e,deleted:i}){if(this.#j){i?(this.remove(),this.#sV=null):e&&(e.deleted?this.remove():(this.#sX(),this.#sV=e.text)),t&&(this.#sU=null,this.#sq(),this.#sY());return}i||e?.deleted?this.remove():(this.#sW(),this.#sf||={contentsObj:this.#sD,richText:this.#t9},t&&(this.#M=null),e&&e.text&&(this.#t9=this.#sZ(e.text),this.#sI=tB.toDateObject(e.date),this.#sD=null),this.#sN?.remove(),this.#sN=null)}resetEdited(){this.#sf&&({contentsObj:this.#sD,richText:this.#t9}=this.#sf,this.#sf=null,this.#sN?.remove(),this.#sN=null,this.#M=null)}remove(){if(this.#sO?.abort(),this.#sO=null,this.#sN?.remove(),this.#sN=null,this.#sH=!1,this.#sF=!1,this.#sj?.remove(),this.#sj=null,this.trigger)for(let t of this.trigger)t.classList.remove("popupTriggerArea")}#s0(){if(null!==this.#M)return;let{page:{view:t},viewport:{rawDims:{pageWidth:e,pageHeight:i,pageX:r,pageY:s}}}=this.#sL,n=!!this.#sB,a=n?this.#sB:this.#sz;
2for(let t of this.#sR)if(!a||null!==tu.intersect(t.data.rect,a)){a=t.data.rect,n=!0;break}let o=tu.normalizeRect([a[0],t[3]-a[1]+t[1],a[2],t[3]-a[3]+t[1]]),l=n?a[2]-a[0]+5:0,h=o[0]+l,d=o[1];this.#M=[100*(h-r)/e,100*(d-s)/i];let{style:c}=this.#tx;c.left=`${this.#M[0]}%`,c.top=`${this.#M[1]}%`}#sk(){this.#j?this.#j.toggleCommentPopup(this,!1):(this.#sF=!this.#sF,this.#sF?(this.#sC(),this.#tx.addEventListener("click",this.#sM),this.#tx.addEventListener("keydown",this.#s_)):(this.#sE(),this.#tx.removeEventListener("click",this.#sM),this.#tx.removeEventListener("keydown",this.#s_)))}#sC(){this.#sN||this.render(),this.isVisible?this.#sF&&this.#tx.classList.add("focused"):(this.#s0(),this.#tx.hidden=!1,this.#tx.style.zIndex=parseInt(this.#tx.style.zIndex)+1e3)}#sE(){this.#tx.classList.remove("focused"),!this.#sF&&this.isVisible&&(this.#tx.hidden=!0,this.#tx.style.zIndex=parseInt(this.#tx.style.zIndex)-1e3)}forceHide(){this.#sH=this.isVisible,this.#sH&&(this.#tx.hidden=!0)}maybeShow(){this.#j||(this.#sW(),this.#sH&&(this.#sN||this.#sC(),this.#sH=!1,this.#tx.hidden=!1))}get isVisible(){return!this.#j&&!1===this.#tx.hidden}}class rm extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.textContent=t.data.textContent,this.textPosition=t.data.textPosition,this.annotationEditorType=j.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let t=document.createElement("div");for(let e of(t.classList.add("annotationTextContent"),t.setAttribute("role","comment"),this.textContent)){let i=document.createElement("span");i.textContent=e,t.append(i)}this.container.append(t)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}class rb extends rr{#s1=null;constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:t,width:e,height:i}=this,r=this.svgFactory.create(e,i,!0),s=this.#s1=this.svgFactory.createElement("svg:line");return s.setAttribute("x1",t.rect[2]-t.lineCoordinates[0]),s.setAttribute("y1",t.rect[3]-t.lineCoordinates[1]),s.setAttribute("x2",t.rect[2]-t.lineCoordinates[2]),s.setAttribute("y2",t.rect[3]-t.lineCoordinates[3]),s.setAttribute("stroke-width",t.borderStyle.width||1),s.setAttribute("stroke","transparent"),s.setAttribute("fill","transparent"),r.append(s),this.container.append(r),!t.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#s1}addHighlightArea(){this.container.classList.add("highlightArea")}}class rv extends rr{#s2=null;constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:t,width:e,height:i}=this,r=this.svgFactory.create(e,i,!0),s=t.borderStyle.width,n=this.#s2=this.svgFactory.createElement("svg:rect");return n.setAttribute("x",s/2),n.setAttribute("y",s/2),n.setAttribute("width",e-s),n.setAttribute("height",i-s),n.setAttribute("stroke-width",s||1),n.setAttribute("stroke","transparent"),n.setAttribute("fill","transparent"),r.append(n),this.container.append(r),!t.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#s2}addHighlightArea(){this.container.classList.add("highlightArea")}}class ry extends rr{#s5=null;constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:t,width:e,height:i}=this,r=this.svgFactory.create(e,i,!0),s=t.borderStyle.width,n=this.#s5=this.svgFactory.createElement("svg:ellipse");return n.setAttribute("cx",e/2),n.setAttribute("cy",i/2),n.setAttribute("rx",e/2-s/2),n.setAttribute("ry",i/2-s/2),n.setAttribute("stroke-width",s||1),n.setAttribute("stroke","transparent"),n.setAttribute("fill","transparent"),r.append(n),this.container.append(r),!t.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#s5}addHighlightArea(){this.container.classList.add("highlightArea")}}class rw extends rr{#s3=null;constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:t,vertices:e,borderStyle:i,popupRef:r},width:s,height:n}=this;if(!e)return this.container;let a=this.svgFactory.create(s,n,!0),o=[];for(let i=0,r=e.length;i<r;i+=2){let r=e[i]-t[0],s=t[3]-e[i+1];o.push(`${r},${s}`)}o=o.join(" ");let l=this.#s3=this.svgFactory.createElement(this.svgElementName);return l.setAttribute("points",o),l.setAttribute("stroke-width",i.width||1),l.setAttribute("stroke","transparent"),l.setAttribute("fill","transparent"),a.append(l),this.container.append(a),!r&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return this.#s3}addHighlightArea(){this.container.classList.add("highlightArea")}}class rx extends rw{constructor(t){super(t),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class rA extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}
2class r_ extends rr{#s4=null;#s6=[];constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType="InkHighlight"===this.data.it?j.HIGHLIGHT:j.INK}#s8(t,e){switch(t){case 90:return{transform:`rotate(90) translate(${-e[0]},${e[1]}) scale(1,-1)`,width:e[3]-e[1],height:e[2]-e[0]};case 180:return{transform:`rotate(180) translate(${-e[2]},${e[1]}) scale(1,-1)`,width:e[2]-e[0],height:e[3]-e[1]};case 270:return{transform:`rotate(270) translate(${-e[2]},${e[3]}) scale(1,-1)`,width:e[3]-e[1],height:e[2]-e[0]};default:return{transform:`translate(${-e[0]},${e[3]}) scale(1,-1)`,width:e[2]-e[0],height:e[3]-e[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:t,rotation:e,inkLists:i,borderStyle:r,popupRef:s}}=this,{transform:n,width:a,height:o}=this.#s8(e,t),l=this.svgFactory.create(a,o,!0),h=this.#s4=this.svgFactory.createElement("svg:g");l.append(h),h.setAttribute("stroke-width",r.width||1),h.setAttribute("stroke-linecap","round"),h.setAttribute("stroke-linejoin","round"),h.setAttribute("stroke-miterlimit",10),h.setAttribute("stroke","transparent"),h.setAttribute("fill","transparent"),h.setAttribute("transform",n);for(let t=0,e=i.length;t<e;t++){let e=this.svgFactory.createElement(this.svgElementName);this.#s6.push(e),e.setAttribute("points",i[t].join(",")),h.append(e)}return!s&&this.hasPopupData&&this._createPopup(),this.container.append(l),this._editOnDoubleClick(),this.container}updateEdited(t){super.updateEdited(t);let{thickness:e,points:i,rect:r}=t,s=this.#s4;if(e>=0&&s.setAttribute("stroke-width",e||1),i)for(let t=0,e=this.#s6.length;t<e;t++)this.#s6[t].setAttribute("points",i[t].join(","));if(r){let{transform:t,width:e,height:i}=this.#s8(this.data.rotation,r);s.parentElement.setAttribute("viewBox",`0 0 ${e} ${i}`),s.setAttribute("transform",t)}}getElementsToTriggerPopup(){return this.#s6}addHighlightArea(){this.container.classList.add("highlightArea")}}class rS extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0}),this.annotationEditorType=j.HIGHLIGHT}render(){let{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),t){let e=document.createElement("mark");e.classList.add("overlaidText"),e.textContent=t,this.container.append(e)}return this.container}}class rE extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),t){let e=document.createElement("u");e.classList.add("overlaidText"),e.textContent=t,this.container.append(e)}return this.container}}class rT extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),t){let e=document.createElement("u");e.classList.add("overlaidText"),e.textContent=t,this.container.append(e)}return this.container}}class rC extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:t,popupRef:e}}=this;if(!e&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),t){let e=document.createElement("s");e.classList.add("overlaidText"),e.textContent=t,this.container.append(e)}return this.container}}class rM extends rr{constructor(t){super(t,{isRenderable:!0,ignoreBorder:!0}),this.annotationEditorType=j.STAMP}render(){return this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}class rk extends rr{#s7=null;constructor(t){super(t,{isRenderable:!0});const{file:e}=this.data;this.filename=e.filename,this.content=e.content,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,...e})}render(){let t;this.container.classList.add("fileAttachmentAnnotation");let{container:e,data:i}=this;i.hasAppearance||0===i.fillAlpha?t=document.createElement("div"):((t=document.createElement("img")).src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(i.name)?"paperclip":"pushpin"}.svg`,i.fillAlpha&&i.fillAlpha<1&&(t.style=`filter: opacity(${Math.round(100*i.fillAlpha)}%);`)),t.addEventListener("dblclick",this.#s9.bind(this)),this.#s7=t;let{isMac:r}=td.platform;return e.addEventListener("keydown",t=>{"Enter"===t.key&&(r?t.metaKey:t.ctrlKey)&&this.#s9()}),!i.popupRef&&this.hasPopupData?this._createPopup():t.classList.add("popupTriggerArea"),e.append(t),e}getElementsToTriggerPopup(){return this.#s7}addHighlightArea(){this.container.classList.add("highlightArea")}#s9(){this.downloadManager?.openOrDownloadData(this.content,this.filename)}}class rP{#nt=null;#ne=null;#F=null;#ni=new Map;#nr=null;#ns=null;constructor({div:t,accessibilityManager:e,annotationCanvasMap:i,annotationEditorUIManager:r,page:s,viewport:n,structTreeLayer:a,commentManager:o,linkService:l,annotationStorage:h}){this.div=t,this.#nt=e,this.#ne=i,this.#nr=a||null,this.#ns=l||null,this.#F=h||new en,this.page=s,this.viewport=n,this.zIndex=0,this._annotationEditorUIManager=r,this._commentManager=o||null}hasEditableAnnotations(){return this.#ni.size>0}
2async #nn(t,e,i){let r=t.firstChild||t,s=r.id=`${tb}${e}`,n=await this.#nr?.getAriaAttributes(s);if(n)for(let[t,e]of n)r.setAttribute(t,e);i?i.at(-1).container.after(t):(this.div.append(t),this.#nt?.moveElementInDOM(this.div,t,r,!1))}async render(t){let{annotations:e}=t,i=this.div;tU(i,this.viewport);let r=new Map,s={data:null,layer:i,linkService:this.#ns,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:!1!==t.renderForms,svgFactory:new i9,annotationStorage:this.#F,enableComment:!0===t.enableComment,enableScripting:!0===t.enableScripting,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(let t of e){if(t.noHTML)continue;let e=t.annotationType===H.POPUP;if(e){let e=r.get(t.id);if(!e)continue;s.elements=e}else if(t.rect[2]===t.rect[0]||t.rect[3]===t.rect[1])continue;s.data=t;let i=ri.create(s);if(!i.isRenderable)continue;if(!e&&t.popupRef){let e=r.get(t.popupRef);e?e.push(i):r.set(t.popupRef,[i])}let n=i.render();t.hidden&&(n.style.visibility="hidden"),await this.#nn(n,t.id,s.elements),i.extraPopupElement?.popup?.renderCommentButton(),i._isEditable&&(this.#ni.set(i.data.id,i),this._annotationEditorUIManager?.renderAnnotationElement(i))}this.#na()}async addLinkAnnotations(t){let e={data:null,layer:this.div,linkService:this.#ns,svgFactory:new i9,parent:this};for(let i of t){i.borderStyle||=rP._defaultBorderStyle,e.data=i;let t=ri.create(e);if(!t.isRenderable)continue;let r=t.render();await this.#nn(r,i.id,null)}}update({viewport:t}){let e=this.div;this.viewport=t,tU(e,{rotation:t.rotation}),this.#na(),e.hidden=!1}#na(){if(!this.#ne)return;let t=this.div;for(let[e,i]of this.#ne){let r=t.querySelector(`[data-annotation-id="${e}"]`);if(!r)continue;i.className="annotationContent";let{firstChild:s}=r;s?"CANVAS"===s.nodeName?s.replaceWith(i):s.classList.contains("annotationContent")?s.after(i):s.before(i):r.append(i);let n=this.#ni.get(e);n&&(n._hasNoCanvas?(this._annotationEditorUIManager?.setMissingCanvas(e,r.id,i),n._hasNoCanvas=!1):n.canvas=i)}this.#ne.clear()}getEditableAnnotations(){return Array.from(this.#ni.values())}getEditableAnnotation(t){return this.#ni.get(t)}addFakeAnnotation(t){let{div:e}=this,{id:i,rotation:r}=t,s=new rs({data:{id:i,rect:t.getPDFRect(),rotation:r},editor:t,layer:e,parent:this,enableComment:!!this._commentManager,linkService:this.#ns,annotationStorage:this.#F}),n=s.render();return e.append(n),this.#nt?.moveElementInDOM(e,n,n,!1),s.createOrUpdatePopup(),s}static get _defaultBorderStyle(){return tt(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:1,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}let rD=/\r\n?|\n/g;class rI extends ee{#no="";#nl=`${this.id}-editor`;#nh=null;#sJ;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let t=rI.prototype,e=t=>t.isEmpty(),i=t8.TRANSLATE_SMALL,r=t8.TRANSLATE_BIG;return tt(this,"_keyboardManager",new t4([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],t.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],t.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],t._translateEmpty,{args:[-i,0],checker:e}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t._translateEmpty,{args:[-r,0],checker:e}],[["ArrowRight","mac+ArrowRight"],t._translateEmpty,{args:[i,0],checker:e}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t._translateEmpty,{args:[r,0],checker:e}],[["ArrowUp","mac+ArrowUp"],t._translateEmpty,{args:[0,-i],checker:e}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t._translateEmpty,{args:[0,-r],checker:e}],[["ArrowDown","mac+ArrowDown"],t._translateEmpty,{args:[0,i],checker:e}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t._translateEmpty,{args:[0,r],checker:e}]]))}static _type="freetext";static _editorType=j.FREETEXT;constructor(t){super({...t,name:"freeTextEditor"}),this.color=t.color||rI._defaultColor||ee._defaultLineColor,this.#sJ=t.fontSize||rI._defaultFontSize,this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-freetext-added-alert")}static initialize(t,e){ee.initialize(t,e);let i=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(i.getPropertyValue("--freetext-padding"))}
2static updateDefaultParams(t,e){switch(t){case U.FREETEXT_SIZE:rI._defaultFontSize=e;break;case U.FREETEXT_COLOR:rI._defaultColor=e}}updateParams(t,e){switch(t){case U.FREETEXT_SIZE:this.#nd(e);break;case U.FREETEXT_COLOR:this.#sX(e)}}static get defaultPropertiesToUpdate(){return[[U.FREETEXT_SIZE,rI._defaultFontSize],[U.FREETEXT_COLOR,rI._defaultColor||ee._defaultLineColor]]}get propertiesToUpdate(){return[[U.FREETEXT_SIZE,this.#sJ],[U.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new i3(this),[["colorPicker",this._colorPicker]]}get colorType(){return U.FREETEXT_COLOR}#nd(t){let e=t=>{this.editorDiv.style.fontSize=`calc(${t}px * var(--total-scale-factor))`,this.translate(0,-(t-this.#sJ)*this.parentScale),this.#sJ=t,this.#nc()},i=this.#sJ;this.addCommands({cmd:e.bind(this,t),undo:e.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:U.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#sX(t){let e=t=>{this.color=t,this.onUpdatedColor()},i=this.color;this.addCommands({cmd:e.bind(this,t),undo:e.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:U.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(t,e){this._uiManager.translateSelectedEditors(t,e,!0)}getInitialTranslation(){let t=this.parentScale;return[-rI._internalPadding*t,-(rI._internalPadding+this.#sJ)*t]}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.#nh=new AbortController;let t=this._uiManager.combinedSignal(this.#nh);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:t}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:t}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:t}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:t}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:t}),!0}disableEditMode(){return!!super.disableEditMode()&&(this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#nl),this._isDraggable=!0,this.#nh?.abort(),this.#nh=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0)}focusin(t){this._focusEventsAllowed&&(super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(t){this.width||(this.enableEditMode(),t&&this.editorDiv.focus(),this._initialOptions?.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}#nu(){let t=[];this.editorDiv.normalize();let e=null;for(let i of this.editorDiv.childNodes)(e?.nodeType!==Node.TEXT_NODE||"BR"!==i.nodeName)&&(t.push(rI.#np(i)),e=i);return t.join("\n")}#nc(){let t,[e,i]=this.parentDimensions;if(this.isAttachedToDOM)t=this.div.getBoundingClientRect();else{let{currentLayer:e,div:i}=this,r=i.style.display,s=i.classList.contains("hidden");i.classList.remove("hidden"),i.style.display="hidden",e.div.append(this.div),t=i.getBoundingClientRect(),i.remove(),i.style.display=r,i.classList.toggle("hidden",s)}this.rotation%180==this.parentRotation%180?(this.width=t.width/e,this.height=t.height/i):(this.width=t.height/e,this.height=t.width/i),this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let t=this.#no,e=this.#no=this.#nu().trimEnd();if(t===e)return;let i=t=>{(this.#no=t,t)?(this.#ng(),this._uiManager.rebuild(this),this.#nc()):this.remove()};this.addCommands({cmd:()=>{i(e)},undo:()=>{i(t)},mustExec:!1}),this.#nc()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(t){t.target===this.div&&"Enter"===t.key&&(this.enterInEditMode(),t.preventDefault())}editorDivKeydown(t){rI._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}editorDivInput(t){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){let t,e;if(this.div)return this.div;(this._isCopy||this.annotationElementId)&&(t=this.x,e=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#nl),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:i}=this.editorDiv;if(i.fontSize=`calc(${this.#sJ}px * var(--total-scale-factor))`,i.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[i,r]=this.parentDimensions;
2if(this.annotationElementId){let s,n,{position:a}=this._initialData,[o,l]=this.getInitialTranslation();[o,l]=this.pageTranslationToScreen(o,l);let[h,d]=this.pageDimensions,[c,u]=this.pageTranslation;switch(this.rotation){case 0:s=t+(a[0]-c)/h,n=e+this.height-(a[1]-u)/d;break;case 90:s=t+(a[0]-c)/h,n=e-(a[1]-u)/d,[o,l]=[l,-o];break;case 180:s=t-this.width+(a[0]-c)/h,n=e-(a[1]-u)/d,[o,l]=[-o,-l];break;case 270:s=t+(a[0]-c-this.height*d)/h,n=e+(a[1]-u-this.width*h)/d,[o,l]=[-l,o]}this.setAt(s*i,n*r,o,l)}else this._moveAfterPaste(t,e);this.#ng(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static #np(t){return(t.nodeType===Node.TEXT_NODE?t.nodeValue:t.innerText).replaceAll(rD,"")}editorDivPaste(t){let e=t.clipboardData||window.clipboardData,{types:i}=e;if(1===i.length&&"text/plain"===i[0])return;t.preventDefault();let r=rI.#nf(e.getData("text")||"").replaceAll(rD,"\n");if(!r)return;let s=window.getSelection();if(!s.rangeCount)return;this.editorDiv.normalize(),s.deleteFromDocument();let n=s.getRangeAt(0);if(!r.includes("\n")){n.insertNode(document.createTextNode(r)),this.editorDiv.normalize(),s.collapseToStart();return}let{startContainer:a,startOffset:o}=n,l=[],h=[];if(a.nodeType===Node.TEXT_NODE){let t=a.parentElement;if(h.push(a.nodeValue.slice(o).replaceAll(rD,"")),t!==this.editorDiv){let e=l;for(let i of this.editorDiv.childNodes){if(i===t){e=h;continue}e.push(rI.#np(i))}}l.push(a.nodeValue.slice(0,o).replaceAll(rD,""))}else if(a===this.editorDiv){let t=l,e=0;for(let i of this.editorDiv.childNodes)e++===o&&(t=h),t.push(rI.#np(i))}this.#no=`${l.join("\n")}${r}${h.join("\n")}`,this.#ng();let d=new Range,c=Math.sumPrecise(l.map(t=>t.length));for(let{firstChild:t}of this.editorDiv.childNodes)if(t.nodeType===Node.TEXT_NODE){let e=t.nodeValue.length;if(c<=e){d.setStart(t,c),d.setEnd(t,c);break}c-=e}s.removeAllRanges(),s.addRange(d)}#ng(){if(this.editorDiv.replaceChildren(),this.#no)for(let t of this.#no.split("\n")){let e=document.createElement("div");e.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(e)}}#nm(){return this.#no.replaceAll("Â "," ")}static #nf(t){return t.replaceAll(" ","Â ")}get contentDiv(){return this.editorDiv}getPDFRect(){let t=rI._internalPadding*this.parentScale;return this.getRect(t,t)}static async deserialize(t,e,i){let r=null;if(t instanceof rm){let{data:{defaultAppearanceData:{fontSize:e,fontColor:i},rect:s,rotation:n,id:a,popupRef:o,richText:l,contentsObj:h,creationDate:d,modificationDate:c},textContent:u,textPosition:p,parent:{page:{pageNumber:g}}}=t;if(!u||0===u.length)return null;r=t={annotationType:j.FREETEXT,color:Array.from(i),fontSize:e,value:u.join("\n"),position:p,pageIndex:g-1,rect:s.slice(0),rotation:n,annotationElementId:a,id:a,deleted:!1,popupRef:o,comment:h?.str||null,richText:l,creationDate:d,modificationDate:c}}let s=await super.deserialize(t,e,i);return s.#sJ=t.fontSize,s.color=tu.makeHexColor(...t.color),s.#no=rI.#nf(t.value),s._initialData=r,t.comment&&s.setCommentData(t),s}serialize(t=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let e=ee._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),i=Object.assign(super.serialize(t),{color:e,fontSize:this.#sJ,value:this.#nm()});return(this.addComment(i),t)?(i.isCopy=!0,i):this.annotationElementId&&!this.#nb(i)?null:(i.id=this.annotationElementId,i)}#nb(t){let{value:e,fontSize:i,color:r,pageIndex:s}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||t.value!==e||t.fontSize!==i||t.color.some((t,e)=>t!==r[e])||t.pageIndex!==s}renderAnnotationElement(t){let e=super.renderAnnotationElement(t);if(!e)return null;let{style:i}=e;for(let t of(i.fontSize=`calc(${this.#sJ}px * var(--total-scale-factor))`,i.color=this.color,e.replaceChildren(),this.#no.split("\n"))){let i=document.createElement("div");i.append(t?document.createTextNode(t):document.createElement("br")),e.append(i)}return t.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#no}}),e}resetAnnotationElement(t){super.resetAnnotationElement(t),t.resetEdited()}}class rR{static PRECISION=1e-4;toSVGPath(){K("Abstract method `toSVGPath` must be implemented.")}get box(){K("Abstract getter `box` must be implemented.")}serialize(t,e){K("Abstract method `serialize` must be implemented.")}static _rescale(t,e,i,r,s,n){n||=new Float32Array(t.length);for(let a=0,o=t.length;a<o;a+=2)n[a]=e+t[a]*r,n[a+1]=i+t[a+1]*s;return n}static _rescaleAndSwap(t,e,i,r,s,n){n||=new Float32Array(t.length);for(let a=0,o=t.length;a<o;a+=2)n[a]=e+t[a+1]*r,n[a+1]=i+t[a]*s;return n}static _translate(t,e,i,r){r||=new Float32Array(t.length);for(let s=0,n=t.length;s<n;s+=2)r[s]=e+t[s],r[s+1]=i+t[s+1];return r}static svgRound(t){return Math.round(1e4*t)}static _normalizePoint(t,e,i,r,s){switch(s){case 90:return[1-e/i,t/r];case 180:return[1-t/i,1-e/r];case 270:return[e/i,1-t/r];default:return[t/i,e/r]}}static _normalizePagePoint(t,e,i){switch(i){case 90:return[1-e,t];case 180:return[1-t,1-e];case 270:return[e,1-t];default:return[t,e]}}static createBezierPoints(t,e,i,r,s,n){return[(t+5*i)/6,(e+5*r)/6,(5*i+s)/6,(5*r+n)/6,(i+s)/2,(r+n)/2]}}class rL{#nv;#ny=[];#nw;#nx;#nA=[];#n_=new Float32Array(18);#nS;#nE;#nT;#nC;#nM;#nk;#nP=[];static #nD=8;static #nI=2;static #nR=rL.#nD+rL.#nI;constructor({x:t,y:e},i,r,s,n,a=0){this.#nv=i,this.#nk=s*r,this.#nx=n,this.#n_.set([NaN,NaN,NaN,NaN,t,e],6),this.#nw=a,this.#nC=rL.#
2nD*r,this.#nT=rL.#nR*r,this.#nM=r,this.#nP.push(t,e)}isEmpty(){return isNaN(this.#n_[8])}#nL(){let t=this.#n_.subarray(4,6),e=this.#n_.subarray(16,18),[i,r,s,n]=this.#nv;return[(this.#nS+(t[0]-e[0])/2-i)/s,(this.#nE+(t[1]-e[1])/2-r)/n,(this.#nS+(e[0]-t[0])/2-i)/s,(this.#nE+(e[1]-t[1])/2-r)/n]}add({x:t,y:e}){this.#nS=t,this.#nE=e;let[i,r,s,n]=this.#nv,[a,o,l,h]=this.#n_.subarray(8,12),d=t-l,c=e-h,u=Math.hypot(d,c);if(u<this.#nT)return!1;let p=u-this.#nC,g=p/u,f=g*d,m=g*c,b=a,v=o;a=l,o=h,l+=f,h+=m,this.#nP?.push(t,e);let y=-m/p*this.#nk,w=f/p*this.#nk;return(this.#n_.set(this.#n_.subarray(2,8),0),this.#n_.set([l+y,h+w],4),this.#n_.set(this.#n_.subarray(14,18),12),this.#n_.set([l-y,h-w],16),isNaN(this.#n_[6]))?(0===this.#nA.length&&(this.#n_.set([a+y,o+w],2),this.#nA.push(NaN,NaN,NaN,NaN,(a+y-i)/s,(o+w-r)/n),this.#n_.set([a-y,o-w],14),this.#ny.push(NaN,NaN,NaN,NaN,(a-y-i)/s,(o-w-r)/n)),this.#n_.set([b,v,a,o,l,h],6),!this.isEmpty()):((this.#n_.set([b,v,a,o,l,h],6),Math.abs(Math.atan2(v-o,b-a)-Math.atan2(m,f))<Math.PI/2)?([a,o,l,h]=this.#n_.subarray(2,6),this.#nA.push(NaN,NaN,NaN,NaN,((a+l)/2-i)/s,((o+h)/2-r)/n),[a,o,b,v]=this.#n_.subarray(14,18),this.#ny.push(NaN,NaN,NaN,NaN,((b+a)/2-i)/s,((v+o)/2-r)/n)):([b,v,a,o,l,h]=this.#n_.subarray(0,6),this.#nA.push(((b+5*a)/6-i)/s,((v+5*o)/6-r)/n,((5*a+l)/6-i)/s,((5*o+h)/6-r)/n,((a+l)/2-i)/s,((o+h)/2-r)/n),[l,h,a,o,b,v]=this.#n_.subarray(12,18),this.#ny.push(((b+5*a)/6-i)/s,((v+5*o)/6-r)/n,((5*a+l)/6-i)/s,((5*o+h)/6-r)/n,((a+l)/2-i)/s,((o+h)/2-r)/n)),!0)}toSVGPath(){if(this.isEmpty())return"";let t=this.#nA,e=this.#ny;if(isNaN(this.#n_[6])&&!this.isEmpty())return this.#nB();let i=[];i.push(`M${t[4]} ${t[5]}`);for(let e=6;e<t.length;e+=6)isNaN(t[e])?i.push(`L${t[e+4]} ${t[e+5]}`):i.push(`C${t[e]} ${t[e+1]} ${t[e+2]} ${t[e+3]} ${t[e+4]} ${t[e+5]}`);this.#nF(i);for(let t=e.length-6;t>=6;t-=6)isNaN(e[t])?i.push(`L${e[t+4]} ${e[t+5]}`):i.push(`C${e[t]} ${e[t+1]} ${e[t+2]} ${e[t+3]} ${e[t+4]} ${e[t+5]}`);return this.#nN(i),i.join(" ")}#nB(){let[t,e,i,r]=this.#nv,[s,n,a,o]=this.#nL();return`M${(this.#n_[2]-t)/i} ${(this.#n_[3]-e)/r} L${(this.#n_[4]-t)/i} ${(this.#n_[5]-e)/r} L${s} ${n} L${a} ${o} L${(this.#n_[16]-t)/i} ${(this.#n_[17]-e)/r} L${(this.#n_[14]-t)/i} ${(this.#n_[15]-e)/r} Z`}#nN(t){let e=this.#ny;t.push(`L${e[4]} ${e[5]} Z`)}#nF(t){let[e,i,r,s]=this.#nv,n=this.#n_.subarray(4,6),a=this.#n_.subarray(16,18),[o,l,h,d]=this.#nL();t.push(`L${(n[0]-e)/r} ${(n[1]-i)/s} L${o} ${l} L${h} ${d} L${(a[0]-e)/r} ${(a[1]-i)/s}`)}newFreeDrawOutline(t,e,i,r,s,n){return new rB(t,e,i,r,s,n)}getOutlines(){let t=this.#nA,e=this.#ny,i=this.#n_,[r,s,n,a]=this.#nv,o=new Float32Array((this.#nP?.length??0)+2);for(let t=0,e=o.length-2;t<e;t+=2)o[t]=(this.#nP[t]-r)/n,o[t+1]=(this.#nP[t+1]-s)/a;if(o[o.length-2]=(this.#nS-r)/n,o[o.length-1]=(this.#nE-s)/a,isNaN(i[6])&&!this.isEmpty())return this.#nO(o);let l=new Float32Array(this.#nA.length+24+this.#ny.length),h=t.length;for(let e=0;e<h;e+=2){if(isNaN(t[e])){l[e]=l[e+1]=NaN;continue}l[e]=t[e],l[e+1]=t[e+1]}h=this.#nj(l,h);for(let t=e.length-6;t>=6;t-=6)for(let i=0;i<6;i+=2){if(isNaN(e[t+i])){l[h]=l[h+1]=NaN,h+=2;continue}l[h]=e[t+i],l[h+1]=e[t+i+1],h+=2}return this.#nU(l,h),this.newFreeDrawOutline(l,o,this.#nv,this.#nM,this.#nw,this.#nx)}#nO(t){let e=this.#n_,[i,r,s,n]=this.#nv,[a,o,l,h]=this.#nL(),d=new Float32Array(36);return d.set([NaN,NaN,NaN,NaN,(e[2]-i)/s,(e[3]-r)/n,NaN,NaN,NaN,NaN,(e[4]-i)/s,(e[5]-r)/n,NaN,NaN,NaN,NaN,a,o,NaN,NaN,NaN,NaN,l,h,NaN,NaN,NaN,NaN,(e[16]-i)/s,(e[17]-r)/n,NaN,NaN,NaN,NaN,(e[14]-i)/s,(e[15]-r)/n],0),this.newFreeDrawOutline(d,t,this.#nv,this.#nM,this.#nw,this.#nx)}#nU(t,e){let i=this.#ny;return t.set([NaN,NaN,NaN,NaN,i[4],i[5]],e),e+=6}#nj(t,e){let i=this.#n_.subarray(4,6),r=this.#n_.subarray(16,18),[s,n,a,o]=this.#nv,[l,h,d,c]=this.#nL();return t.set([NaN,NaN,NaN,NaN,(i[0]-s)/a,(i[1]-n)/o,NaN,NaN,NaN,NaN,l,h,NaN,NaN,NaN,NaN,d,c,NaN,NaN,NaN,NaN,(r[0]-s)/a,(r[1]-n)/o],e),e+=24}}class rB extends rR{#nv;#nz=new Float32Array(4);#nw;#nx;#nP;#nM;#n$;constructor(t,e,i,r,s,n){super(),this.#n$=t,this.#nP=e,this.#nv=i,this.#nM=r,this.#nw=s,this.#nx=n,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#nH(n);const[a,o,l,h]=this.#nz;for(let e=0,i=t.length;e<i;e+=2)t[e]=(t[e]-a)/l,t[e+1]=(t[e+1]-o)/h;for(let t=0,i=e.length;t<i;t+=2)e[t]=(e[t]-a)/l,e[t+1]=(e[t+1]-o)/h}toSVGPath(){let t=[`M${this.#n$[4]} ${this.#n$[5]}`];for(let e=6,i=this.#n$.length;e<i;e+=6){if(isNaN(this.#n$[e])){t.push(`L${this.#n$[e+4]} ${this.#n$[e+5]}`);continue}t.push(`C${this.#n$[e]} ${this.#n$[e+1]} ${this.#n$[e+2]} ${this.#n$[e+3]} ${this.#n$[e+4]} ${this.#n$[e+5]}`)}return t.push("Z"),t.join(" ")}serialize([t,e,i,r],s){let n,a,o=i-t,l=r-e;switch(s){case 0:n=rR._rescale(this.#n$,t,r,o,-l),a=rR._rescale(this.#nP,t,r,o,-l);break;case 90:n=rR._rescaleAndSwap(this.#n$,t,e,o,l),a=rR._rescaleAndSwap(this.#nP,t,e,o,l);break;case 180:n=rR._rescale(this.#n$,i,e,-o,l),a=rR._rescale(this.#nP,i,e,-o,l);break;case 270:n=rR._rescaleAndSwap(this.#n$,i,r,-o,-l),a=rR._rescaleAndSwap(this.#nP,i,r,-o,-l)}return{outline:Array.from(n),points:[Array.from(a)]}}#nH(t){let e=this.#n$,i=e[4],r=e[5],s=[i,r,i,r],n=i,a=r,o=i,l=r,h=t?Math.max:Math.min,d=new Float32Array(4);for(let t=6,c=e.length;t<c;t+=6){let c=e[t+4],u=e[t+5];isNaN(e[t])?(tu.pointBoundingBox(c,u,s),a>u?(n=c,a=u):a===u&&(n=h(n,c)),l<u?(o=c,l=u):l===u&&(o=h(o,c))):(d[0]=d[1]=1/0,d[2]=d[3]=-1/0,tu.bezierBoundingBox(i,r,...e.slice(t,t+6),d),tu.rectBoundingBox(d[0],d[1],d[2],d[3],s),a>d[1]?(n=d[0],a=d[1]):a===d[1]&&(n=h(n,d[0])),l<d[3]?(o=d[2],l=d[3]):l===d[3]&&(o=h(o,d[2]))),i=c,r=u}let c=this.#nz;c[0]=s[0]-this.#nw,c[1]=s[1]-this.#nw,c[2]=s[2]-s[0]+2*this.#nw,c[3]=s[3]-s[1]+2*this.#nw,this.firstPoint=[n,a],this.lastPoint=[o,l]}get box(){return this.#nz}newOutliner(t,e,i,r,s,n=0){return new rL(t,e,i,r,s,n)}getNewOutline(t,e){let[i,r,s,n]=this.#nz,[a,o,l,h]=this.#nv,d=s*l,c=n*h,u=i*l+a,p=r*h+o,g=this.newOutliner({x:this.#nP[0]*d+u,y:this.#nP[1]*c+p},this.#nv,this.#nM,t,this.#nx,e??this.#nw);for(let t=2;t<this.#nP.length;t+=2)g.add({x:this.#nP[t]*d+u,y:this.#nP[t+1]*c+p});return g.getOutlines()}}class rF{#nv;#nG;#nV;#nW=[];#nq=[];constructor(t,e=0,i=0,r=!0){const s=[1/0,1/0,-1/0,-1/0];for(const{x:i,y:r,width:n,height:a}of t){const t=1e-4*Math.floor((i-e)/1e-4),o=1e-4*Math.ceil((i+n+e)/1e-4),l=1e-4*Math.floor((r-e)/1e-4),h=1e-4*Math.ceil((r+a+e)/1e-4),d=[t,l,h,!0],c=[o,l,h,!1];this.#nW.push(d,c),tu.rectBoundingBox(t,l,o,h,s)}const n=s[2]-s[0]+2*i,a=s[3]-s[1]+2*i,o=s[0]-i,l=s[1]-i;let h=r?-1/0:1/0,d=1/0;const c=this.#nW.at(r?-1:-2),u=[c[0],c[2]];for(const t of this.#nW){const[e,i,s,c]=t;!c&&r?i<d?(d=i,h=e):i===d&&(h=Math.max(h,e)):c&&!r&&(i<d?(d=i,h=e):i===d&&(h=Math.min(h,e))),t[0]=(e-o)/n,t[1]=(i-l)/a,t[2]=(s-l)/a}
2this.#nv=new Float32Array([o,l,n,a]),this.#nG=[h,d],this.#nV=u}getOutlines(){this.#nW.sort((t,e)=>t[0]-e[0]||t[1]-e[1]||t[2]-e[2]);let t=[];for(let e of this.#nW)e[3]?(t.push(...this.#nX(e)),this.#nY(e)):(this.#nK(e),t.push(...this.#nX(e)));return this.#nJ(t)}#nJ(t){let e,i=[],r=new Set;for(let e of t){let[t,r,s]=e;i.push([t,r,e],[t,s,e])}i.sort((t,e)=>t[1]-e[1]||t[0]-e[0]);for(let t=0,e=i.length;t<e;t+=2){let e=i[t][2],s=i[t+1][2];e.push(s),s.push(e),r.add(e),r.add(s)}let s=[];for(;r.size>0;){let t=r.values().next().value,[i,n,a,o,l]=t;r.delete(t);let h=i,d=n;for(e=[i,a],s.push(e);;){let t;if(r.has(o))t=o;else if(r.has(l))t=l;else break;r.delete(t),[i,n,a,o,l]=t,h!==i&&(e.push(h,d,i,d===n?n:a),h=i),d=d===n?a:n}e.push(h,d)}return new rN(s,this.#nv,this.#nG,this.#nV)}#nQ(t){let e=this.#nq,i=0,r=e.length-1;for(;i<=r;){let s=i+r>>1,n=e[s][0];if(n===t)return s;n<t?i=s+1:r=s-1}return r+1}#nY([,t,e]){let i=this.#nQ(t);this.#nq.splice(i,0,[t,e])}#nK([,t,e]){let i=this.#nQ(t);for(let r=i;r<this.#nq.length;r++){let[i,s]=this.#nq[r];if(i!==t)break;if(i===t&&s===e)return void this.#nq.splice(r,1)}for(let r=i-1;r>=0;r--){let[i,s]=this.#nq[r];if(i!==t)break;if(i===t&&s===e)return void this.#nq.splice(r,1)}}#nX(t){let[e,i,r]=t,s=[[e,i,r]],n=this.#nQ(r);for(let t=0;t<n;t++){let[i,r]=this.#nq[t];for(let t=0,n=s.length;t<n;t++){let[,a,o]=s[t];if(!(r<=a)&&!(o<=i)){if(a>=i){if(o>r)s[t][1]=r;else{if(1===n)return[];s.splice(t,1),t--,n--}continue}s[t][2]=i,o>r&&s.push([e,r,o])}}}return s}}class rN extends rR{#nv;#nZ;constructor(t,e,i,r){super(),this.#nZ=t,this.#nv=e,this.firstPoint=i,this.lastPoint=r}toSVGPath(){let t=[];for(let e of this.#nZ){let[i,r]=e;t.push(`M${i} ${r}`);for(let s=2;s<e.length;s+=2){let n=e[s],a=e[s+1];n===i?(t.push(`V${a}`),r=a):a===r&&(t.push(`H${n}`),i=n)}t.push("Z")}return t.join(" ")}serialize([t,e,i,r],s){let n=[],a=i-t,o=r-e;for(let e of this.#nZ){let i=Array(e.length);for(let s=0;s<e.length;s+=2)i[s]=t+e[s]*a,i[s+1]=r-e[s+1]*o;n.push(i)}return n}get box(){return this.#nv}get classNamesForOutlining(){return["highlightOutline"]}}class rO extends rL{newFreeDrawOutline(t,e,i,r,s,n){return new rj(t,e,i,r,s,n)}}class rj extends rB{newOutliner(t,e,i,r,s,n=0){return new rO(t,e,i,r,s,n)}}class rU extends ee{#n0=null;#n1=0;#n2;#n5=null;#s=null;#n3=null;#n4=null;#n6=0;#n8=null;#n7=null;#x=null;#n9=!1;#nG=null;#nV=null;#at=null;#et="";#nk;#ae="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _type="highlight";static _editorType=j.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){let t=rU.prototype;return tt(this,"_keyboardManager",new t4([[["ArrowLeft","mac+ArrowLeft"],t._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],t._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],t._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],t._moveCaret,{args:[3]}]]))}constructor(t){super({...t,name:"highlightEditor"}),this.color=t.color||rU._defaultColor,this.#nk=t.thickness||rU._defaultThickness,this.opacity=t.opacity||rU._defaultOpacity,this.#n2=t.boxes||null,this.#ae=t.methodOfCreation||"",this.#et=t.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",t.highlightId>-1?(this.#n9=!0,this.#ai(t),this.#ar()):this.#n2&&(this.#n0=t.anchorNode,this.#n1=t.anchorOffset,this.#n4=t.focusNode,this.#n6=t.focusOffset,this.#as(),this.#ar(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-highlight-added-alert")}get telemetryInitialData(){return{action:"added",type:this.#n9?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#nk,methodOfCreation:this.#ae}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(t){return{numberOfColors:t.get("color").size}}#as(){let t=new rF(this.#n2,.001);this.#n7=t.getOutlines(),[this.x,this.y,this.width,this.height]=this.#n7.box;let e=new rF(this.#n2,.0025,.001,"ltr"===this._uiManager.direction);this.#n3=e.getOutlines();let{firstPoint:i}=this.#n7;this.#nG=[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height];let{lastPoint:r}=this.#n3;this.#nV=[(r[0]-this.x)/this.width,(r[1]-this.y)/this.height]}#ai({highlightOutlines:t,highlightId:e,clipPathId:i}){if(this.#n7=t,this.#n3=t.getNewOutline(this.#nk/2+1.5,.0025),e>=0)this.#x=e,this.#n5=i,this.parent.drawLayer.finalizeDraw(e,{bbox:t.box,path:{d:t.toSVGPath()}}),this.#at=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#n3.box,path:{d:this.#n3.toSVGPath()}},!0);else if(this.parent){let e=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#x,{bbox:rU.#an(this.#n7.box,(e-this.rotation+360)%360),path:{d:t.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#at,{bbox:rU.#an(this.#n3.box,e),path:{d:this.#n3.toSVGPath()}})}let[r,s,n,a]=t.box;switch(this.rotation){case 0:this.x=r,this.y=s,this.width=n,this.height=a;break;case 90:{let[t,e]=this.parentDimensions;this.x=s,this.y=1-r,this.width=n*e/t,this.height=a*t/e;break}case 180:this.x=1-r,this.y=1-s,this.width=n,this.height=a;break;case 270:{let[t,e]=this.parentDimensions;this.x=1-s,this.y=r,this.width=n*e/t,this.height=a*t/e}}let{firstPoint:o}=t;this.#nG=[(o[0]-r)/n,(o[1]-s)/a];let{lastPoint:l}=this.#n3;this.#nV=[(l[0]-r)/n,(l[1]-s)/a]}static initialize(t,e){ee.initialize(t,e),rU._defaultColor||=e.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(t,e){switch(t){case U.HIGHLIGHT_COLOR:rU._defaultColor=e;break;case U.HIGHLIGHT_THICKNESS:rU._defaultThickness=e}}translateInPage(t,e){}get toolbarPosition(){return this.#nV}get commentButtonPosition(){return this.#nG}updateParams(t,e){switch(t){case U.HIGHLIGHT_COLOR:this.#sX(e);break;case U.HIGHLIGHT_THICKNESS:this.#aa(e)}}static get defaultPropertiesToUpdate(){return[[U.HIGHLIGHT_COLOR,rU._defaultColor],[U.HIGHLIGHT_THICKNESS,rU._defaultThickness]]}get propertiesToUpdate(){return[[U.HIGHLIGHT_COLOR,this.color||rU._defaultColor],[U.HIGHLIGHT_THICKNESS,this.#nk||rU._defaultThickness],[U.HIGHLIGHT_FREE,this.#n9]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#x,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#s?.updateColor(this.color),super.onUpdatedColor()}#sX(t){let e=(t,e)=>{this.color=t,this.opacity=e,this.onUpdatedColor()},i=this.color,r=this.opacity;this.addCommands({cmd:e.bind(this,t,rU._defaultOpacity),undo:e.bind(this,i,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:U.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(t)},!0)}#aa(t){let e=this.#nk,i=t=>{this.#nk=t,this.#ao(t)};this.addCommands({cmd:i.bind(this,t),undo:i.bind(this,e),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:U.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:t},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",this.#s=new i5({editor:this})]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#al())}getBaseTranslation(){return[0,0]}getRect(t,e){return super.getRect(t,e,this.#al())}onceAdded(t){this.annotationElementId||this.parent.addUndoableEditor(this),t&&this.div.focus()}remove(){this.#ah(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#ar(),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){let e=!1;this.parent&&!t?this.#ah():t&&(this.#ar(t),e=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(t),this.show(this._isVisible),e&&this.select()}#ao(t){this.#n9&&(this.#ai({highlightOutlines:this.#n7.getNewOutline(t/2)}),this.fixAndSetPosition(),this.setDims(this.width,this.height))}#ah(){null!==this.#x&&this.parent&&(this.parent.drawLayer.remove(this.#x),this.#x=null,this.parent.drawLayer.remove(this.#at),this.#at=null)}#ar(t=this.parent){null===this.#x&&({id:this.#x,clipPathId:this.#n5}=t.drawLayer.draw({bbox:this.#n7.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#n9},path:{d:this.#n7.toSVGPath()}},!1,!0),this.#at=t.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#n9},bbox:this.#n3.box,path:{d:this.#n3.toSVGPath()}},this.#n9),this.#n8&&(this.#n8.style.clipPath=this.#n5))}static #an([t,e,i,r],s){switch(s){case 90:return[1-e-r,t,r,i];case 180:return[1-t-i,1-e-r,i,r];case 270:return[e,1-t-i,r,i]}return[t,e,i,r]}rotate(t){let e,{drawLayer:i}
2=this.parent;this.#n9?(t=(t-this.rotation+360)%360,e=rU.#an(this.#n7.box,t)):e=rU.#an([this.x,this.y,this.width,this.height],t),i.updateProperties(this.#x,{bbox:e,root:{"data-main-rotation":t}}),i.updateProperties(this.#at,{bbox:rU.#an(this.#n3.box,t),root:{"data-main-rotation":t}})}render(){if(this.div)return this.div;let t=super.render();this.#et&&(t.setAttribute("aria-label",this.#et),t.setAttribute("role","mark")),this.#n9?t.classList.add("free"):this.div.addEventListener("keydown",this.#ad.bind(this),{signal:this._uiManager._signal});let e=this.#n8=document.createElement("div");return t.append(e),e.setAttribute("aria-hidden","true"),e.className="internal",e.style.clipPath=this.#n5,this.setDims(this.width,this.height),t1(this,this.#n8,["pointerover","pointerleave"]),this.enableEditing(),t}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#at,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#at,{rootClass:{hovered:!1}})}#ad(t){rU._keyboardManager.exec(this,t)}_moveCaret(t){switch(this.parent.unselect(this),t){case 0:case 2:this.#ac(!0);break;case 1:case 3:this.#ac(!1)}}#ac(t){if(!this.#n0)return;let e=window.getSelection();t?e.setPosition(this.#n0,this.#n1):e.setPosition(this.#n4,this.#n6)}select(){super.select(),this.#at&&this.parent?.drawLayer.updateProperties(this.#at,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#at&&(this.parent?.drawLayer.updateProperties(this.#at,{rootClass:{selected:!1}}),this.#n9||this.#ac(!1))}get _mustFixPosition(){return!this.#n9}show(t=this._isVisible){super.show(t),this.parent&&(this.parent.drawLayer.updateProperties(this.#x,{rootClass:{hidden:!t}}),this.parent.drawLayer.updateProperties(this.#at,{rootClass:{hidden:!t}}))}#al(){return this.#n9?this.rotation:0}#au(){if(this.#n9)return null;let[t,e]=this.pageDimensions,[i,r]=this.pageTranslation,s=this.#n2,n=new Float32Array(8*s.length),a=0;for(let{x:o,y:l,width:h,height:d}of s){let s=o*t+i,c=(1-l)*e+r;n[a]=n[a+4]=s,n[a+1]=n[a+3]=c,n[a+2]=n[a+6]=s+h*t,n[a+5]=n[a+7]=c-d*e,a+=8}return n}#ap(t){return this.#n7.serialize(t,this.#al())}static startHighlighting(t,e,{target:i,x:r,y:s}){let{x:n,y:a,width:o,height:l}=i.getBoundingClientRect(),h=new AbortController,d=t.combinedSignal(h),c=e=>{h.abort(),this.#ag(t,e)};window.addEventListener("blur",c,{signal:d}),window.addEventListener("pointerup",c,{signal:d}),window.addEventListener("pointerdown",tL,{capture:!0,passive:!1,signal:d}),window.addEventListener("contextmenu",tR,{signal:d}),i.addEventListener("pointermove",this.#af.bind(this,t),{signal:d}),this._freeHighlight=new rO({x:r,y:s},[n,a,o,l],t.scale,this._defaultThickness/2,e,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=t.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static #af(t,e){this._freeHighlight.add(e)&&t.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static #ag(t,e){this._freeHighlight.isEmpty()?t.drawLayer.remove(this._freeHighlightId):t.createAndAddNewEditor(e,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""}static async deserialize(t,e,i){let r=null;if(t instanceof rS){let{data:{quadPoints:e,rect:i,rotation:s,id:n,color:a,opacity:o,popupRef:l,richText:h,contentsObj:d,creationDate:c,modificationDate:u},parent:{page:{pageNumber:p}}}=t;r=t={annotationType:j.HIGHLIGHT,color:Array.from(a),opacity:o,quadPoints:e,boxes:null,pageIndex:p-1,rect:i.slice(0),rotation:s,annotationElementId:n,id:n,deleted:!1,popupRef:l,richText:h,comment:d?.str||null,creationDate:c,modificationDate:u}}else if(t instanceof r_){let{data:{inkLists:e,rect:i,rotation:s,id:n,color:a,borderStyle:{rawWidth:o},popupRef:l,richText:h,contentsObj:d,creationDate:c,modificationDate:u},parent:{page:{pageNumber:p}}}=t;r=t={annotationType:j.HIGHLIGHT,color:Array.from(a),thickness:o,inkLists:e,boxes:null,pageIndex:p-1,rect:i.slice(0),rotation:s,annotationElementId:n,id:n,deleted:!1,popupRef:l,richText:h,comment:d?.str||null,creationDate:c,modificationDate:u}}let{color:s,quadPoints:n,inkLists:a,opacity:o}=t,l=await super.deserialize(t,e,i);l.color=tu.makeHexColor(...s),l.opacity=o||1,a&&(l.#nk=t.thickness),l._initialData=r,t.comment&&l.setCommentData(t);let[h,d]=l.pageDimensions,[c,u]=l.pageTranslation;if(n){let t=l.#n2=[];for(let e=0;e<n.length;e+=8)t.push({x:(n[e]-c)/h,y:1-(n[e+1]-u)/d,width:(n[e+2]-n[e])/h,height:(n[e+1]-n[e+5])/d});l.#as(),l.#ar(),l.rotate(l.rotation)}else if(a){l.#n9=!0;let t=a[0],i={x:t[0]-c,y:d-(t[1]-u)}
2,r=new rO(i,[0,0,h,d],1,l.#nk/2,!0,.001);for(let e=0,s=t.length;e<s;e+=2)i.x=t[e]-c,i.y=d-(t[e+1]-u),r.add(i);let{id:s,clipPathId:n}=e.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:l.color,"fill-opacity":l._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:r.toSVGPath()}},!0,!0);l.#ai({highlightOutlines:r.getOutlines(),highlightId:s,clipPathId:n}),l.#ar(),l.rotate(l.parentRotation)}return l}serialize(t=!1){if(this.isEmpty()||t)return null;if(this.deleted)return this.serializeDeleted();let e=ee._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),i=super.serialize(t);return(Object.assign(i,{color:e,opacity:this.opacity,thickness:this.#nk,quadPoints:this.#au(),outlines:this.#ap(i.rect)}),this.addComment(i),this.annotationElementId&&!this.#nb(i))?null:(i.id=this.annotationElementId,i)}#nb(t){let{color:e}=this._initialData;return this.hasEditedComment||t.color.some((t,i)=>t!==e[i])}renderAnnotationElement(t){return this.deleted?t.hide():t.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}static canCreateNewEmptyEditor(){return!1}}class rz{#am=Object.create(null);updateProperty(t,e){this[t]=e,this.updateSVGProperty(t,e)}updateProperties(t){if(t)for(let[e,i]of Object.entries(t))e.startsWith("_")||this.updateProperty(e,i)}updateSVGProperty(t,e){this.#am[t]=e}toSVGProperties(){let t=this.#am;return this.#am=Object.create(null),{root:t}}reset(){this.#am=Object.create(null)}updateAll(t=this){this.updateProperties(t)}clone(){K("Not implemented")}}class r$ extends ee{#ab=null;#av;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static #ay=null;static #aw=null;static #ax=null;static #aA=NaN;static #a_=null;static #aS=null;static #aE=NaN;static _INNER_MARGIN=3;constructor(t){super(t),this.#av=t.mustBeCommitted||!1,this._addOutlines(t)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}_addOutlines(t){t.drawOutlines&&(this.#aT(t),this.#ar())}#aT({drawOutlines:t,drawId:e,drawingOptions:i}){this.#ab=t,this._drawingOptions||=i,this.annotationElementId||this._uiManager.a11yAlert(`pdfjs-editor-${this.editorType}-added-alert`),e>=0?(this._drawId=e,this.parent.drawLayer.finalizeDraw(e,t.defaultProperties)):this._drawId=this.#aC(t,this.parent),this.#aM(t.box)}#aC(t,e){let{id:i}=e.drawLayer.draw(r$._mergeSVGProperties(this._drawingOptions.toSVGProperties(),t.defaultSVGProperties),!1,!1);return i}static _mergeSVGProperties(t,e){let i=new Set(Object.keys(t));for(let[r,s]of Object.entries(e))i.has(r)?Object.assign(t[r],s):t[r]=s;return t}static getDefaultDrawingOptions(t){K("Not implemented")}static get typesMap(){K("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(t,e){let i=this.typesMap.get(t);i&&this._defaultDrawingOptions.updateProperty(i,e),this._currentParent&&(r$.#ay.updateProperty(i,e),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(t,e){let i=this.constructor.typesMap.get(t);i&&this._updateProperty(t,i,e)}static get defaultPropertiesToUpdate(){let t=[],e=this._defaultDrawingOptions;for(let[i,r]of this.typesMap)t.push([i,e[r]]);return t}get propertiesToUpdate(){let t=[],{_drawingOptions:e}=this;for(let[i,r]of this.constructor.typesMap)t.push([i,e[r]]);return t}_updateProperty(t,e,i){let r=this._drawingOptions,s=r[e],n=i=>{r.updateProperty(e,i);let s=this.#ab.updateProperty(e,i);s&&this.#aM(s),this.parent?.drawLayer.updateProperties(this._drawId,r.toSVGProperties()),t===this.colorType&&this.onUpdatedColor()};this.addCommands({cmd:n.bind(this,i),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:t,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,r$._mergeSVGProperties(this.#ab.getPathResizingSVGProperties(this.#ak()),{bbox:this.#aP()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,r$._mergeSVGProperties(this.#ab.getPathResizedSVGProperties(this.#ak()),{bbox:this.#aP()}))}_onTranslating(t,e){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#aP()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,r$._mergeSVGProperties(this.#ab.getPathTranslatedSVGProperties(this.#ak(),this.parentDimensions),{bbox:this.#aP()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(t){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#av&&(this.#av=!1,this.commit(),this.parent.setSelected(this),t&&this.isOnScreen&&this.div.focus())}remove(){this.#ah(),super.remove()}rebuild(){!this.parent||(super.rebuild(),null!==this.div&&(this.#ar(),this.#aM(this.#ab.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(t){let e=!1;this.parent&&!t?(this._uiManager.removeShouldRescale(this),this.#ah()):t&&(this._uiManager.addShouldRescale(this),this.#ar(t),e=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(t),e&&this.select()}#ah(){null!==this._drawId&&this.parent&&(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#ar(t=this.parent){if(null===this._drawId||this.parent!==t){if(null!==this._drawId)return void this.parent.drawLayer.updateParent(this._drawId,t.drawLayer);this._drawingOptions.updateAll(),this._drawId=this.#aC(this.#ab,t)}}#aD([t,e,i,r]){let{parentDimensions:[s,n],rotation:a}=this;switch(a){case 90:return[e,1-t,n/s*i,s/n*r];case 180:return[1-t,1-e,i,r];case 270:return[1-e,t,n/s*i,s/n*r];default:return[t,e,i,r]}}#ak(){let{x:t,y:e,width:i,height:r,parentDimensions:[s,n],rotation:a}=this;switch(a){case 90:return[1-e,t,s/n*i,n/s*r];case 180:return[1-t,1-e,i,r];case 270:return[e,1-t,s/n*i,n/s*r];default:return[t,e,i,r]}}#aM(t){[this.x,this.y,this.width,this.height]=this.#aD(t),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#aP(){let{x:t,y:e,width:i,height:r,rotation:s,parentRotation:n,parentDimensions:[a,o]}=this;switch((4*s+n)/90){case 1:return[1-e-r,t,r,i];case 2:return[1-t-i,1-e-r,i,r];case 3:return[e,1-t-i,r,i];case 4:return[t,e-a/o*i,o/a*r,a/o*i];case 5:return[1-e,t,a/o*i,o/a*r];case 6:return[1-t-o/a*r,1-e,o/a*r,a/o*i];case 7:return[e-a/o*i,1-t-o/a*r,a/o*i,o/a*r];case 8:return[t-i,e-r,i,r];case 9:return[1-e,t-i,r,i];case 10:return[1-t,1-e,i,r];case 11:return[e-r,1-t,r,i];case 12:return[t-o/a*r,e,o/a*r,a/o*i];case 13:return[1-e-a/o*i,t-o/a*r,a/o*i,o/a*r];case 14:return[1-t,1-e-a/o*i,o/a*r,a/o*i];case 15:return[e,1-t,a/o*i,o/a*r];default:return[t,e,i,r]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,r$._mergeSVGProperties({bbox:this.#aP()},this.#ab.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#aM(this.#ab.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){let t,e;if(this.div)return this.div;this._isCopy&&(t=this.x,e=this.y);let i=super.render();i.classList.add("draw");let r=document.createElement("div");return i.append(r),r.setAttribute("aria-hidden","true"),r.className="internal",this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(t,e),i}static createDrawerInstance(t,e,i,r,s){K("Not implemented")}static startDrawing(t,e,i,r){let{target:s,offsetX:n,offsetY:a,pointerId:o,pointerType:l}=r;if(r$.#a_&&r$.#a_!==l)return;let{viewport:{rotation:h}}=t,{width:d,height:c}=s.getBoundingClientRect(),u=r$.#aw=new AbortController,p=t.combinedSignal(u);(r$.#aA||=o,r$.#a_??=l,window.addEventListener("pointerup",t=>{r$.#aA===t.pointerId?this._endDraw(t):r$.#aS?.delete(t.pointerId)},{signal:p}),window.addEventListener("pointercancel",t=>{r$.#aA===t.pointerId?this._currentParent.endDrawingSession():r$.#aS?.delete(t.pointerId)},{signal:p}),window.addEventListener("pointerdown",t=>{r$.#a_===t.pointerType&&((r$.#aS||=new Set).add(t.pointerId),r$.#ay.isCancellable()&&(r$.#ay.removeLastElement(),r$.#ay.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:p}),window.addEventListener("contextmenu",tR,{signal:p}),s.addEventListener("pointermove",this._drawMove.bind(this),{signal:p}),s.addEventListener("touchmove",t=>{t.timeStamp===r$.#aE&&tL(t)},{signal:p}),t.toggleDrawing(),e._editorUndoBar?.hide(),r$.#ay)?t.drawLayer.updateProperties(this._currentDrawId,r$.#ay.startNew(n,a,d,c,h)):(e.updateUIForDefaultProperties(this),r$.#ay=this.createDrawerInstance(n,a,d,c,h),r$.#ax=this.getDefaultDrawingOptions(),this._currentParent=t,{id:this._currentDrawId}=t.drawLayer.draw(this._mergeSVGProperties(r$.#ax.toSVGProperties(),r$.#ay.defaultSVGProperties),!0,!1))}static _drawMove(t){if(r$.#aE=-1,!r$.#ay)return;let{offsetX:e,offsetY:i,pointerId:r}=t;if(r$.#aA===r){if(r$.#aS?.size>=1)return void this._endDraw(t);this._currentParent.drawLayer.updateProperties(this._currentDrawId,r$.#ay.add(e,i)),r$.#aE=t.timeStamp,tL(t)}}static _cleanup(t){t&&(this._currentDrawId=-1,this._currentParent=null,r$.#ay=null,r$.#ax=null,r$.#a_=null,r$.#aE=NaN),r$.#aw&&(r$.#aw.abort(),r$.#aw=null,r$.#aA=NaN,r$.#aS=null)}static _endDraw(t){let e=this._currentParent;if(e){if(e.toggleDrawing(!0),this._cleanup(!1),t?.target===e.div&&e.drawLayer.updateProperties(this._currentDrawId,r$.#ay.end(t.offsetX,t.offsetY)),this.supportMultipleDrawings){let t=r$.#ay,i=this._currentDrawId,r=t.getLastElement();e.addCommands({cmd:()=>{e.drawLayer.updateProperties(i,t.setLastElement(r))},undo:()=>{e.drawLayer.updateProperties(i,t.removeLastElement())},mustExec:!1,type:U.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(t){let e=this._currentParent;if(!e)return null;if(e.toggleDrawing(!0),e.cleanUndoStack(U.DRAW_STEP),!r$.#ay.isEmpty()){let{pageDimensions:[i,r],scale:s}=e,n=e.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:r$.#ay.getOutlines(i*s,r*s,s,this._INNER_MARGIN),drawingOptions:r$.#ax,mustBeCommitted:!t});return this._cleanup(!0),n}return e.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(t){}static deserializeDraw(t,e,i,r,s,n){K("Not implemented")}static async deserialize(t,e,i){let{rawDims:{pageWidth:r,pageHeight:s,pageX:n,pageY:a}}=e.viewport,o=this.deserializeDraw(n,a,r,s,this._INNER_MARGIN,t),l=await super.deserialize(t,e,i);return l.createDrawingOptions(t),l.#aT({drawOutlines:o}),l.#ar(),l.onScaleChanging(),l.rotate(),l}serializeDraw(t){let[e,i]=this.pageTranslation,[r,s]=this.pageDimensions;return this.#ab.serialize([e,i,r,s],t)}renderAnnotationElement(t){return t.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class rH{#n_=new Float64Array(6);#s1;#aI;#rk;#nk;#nP;#aR="";#aL=0;#nZ=new rG;#aB;#aF;constructor(t,e,i,r,s,n){this.#aB=i,this.#aF=r,this.#rk=s,this.#nk=n,[t,e]=this.#aN(t,e);const a=this.#s1=[NaN,NaN,NaN,NaN,t,e];this.#nP=[t,e],this.#aI=[{line:a,points:this.#nP}],this.#n_.set(a,0)}updateProperty(t,e){"stroke-width"===t&&(this.#nk=e)}#aN(t,e){return rR._normalizePoint(t,e,this.#aB,this.#aF,this.#rk)}isEmpty(){return!this.#aI||0===this.#aI.length}isCancellable(){return this.#nP.length<=10}add(t,e){[t,e]=this.#aN(t,e);let[i,r,s,n]=this.#n_.subarray(2,6),a=t-s,o=e-n;return 2>=Math.hypot(this.#aB*a,this.#aF*o)?null:((this.#nP.push(t,e),isNaN(i))?(this.#n_.set([s,n,t,e],2),this.#s1.push(NaN,NaN,NaN,NaN,t,e)):(isNaN(this.#n_[0])&&this.#s1.splice(6,6),this.#n_.set([i,r,s,n,t,e],0),this.#s1.push(...rR.createBezierPoints(i,r,s,n,t,e))),{path:{d:this.toSVGPath()}})}end(t,e){let i=this.add(t,e);
2return i||(2===this.#nP.length?{path:{d:this.toSVGPath()}}:null)}startNew(t,e,i,r,s){this.#aB=i,this.#aF=r,this.#rk=s,[t,e]=this.#aN(t,e);let n=this.#s1=[NaN,NaN,NaN,NaN,t,e];this.#nP=[t,e];let a=this.#aI.at(-1);return a&&(a.line=new Float32Array(a.line),a.points=new Float32Array(a.points)),this.#aI.push({line:n,points:this.#nP}),this.#n_.set(n,0),this.#aL=0,this.toSVGPath(),null}getLastElement(){return this.#aI.at(-1)}setLastElement(t){return this.#aI?(this.#aI.push(t),this.#s1=t.line,this.#nP=t.points,this.#aL=0,{path:{d:this.toSVGPath()}}):this.#nZ.setLastElement(t)}removeLastElement(){if(!this.#aI)return this.#nZ.removeLastElement();this.#aI.pop(),this.#aR="";for(let t=0,e=this.#aI.length;t<e;t++){let{line:e,points:i}=this.#aI[t];this.#s1=e,this.#nP=i,this.#aL=0,this.toSVGPath()}return{path:{d:this.#aR}}}toSVGPath(){let t=rR.svgRound(this.#s1[4]),e=rR.svgRound(this.#s1[5]);if(2===this.#nP.length)return this.#aR=`${this.#aR} M ${t} ${e} Z`,this.#aR;if(this.#nP.length<=6){let i=this.#aR.lastIndexOf("M");this.#aR=`${this.#aR.slice(0,i)} M ${t} ${e}`,this.#aL=6}if(4===this.#nP.length){let t=rR.svgRound(this.#s1[10]),e=rR.svgRound(this.#s1[11]);return this.#aR=`${this.#aR} L ${t} ${e}`,this.#aL=12,this.#aR}let i=[];0===this.#aL&&(i.push(`M ${t} ${e}`),this.#aL=6);for(let t=this.#aL,e=this.#s1.length;t<e;t+=6){let[e,r,s,n,a,o]=this.#s1.slice(t,t+6).map(rR.svgRound);i.push(`C${e} ${r} ${s} ${n} ${a} ${o}`)}return this.#aR+=i.join(" "),this.#aL=this.#s1.length,this.#aR}getOutlines(t,e,i,r){let s=this.#aI.at(-1);return s.line=new Float32Array(s.line),s.points=new Float32Array(s.points),this.#nZ.build(this.#aI,t,e,i,this.#rk,this.#nk,r),this.#n_=null,this.#s1=null,this.#aI=null,this.#aR=null,this.#nZ}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class rG extends rR{#nz;#aO=0;#nw;#aI;#aB;#aF;#aj;#rk;#nk;build(t,e,i,r,s,n,a){this.#aB=e,this.#aF=i,this.#aj=r,this.#rk=s,this.#nk=n,this.#nw=a??0,this.#aI=t,this.#aU()}get thickness(){return this.#nk}setLastElement(t){return this.#aI.push(t),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#aI.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let t=[];for(let{line:e}of this.#aI){if(t.push(`M${rR.svgRound(e[4])} ${rR.svgRound(e[5])}`),6===e.length){t.push("Z");continue}if(12===e.length&&isNaN(e[6])){t.push(`L${rR.svgRound(e[10])} ${rR.svgRound(e[11])}`);continue}for(let i=6,r=e.length;i<r;i+=6){let[r,s,n,a,o,l]=e.subarray(i,i+6).map(rR.svgRound);t.push(`C${r} ${s} ${n} ${a} ${o} ${l}`)}}return t.join("")}serialize([t,e,i,r],s){let n,a,o,l,h,d,c,u,p,g=[],f=[],[m,b,v,y]=this.#az();switch(this.#rk){case 0:p=rR._rescale,n=t,a=e+r,o=i,l=-r,h=t+m*i,d=e+(1-b-y)*r,c=t+(m+v)*i,u=e+(1-b)*r;break;case 90:p=rR._rescaleAndSwap,n=t,a=e,o=i,l=r,h=t+b*i,d=e+m*r,c=t+(b+y)*i,u=e+(m+v)*r;break;case 180:p=rR._rescale,n=t+i,a=e,o=-i,l=r,h=t+(1-m-v)*i,d=e+b*r,c=t+(1-m)*i,u=e+(b+y)*r;break;case 270:p=rR._rescaleAndSwap,n=t+i,a=e+r,o=-i,l=-r,h=t+(1-b-y)*i,d=e+(1-m-v)*r,c=t+(1-b)*i,u=e+(1-m)*r}for(let{line:t,points:e}of this.#aI)g.push(p(t,n,a,o,l,s?Array(t.length):null)),f.push(p(e,n,a,o,l,s?Array(e.length):null));return{lines:g,points:f,rect:[h,d,c,u]}}static deserialize(t,e,i,r,s,{paths:{lines:n,points:a},rotation:o,thickness:l}){let h,d,c,u,p,g=[];switch(o){case 0:p=rR._rescale,h=-t/i,d=e/r+1,c=1/i,u=-1/r;break;case 90:p=rR._rescaleAndSwap,h=-e/r,d=-t/i,c=1/r,u=1/i;break;case 180:p=rR._rescale,h=t/i+1,d=-e/r,c=-1/i,u=1/r;break;case 270:p=rR._rescaleAndSwap,h=e/r+1,d=t/i+1,c=-1/r,u=-1/i}if(!n)for(let t of(n=[],a)){let e=t.length;if(2===e){n.push(new Float32Array([NaN,NaN,NaN,NaN,t[0],t[1]]));continue}if(4===e){n.push(new Float32Array([NaN,NaN,NaN,NaN,t[0],t[1],NaN,NaN,NaN,NaN,t[2],t[3]]));continue}let i=new Float32Array(3*(e-2));n.push(i);let[r,s,a,o]=t.subarray(0,4);i.set([NaN,NaN,NaN,NaN,r,s],0);for(let n=4;n<e;n+=2){let e=t[n],l=t[n+1];i.set(rR.createBezierPoints(r,s,a,o,e,l),(n-2)*3),[r,s,a,o]=[a,o,e,l]}}for(let t=0,e=n.length;t<e;t++)g.push({line:p(n[t].map(t=>t??NaN),h,d,c,u),points:p(a[t].map(t=>t??NaN),h,d,c,u)});let f=new this.prototype.constructor;return f.build(g,i,r,1,o,l,s),f}#a$(t=this.#nk){let e=this.#nw+t/2*this.#aj;return this.#rk%180==0?[e/this.#aB,e/this.#aF]:[e/this.#aF,e/this.#aB]}
2#az(){let[t,e,i,r]=this.#nz,[s,n]=this.#a$(0);return[t+s,e+n,i-2*s,r-2*n]}#aU(){let t=this.#nz=new Float32Array([1/0,1/0,-1/0,-1/0]);for(let{line:e}of this.#aI){if(e.length<=12){for(let i=4,r=e.length;i<r;i+=6)tu.pointBoundingBox(e[i],e[i+1],t);continue}let i=e[4],r=e[5];for(let s=6,n=e.length;s<n;s+=6){let[n,a,o,l,h,d]=e.subarray(s,s+6);tu.bezierBoundingBox(i,r,n,a,o,l,h,d,t),i=h,r=d}}let[e,i]=this.#a$();t[0]=tv(t[0]-e,0,1),t[1]=tv(t[1]-i,0,1),t[2]=tv(t[2]+e,0,1),t[3]=tv(t[3]+i,0,1),t[2]-=t[0],t[3]-=t[1]}get box(){return this.#nz}updateProperty(t,e){return"stroke-width"===t?this.#aa(e):null}#aa(t){let[e,i]=this.#a$();this.#nk=t;let[r,s]=this.#a$(),[n,a]=[r-e,s-i],o=this.#nz;return o[0]-=n,o[1]-=a,o[2]+=2*n,o[3]+=2*a,o}updateParentDimensions([t,e],i){let[r,s]=this.#a$();this.#aB=t,this.#aF=e,this.#aj=i;let[n,a]=this.#a$(),o=n-r,l=a-s,h=this.#nz;return h[0]-=o,h[1]-=l,h[2]+=2*o,h[3]+=2*l,h}updateRotation(t){return this.#aO=t,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#nz.map(rR.svgRound).join(" ")}get defaultProperties(){let[t,e]=this.#nz;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${rR.svgRound(t)} ${rR.svgRound(e)}`}}}get rotationTransform(){let[,,t,e]=this.#nz,i=0,r=0,s=0,n=0,a=0,o=0;switch(this.#aO){case 90:r=e/t,s=-t/e,a=t;break;case 180:i=-1,n=-1,a=t,o=e;break;case 270:r=-e/t,s=t/e,o=e;break;default:return""}return`matrix(${i} ${r} ${s} ${n} ${rR.svgRound(a)} ${rR.svgRound(o)})`}getPathResizingSVGProperties([t,e,i,r]){let[s,n]=this.#a$(),[a,o,l,h]=this.#nz;if(Math.abs(l-s)<=rR.PRECISION||Math.abs(h-n)<=rR.PRECISION){let s=t+i/2-(a+l/2),n=e+r/2-(o+h/2);return{path:{"transform-origin":`${rR.svgRound(t)} ${rR.svgRound(e)}`,transform:`${this.rotationTransform} translate(${s} ${n})`}}}let d=(i-2*s)/(l-2*s),c=(r-2*n)/(h-2*n);return{path:{"transform-origin":`${rR.svgRound(a)} ${rR.svgRound(o)}`,transform:`${this.rotationTransform} scale(${l/i} ${h/r}) translate(${rR.svgRound(s)} ${rR.svgRound(n)}) scale(${d} ${c}) translate(${rR.svgRound(-s)} ${rR.svgRound(-n)})`}}}getPathResizedSVGProperties([t,e,i,r]){let[s,n]=this.#a$(),a=this.#nz,[o,l,h,d]=a;if(a[0]=t,a[1]=e,a[2]=i,a[3]=r,Math.abs(h-s)<=rR.PRECISION||Math.abs(d-n)<=rR.PRECISION){let s=t+i/2-(o+h
2/2),n=e+r/2-(l+d/2);for(let{line:t,points:e}of this.#aI)rR._translate(t,s,n,t),rR._translate(e,s,n,e);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${rR.svgRound(t)} ${rR.svgRound(e)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let c=(i-2*s)/(h-2*s),u=(r-2*n)/(d-2*n),p=-c*(o+s)+t+s,g=-u*(l+n)+e+n;if(1!==c||1!==u||0!==p||0!==g)for(let{line:t,points:e}of this.#aI)rR._rescale(t,p,g,c,u,t),rR._rescale(e,p,g,c,u,e);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${rR.svgRound(t)} ${rR.svgRound(e)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([t,e],i){let[r,s]=i,n=this.#nz,a=t-n[0],o=e-n[1];if(this.#aB===r&&this.#aF===s)for(let{line:t,points:e}of this.#aI)rR._translate(t,a,o,t),rR._translate(e,a,o,e);else{let t=this.#aB/r,e=this.#aF/s;for(let{line:i,points:n}of(this.#aB=r,this.#aF=s,this.#aI))rR._rescale(i,a,o,t,e,i),rR._rescale(n,a,o,t,e,n);n[2]*=t,n[3]*=e}return n[0]=t,n[1]=e,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${rR.svgRound(t)} ${rR.svgRound(e)}`}}}get defaultSVGProperties(){let t=this.#nz;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${rR.svgRound(t[0])} ${rR.svgRound(t[1])}`,transform:this.rotationTransform||null},bbox:t}}}class rV extends rz{constructor(t){super(),this._viewParameters=t,super.updateProperties({fill:"none",stroke:ee._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(t,e){"stroke-width"===t&&(e??=this["stroke-width"],e*=this._viewParameters.realScale),super.updateSVGProperty(t,e)}clone(){let t=new rV(this._viewParameters);return t.updateAll(this),t}}class rW extends r${static _type="ink";static _editorType=j.INK;static _defaultDrawingOptions=null;constructor(t){super({...t,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(t,e){ee.initialize(t,e),this._defaultDrawingOptions=new rV(e.viewParameters)}static getDefaultDrawingOptions(t){let e=this._defaultDrawingOptions.clone();return e.updateProperties(t),e}static get supportMultipleDrawings(){return!0}static get typesMap(){return tt(this,"typesMap",new Map([[U.INK_THICKNESS,"stroke-width"],[U.INK_COLOR,"stroke"],[U.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(t,e,i,r,s){return new rH(t,e,i,r,s,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(t,e,i,r,s,n){return rG.deserialize(t,e,i,r,s,n)}static async deserialize(t,e,i){let r=null;if(t instanceof r_){let{data:{inkLists:e,rect:i,rotation:s,id:n,color:a,opacity:o,borderStyle:{rawWidth:l},popupRef:h,richText:d,contentsObj:c,creationDate:u,modificationDate:p},parent:{page:{pageNumber:g}}}=t;r=t={annotationType:j.INK,color:Array.from(a),thickness:l,opacity:o,paths:{points:e},boxes:null,pageIndex:g-1,rect:i.slice(0),rotation:s,annotationElementId:n,id:n,deleted:!1,popupRef:h,richText:d,comment:c?.str||null,creationDate:u,modificationDate:p}}let s=await super.deserialize(t,e,i);return s._initialData=r,t.comment&&s.setCommentData(t),s}get toolbarButtons(){return this._colorPicker||=new i3(this),[["colorPicker",this._colorPicker]]}get colorType(){return U.INK_COLOR}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:t,_drawingOptions:e,parent:i}=this;e.updateSVGProperty("stroke-width"),i.drawLayer.updateProperties(t,e.toSVGProperties())}static onScaleChangingWhenDrawing(){let t=this._currentParent;t&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),t.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:t,thickness:e,opacity:i}){this._drawingOptions=rW.getDefaultDrawingOptions({stroke:tu.makeHexColor(...t),"stroke-width":e,"stroke-opacity":i})}serialize(t=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:e,points:i}=this.serializeDraw(t),{_drawingOptions:{stroke:r,"stroke-opacity":s,"stroke-width":n}}=this,a=Object.assign(super.serialize(t),{color:ee._colorManager.convert(r),opacity:s,thickness:n,paths:{lines:e,points:i}});return(this.addComment(a),t)?(a.isCopy=!0,a):this.annotationElementId&&!this.#nb(a)?null:(a.id=this.annotationElementId,a)}#nb(t){let{color:e,thickness:i,opacity:r,pageIndex:s}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||t.color.some((t,i)=>t!==e[i])||t.thickness!==i||t.opacity!==r||t.pageIndex!==s}renderAnnotationElement(t){if(this.deleted)return t.hide(),null;let{points:e,rect:i}=this.serializeDraw(!1);return t.updateEdited({rect:i,thickness:this._drawingOptions["stroke-width"],points:e,popup:this.comment}),null}}class rq extends rG{toSVGPath(){let t=super.toSVGPath();return t.endsWith("Z")||(t+="Z"),t}}class rX{static #aH={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static #aG(t,e,i,r){return(i-=t,r-=e,0===i)?r>0?0:4:1===i?r+6:2-r}static #aV=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static #aW(t,e,i,r,s,n,a){let o=this.#aG(i,r,s,n);for(let s=0;s<8;s++){let n=(-s+o-a+16)%8;if(0!==t[(i+this.#aV[2*n])*e+(r+this.#aV[2*n+1])])return n}return -1}static #aq(t,e,i,r,s,n,a){let o=this.#aG(i,r,s,n);for(let s=0;s<8;s++){let n=(s+o+a+16)%8;if(0!==t[(i+this.#aV[2*n])*e+(r+this.#aV[2*n+1])])return n}return -1}static #aX(t,e,i,r){let s,n=t.length,a=new Int32Array(n);for(let e=0;e<n;e++)a[e]=+(t[e]<=r);for(let t=1;t<i-1;t++)a[t*e]=a[t*e+e-1]=0;for(let t=0;t<e;t++)a[t]=a[e*i-1-t]=0;let o=1,l=[];for(let t=1;t<i-1;t++){s=1;for(let i=1;i<e-1;i++){let r,n=t*e+i,h=a[n];if(0===h)continue;let d=t,c=i;if(1===h&&0===a[n-1])o+=1,c-=1;else if(h>=1&&0===a[n+1])o+=1,c+=1,h>1&&(s=h);else{1!==h&&(s=Math.abs(h));continue}let u=[i,t],p=c===i+1,g={isHole:p,points:u,id:o,parent:0};for(let t of(l.push(g),l))if(t.id===s){r=t;break}r?r.isHole?g.parent=p?r.parent:s:g.parent=p?s:r.parent:g.parent=p?s:0;let f=this.#aW(a,e,t,i,d,c,0);
2if(-1===f){a[n]=-o,1!==a[n]&&(s=Math.abs(a[n]));continue}let m=this.#aV[2*f],b=this.#aV[2*f+1],v=t+m,y=i+b;d=v,c=y;let w=t,x=i;for(;;){let r=this.#aq(a,e,w,x,d,c,1);m=this.#aV[2*r],b=this.#aV[2*r+1];let l=w+m,h=x+b;u.push(h,l);let p=w*e+x;if(0===a[p+1]?a[p]=-o:1===a[p]&&(a[p]=o),l===t&&h===i&&w===v&&x===y){1!==a[n]&&(s=Math.abs(a[n]));break}d=w,c=x,w=l,x=h}}}return l}static #aY(t,e,i,r){if(i-e<=4){for(let s=e;s<i-2;s+=2)r.push(t[s],t[s+1]);return}let s=t[e],n=t[e+1],a=t[i-4]-s,o=t[i-3]-n,l=Math.hypot(a,o),h=a/l,d=o/l,c=h*n-d*s,u=1/l,p=Math.atan(o/a),g=Math.cos(p),f=Math.sin(p),m=u*(Math.abs(g)+Math.abs(f)),b=u*(1-m+m**2),v=Math.max(Math.atan(Math.abs(f+g)*b),Math.atan(Math.abs(f-g)*b)),y=0,w=e;for(let r=e+2;r<i-2;r+=2){let e=Math.abs(c-h*t[r+1]+d*t[r]);e>y&&(w=r,y=e)}y>(l*v)**2?(this.#aY(t,e,w+2,r),this.#aY(t,w,i,r)):r.push(s,n)}static #aK(t){let e=[],i=t.length;return this.#aY(t,0,i,e),e.push(t[i-2],t[i-1]),e.length<=4?null:e}static #aJ(t,e,i,r,s,n){let a=new Float32Array(n**2),o=-2*r**2,l=n>>1;for(let t=0;t<n;t++){let e=(t-l)**2;for(let i=0;i<n;i++)a[t*n+i]=Math.exp((e+(i-l)**2)/o)}let h=new Float32Array(256),d=-2*s**2;for(let t=0;t<256;t++)h[t]=Math.exp(t**2/d);let c=new Uint8Array(t.length),u=new Uint32Array(256);for(let r=0;r<i;r++)for(let s=0;s<e;s++){let o=r*e+s,d=t[o],p=0,g=0;for(let o=0;o<n;o++){let c=r+o-l;if(!(c<0)&&!(c>=i))for(let i=0;i<n;i++){let r=s+i-l;if(r<0||r>=e)continue;let u=t[c*e+r],f=a[o*n+i]*h[Math.abs(u-d)];p+=u*f,g+=f}}let f=c[o]=Math.round(p/g);u[f]++}return[c,u]}static #aQ(t){let e=new Uint32Array(256);for(let i of t)e[i]++;return e}static #aZ(t){let e=new Uint8ClampedArray(t.length>>2),i=-1/0,r=1/0;for(let s=0,n=e.length;s<n;s++){let n=e[s]=t[s<<2];i=Math.max(i,n),r=Math.min(r,n)}let s=255/(i-r);for(let t=0,i=e.length;t<i;t++)e[t]=(e[t]-r)*s;return e}static #a0(t){let e,i=-1/0,r=-1/0,s=t.findIndex(t=>0!==t),n=s,a=s;for(e=s;e<256;e++){let s=t[e];s>i&&(e-n>r&&(r=e-n,a=e-1),i=s,n=e)}for(e=a-1;e>=0&&!(t[e]>t[e+1]);e--);return e}static #a1(t){let e=t,{width:i,height:r}=t,{maxDim:s}=this.#aH,n=i,a=r;if(i>s||r>s){let o=i,l=r,h=Math.log2(Math.max(i,r)/s),d=Math.floor(h);h=h===d?d-1:d;for(let i=0;i<h;i++){let i=new OffscreenCanvas(n=Math.ceil(o/2),a=Math.ceil(l/2));i.getContext("2d").drawImage(t,0,0,o,l,0,0,n,a),o=n,l=a,t!==e&&t.close(),t=i.transferToImageBitmap()}let c=Math.min(s/n,s/a);n=Math.round(n*c),a=Math.round(a*c)}let o=new OffscreenCanvas(n,a).getContext("2d",{willReadFrequently:!0});o.fillStyle="white",o.fillRect(0,0,n,a),o.filter="grayscale(1)",o.drawImage(t,0,0,t.width,t.height,0,0,n,a);let l=o.getImageData(0,0,n,a).data;return[this.#aZ(l),n,a]}static extractContoursFromText(t,{fontFamily:e,fontStyle:i,fontWeight:r},s,n,a,o){let l=new OffscreenCanvas(1,1),h=l.getContext("2d",{alpha:!1}),d=h.font=`${i} ${r} 200px ${e}`,{actualBoundingBoxLeft:c,actualBoundingBoxRight:u,actualBoundingBoxAscent:p,actualBoundingBoxDescent:g,fontBoundingBoxAscent:f,fontBoundingBoxDescent:m,width:b}=h.measureText(t),v=Math.ceil(1.5*Math.max(Math.abs(c)+Math.abs(u)||0,b)),y=Math.ceil(1.5*Math.max(Math.abs(p)+Math.abs(g)||200,Math.abs(f)+Math.abs(m)||200));(h=(l=new OffscreenCanvas(v,y)).getContext("2d",{alpha:!0,willReadFrequently:!0})).font=d,h.filter="grayscale(1)",h.fillStyle="white",h.fillRect(0,0,v,y),h.fillStyle="black",h.fillText(t,.5*v/2,1.5*y/2);let w=this.#aZ(h.getImageData(0,0,v,y).data),x=this.#aQ(w),A=this.#a0(x),_=this.#aX(w,v,y,A);return this.processDrawnLines({lines:{curves:_,width:v,height:y},pageWidth:s,pageHeight:n,rotation:a,innerMargin:o,mustSmooth:!0,areContours:!0})}static process(t,e,i,r,s){let[n,a,o]=this.#a1(t),[l,h]=this.#aJ(n,a,o,Math.hypot(a,o)*this.#aH.sigmaSFactor,this.#aH.sigmaR,this.#aH.kernelSize),d=this.#a0(h),c=this.#aX(l,a,o,d);return this.processDrawnLines({lines:{curves:c,width:a,height:o},pageWidth:e,pageHeight:i,rotation:r,innerMargin:s,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:t,pageWidth:e,pageHeight:i,rotation:r,innerMargin:s,mustSmooth:n,areContours:a}){r%180!=0&&([e,i]=[i,e]);let{curves:o,width:l,height:h}=t,d=t.thickness??0,c=[],u=Math.min(e/l,i/h),p=u/e,g=u/i,f=[];for(let{points:t}of o){let e=n?this.#aK(t):t;if(!e)continue;f.push(e);let i=e.length,r=new Float32Array(i),s=new Float32Array(3*(2===i?2:i-2));if(c.push({line:s,points:r}),2===i){r[0]=e[0]*p,r[1]=e[1]*g,s.set([NaN,NaN,NaN,NaN,r[0],r[1]],0
2);continue}let[a,o,l,h]=e;a*=p,o*=g,l*=p,h*=g,r.set([a,o,l,h],0),s.set([NaN,NaN,NaN,NaN,a,o],0);for(let t=4;t<i;t+=2){let i=r[t]=e[t]*p,n=r[t+1]=e[t+1]*g;s.set(rR.createBezierPoints(a,o,l,h,i,n),(t-2)*3),[a,o,l,h]=[l,h,i,n]}}if(0===c.length)return null;let m=a?new rq:new rG;return m.build(c,e,i,1,r,a?0:d,s),{outline:m,newCurves:f,areContours:a,thickness:d,width:l,height:h}}static async compressSignature({outlines:t,areContours:e,thickness:i,width:r,height:s}){let n,a=1/0,o=-1/0,l=0;for(let e of t){l+=e.length;for(let t=2,i=e.length;t<i;t++){let i=e[t]-e[t-2];a=Math.min(a,i),o=Math.max(o,i)}}n=a>=-128&&o<=127?Int8Array:a>=-32768&&o<=32767?Int16Array:Int32Array;let h=t.length,d=8+3*h,c=new Uint32Array(d),u=0;for(let a of(c[u++]=d*Uint32Array.BYTES_PER_ELEMENT+(l-2*h)*n.BYTES_PER_ELEMENT,c[u++]=0,c[u++]=r,c[u++]=s,c[u++]=+!e,c[u++]=Math.max(0,Math.floor(i??0)),c[u++]=h,c[u++]=n.BYTES_PER_ELEMENT,t))c[u++]=a.length-2,c[u++]=a[0],c[u++]=a[1];let p=new CompressionStream("deflate-raw"),g=p.writable.getWriter();await g.ready,g.write(c);let f=n.prototype.constructor;for(let e of t){let t=new f(e.length-2);for(let i=2,r=e.length;i<r;i++)t[i-2]=e[i]-e[i-2];g.write(t)}return g.close(),ty(new Uint8Array(await new Response(p.readable).arrayBuffer()))}static async decompressSignature(t){try{let e,i=Uint8Array.fromBase64?Uint8Array.fromBase64(t):th(atob(t)),{readable:r,writable:s}=new DecompressionStream("deflate-raw"),n=s.getWriter();await n.ready,n.write(i).then(async()=>{await n.ready,await n.close()}).catch(()=>{});let a=null,o=0;for await(let t of r)(a||=new Uint8Array(new Uint32Array(t.buffer,0,4)[0])).set(t,o),o+=t.length;let l=new Uint32Array(a.buffer,0,a.length>>2),h=l[1];if(0!==h)throw Error(`Invalid version: ${h}`);let d=l[2],c=l[3],u=0===l[4],p=l[5],g=l[6],f=l[7],m=[],b=(8+3*g)*Uint32Array.BYTES_PER_ELEMENT;switch(f){case Int8Array.BYTES_PER_ELEMENT:e=new Int8Array(a.buffer,b);break;case Int16Array.BYTES_PER_ELEMENT:e=new Int16Array(a.buffer,b);break;case Int32Array.BYTES_PER_ELEMENT:e=new Int32Array(a.buffer,b)}o=0;for(let t=0;t<g;t++){let i=l[3*t+8],r=new Float32Array(i+2);m.push(r);for(let e=0;e<2;e++)r[e]=l[3*t+8+e+1];for(let t=0;t<i;t++)r[t+2]=r[t]+e[o++]}return{areContours:u,thickness:p,outlines:m,width:d,height:c}}catch(t){return Y(`decompressSignature: ${t}`),null}}}class rY extends rz{constructor(){super(),super.updateProperties({fill:ee._defaultLineColor,"stroke-width":0})}clone(){let t=new rY;return t.updateAll(this),t}}class rK extends rV{constructor(t){super(t),super.updateProperties({stroke:ee._defaultLineColor,"stroke-width":1})}clone(){let t=new rK(this._viewParameters);return t.updateAll(this),t}}class rJ extends r${#a2=!1;#a5=null;#a3=null;#a4=null;static _type="signature";static _editorType=j.SIGNATURE;static _defaultDrawingOptions=null;constructor(t){super({...t,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#a3=t.signatureData||null,this.#a5=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(t,e){ee.initialize(t,e),this._defaultDrawingOptions=new rY,this._defaultDrawnSignatureOptions=new rK(e.viewParameters)}static getDefaultDrawingOptions(t){let e=this._defaultDrawingOptions.clone();return e.updateProperties(t),e}static get supportMultipleDrawings(){return!1}static get typesMap(){return tt(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#a5}}static computeTelemetryFinalData(t){let e=t.get("hasDescription");return{hasAltText:e.get(!0)??0,hasNoAltText:e.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){null!==this._drawId&&super.onScaleChanging()}render(){let t,e;if(this.div)return this.div;let{_isCopy:i}=this;if(i&&(this._isCopy=!1,t=this.x,e=this.y),super.render(),null===this._drawId)if(this.#a3){let{lines:t,mustSmooth:e,areContours:i,description:r,uuid:s,heightInPage:n}=this.#a3,{rawDims:{pageWidth:a,pageHeight:o},rotation:l}=this.parent.viewport,h=rX.processDrawnLines({lines:t,pageWidth:a,pageHeight:o,rotation:l,innerMargin:rJ._INNER_MARGIN,mustSmooth:e,areContours:i});this.addSignature(h,n,r,s)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#a5||""}));return i&&(this._isCopy=!0,this._moveAfterPaste(t,e)),this.div}setUuid(t){this.#a4=t,this.addEditToolbar()}getUuid(){return this.#a4}get description(){return this.#a5}set description(t){this.#a5=t,this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:t})),super.addEditToolbar().then(e=>{e?.updateEditSignatureButton(t)}))}getSignaturePreview(){let{newCurves:t,areContours:e,thickness:i,width:r,height:s}=this.#a3,n=Math.max(r,s),a=rX.processDrawnLines({lines:{curves:t.map(t=>({points:t})),thickness:i,width:r,height:s},pageWidth:n,pageHeight:n,rotation:0,innerMargin:0,mustSmooth:!1,areContours:e});return{areContours:e,outline:a.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(t,e,i,r){let s,{x:n,y:a}=this,{outline:o}=this.#a3=t;this.#a2=o instanceof rq,this.description=i,this.#a2?s=rJ.getDefaultDrawingOptions():(s=rJ._defaultDrawnSignatureOptions.clone()).updateProperties({"stroke-width":o.thickness}),this._addOutlines({drawOutlines:o,drawingOptions:s});let[,l]=this.pageDimensions,h=e/l;h=h>=1?.5:h,this.width*=h/this.height,this.width>=1&&(h*=.9/this.width,this.width=.9),this.height=h,this.setDims(),this.x=n,this.y=a,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(r),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!r,hasDescription:!!i}}),this.div.hidden=!1}getFromImage(t){let{rawDims:{pageWidth:e,pageHeight:i},rotation:r}=this.parent.viewport;
2return rX.process(t,e,i,r,rJ._INNER_MARGIN)}getFromText(t,e){let{rawDims:{pageWidth:i,pageHeight:r},rotation:s}=this.parent.viewport;return rX.extractContoursFromText(t,e,i,r,s,rJ._INNER_MARGIN)}getDrawnSignature(t){let{rawDims:{pageWidth:e,pageHeight:i},rotation:r}=this.parent.viewport;return rX.processDrawnLines({lines:t,pageWidth:e,pageHeight:i,rotation:r,innerMargin:rJ._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:t,thickness:e}){t?this._drawingOptions=rJ.getDefaultDrawingOptions():(this._drawingOptions=rJ._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":e}))}serialize(t=!1){if(this.isEmpty())return null;let{lines:e,points:i}=this.serializeDraw(t),{_drawingOptions:{"stroke-width":r}}=this,s=Object.assign(super.serialize(t),{isSignature:!0,areContours:this.#a2,color:[0,0,0],thickness:this.#a2?0:r});return this.addComment(s),t?(s.paths={lines:e,points:i},s.uuid=this.#a4,s.isCopy=!0):s.lines=e,this.#a5&&(s.accessibilityData={type:"Figure",alt:this.#a5}),s}static deserializeDraw(t,e,i,r,s,n){return n.areContours?rq.deserialize(t,e,i,r,s,n):rG.deserialize(t,e,i,r,s,n)}static async deserialize(t,e,i){let r=await super.deserialize(t,e,i);return r.#a2=t.areContours,r.description=t.accessibilityData?.alt||"",r.#a4=t.uuid,r}}class rQ extends ee{#a6=null;#a8=null;#a7=null;#a9=null;#ot=null;#oe="";#oi=null;#or=!1;#os=null;#on=!1;#oa=!1;static _type="stamp";static _editorType=j.STAMP;constructor(t){super({...t,name:"stampEditor"}),this.#a9=t.bitmapUrl,this.#ot=t.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(t,e){ee.initialize(t,e)}static isHandlingMimeForPasting(t){return t$.includes(t)}static paste(t,e){e.pasteEditor({mode:j.STAMP},{bitmapFile:t.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(t){let e=t.get("hasAltText");return{hasAltText:e.get(!0)??0,hasNoAltText:e.get(!1)??0}}#oo(t,e=!1){t?(this.#a6=t.bitmap,e||(this.#a8=t.id,this.#on=t.isSvg),t.file&&(this.#oe=t.file.name),this.#ol()):this.remove()}#oh(){if(this.#a7=null,this._uiManager.enableWaiting(!1),this.#oi){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#a6)return void this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#a6){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(t=null,e=!0){if(this.hasAltTextData())return null;let{mlManager:i}=this._uiManager;if(!i)throw Error("No ML.");if(!await i.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:r,width:s,height:n}=t||this.copyCanvas(null,null,!0).imageData,a=await i.guess({name:"altText",request:{data:r,width:s,height:n,channels:r.length/(s*n)}});if(!a)throw Error("No response from the AI service.");if(a.error)throw Error("Error from the AI service.");if(a.cancel)return null;if(!a.output)throw Error("No valid response from the AI service.");let o=a.output;return await this.setGuessedAltText(o),e&&!this.hasAltTextData()&&(this.altTextData={alt:o,decorative:!1}),o}#od(){if(this.#a8){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#a8).then(t=>this.#oo(t,!0)).finally(()=>this.#oh());return}if(this.#a9){let t=this.#a9;this.#a9=null,this._uiManager.enableWaiting(!0),this.#a7=this._uiManager.imageManager.getFromUrl(t).then(t=>this.#oo(t)).finally(()=>this.#oh());return}if(this.#ot){let t=this.#ot;this.#ot=null,this._uiManager.enableWaiting(!0),this.#a7=this._uiManager.imageManager.getFromFile(t).then(t=>this.#oo(t)).finally(()=>this.#oh());return}let t=document.createElement("input");t.type="file",t.accept=t$.join(",");let e=this._uiManager._signal;this.#a7=new Promise(i=>{t.addEventListener("change",async()=>
2{if(t.files&&0!==t.files.length){this._uiManager.enableWaiting(!0);let e=await this._uiManager.imageManager.getFromFile(t.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#oo(e)}else this.remove();i()},{signal:e}),t.addEventListener("cancel",()=>{this.remove(),i()},{signal:e})}).finally(()=>this.#oh()),t.click()}remove(){this.#a8&&(this.#a6=null,this._uiManager.imageManager.deleteId(this.#a8),this.#oi?.remove(),this.#oi=null,this.#os&&(clearTimeout(this.#os),this.#os=null)),super.remove()}rebuild(){if(!this.parent){this.#a8&&this.#od();return}super.rebuild(),null!==this.div&&(this.#a8&&null===this.#oi&&this.#od(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(t){this._isDraggable=!0,t&&this.div.focus()}isEmpty(){return!(this.#a7||this.#a6||this.#a9||this.#ot||this.#a8||this.#or)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){let t,e;return this.div||(this._isCopy&&(t=this.x,e=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#or||(this.#a6?this.#ol():this.#od()),this._isCopy&&this._moveAfterPaste(t,e),this._uiManager.addShouldRescale(this)),this.div}setCanvas(t,e){let{id:i,bitmap:r}=this._uiManager.imageManager.getFromCanvas(t,e);e.remove(),i&&this._uiManager.imageManager.isValidId(i)&&(this.#a8=i,r&&(this.#a6=r),this.#or=!1,this.#ol())}_onResized(){this.onScaleChanging()}onScaleChanging(){this.parent&&(null!==this.#os&&clearTimeout(this.#os),this.#os=setTimeout(()=>{this.#os=null,this.#oc()},200))}#ol(){let{div:t}=this,{width:e,height:i}=this.#a6,[r,s]=this.pageDimensions;if(this.width)e=this.width*r,i=this.height*s;else if(e>.75*r||i>.75*s){let t=Math.min(.75*r/e,.75*s/i);e*=t,i*=t}this._uiManager.enableWaiting(!1);let n=this.#oi=document.createElement("canvas");n.setAttribute("role","img"),this.addContainer(n),this.width=e/r,this.height=i/s,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&!this.annotationElementId||(t.hidden=!1),this.#oc(),this.#oa||(this.parent.addUndoableEditor(this),this.#oa=!0),this._reportTelemetry({action:"inserted_image"}),this.#oe&&this.div.setAttribute("aria-description",this.#oe),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-stamp-added-alert")}copyCanvas(t,e,i=!1){t||(t=224);let{width:r,height:s}=this.#a6,n=new tz,a=this.#a6,o=r,l=s,h=null;if(e){if(r>e||s>e){let t=Math.min(e/r,e/s);o=Math.floor(r*t),l=Math.floor(s*t)}let t=(h=document.createElement("canvas")).width=Math.ceil(o*n.sx),i=h.height=Math.ceil(l*n.sy);this.#on||(a=this.#ou(t,i));let d=h.getContext("2d");d.filter=this._uiManager.hcmFilter;let c="white",u="#cfcfd8";"none"!==this._uiManager.hcmFilter?u="black":tH.isDarkMode&&(c="#8f8f9d",u="#42414d");let p=15*n.sx,g=15*n.sy,f=new OffscreenCanvas(2*p,2*g),m=f.getContext("2d");m.fillStyle=c,m.fillRect(0,0,2*p,2*g),m.fillStyle=u,m.fillRect(0,0,p,g),m.fillRect(p,g,p,g),d.fillStyle=d.createPattern(f,"repeat"),d.fillRect(0,0,t,i),d.drawImage(a,0,0,a.width,a.height,0,0,t,i)}let d=null;if(i){let e,i;if(n.symmetric&&a.width<t&&a.height<t)e=a.width,i=a.height;else if(a=this.#a6,r>t||s>t){let n=Math.min(t/r,t/s);e=Math.floor(r*n),i=Math.floor(s*n),this.#on||(a=this.#ou(e,i))}let o=new OffscreenCanvas(e,i).getContext("2d",{willReadFrequently:!0});o.drawImage(a,0,0,a.width,a.height,0,0,e,i),d={width:e,height:i,data:o.getImageData(0,0,e,i).data}}return{canvas:h,width:o,height:l,imageData:d}}#ou(t,e){let{width:i,height:r}=this.#a6,s=i,n=r,a=this.#a6;for(;s>2*t||n>2*e;){let i=s,r=n;s>2*t&&(s=s>=16384?Math.floor(s/2)-1:Math.ceil(s/2)),n>2*e&&(n=n>=16384?Math.floor(n/2)-1:Math.ceil(n/2));let o=new OffscreenCanvas(s,n);o.getContext("2d").drawImage(a,0,0,i,r,0,0,s,n),a=o.transferToImageBitmap()}return a}#oc(){let[t,e]=this.parentDimensions,{width:i,height:r}=this,s=new tz,n=Math.ceil(i*t*s.sx),a=Math.ceil(r*e*s.sy),o=this.#oi;if(!o||o.width===n&&o.height===a)return;o.width=n,o.height=a;let l=this.#on?this.#a6:this.#ou(n,a),h=o.getContext("2d");h.filter=this._uiManager.hcmFilter,h.drawImage(l,0,0,l.width,l.height,0,0,n,a)}#op(t){if(t){if(this.#on){let t=this._uiManager.imageManager.getSvgUrl(this.#a8);if(t)return t}let t=document.createElement("canvas");return{width:t.width,height:t.height}=this.#a6,t.getContext("2d").drawImage(this.#a6,0,0),t.toDataURL()}if(this.#on){let[t,e]=this.pageDimensions,i=Math.round(this.width*t*t_.PDF_TO_CSS_UNITS),r=Math.round(this.height*e*t_.PDF_TO_CSS_UNITS),s=new OffscreenCanvas(i,r);return s.getContext("2d").drawImage(this.#a6,0,0,this.#a6.width,this.#a6.height,0,0,i,r),s.transferToImageBitmap()}return structuredClone(this.#a6)}static async deserialize(t,e,i){let r=null,s=!1;if(t instanceof rM){let n,a,{data:{rect:o,rotation:l,id:h,structParent:d,popupRef:c,richText:u,contentsObj:p,creationDate:g,modificationDate:f},container:m,parent:{page:{pageNumber:b}},canvas:v}=t;v?(delete t.canvas,{id:n,bitmap:a}=i.imageManager.getFromCanvas(m.id,v),v.remove()):(s=!0,t._hasNoCanvas=!0);let y=(await e._structTree.getAriaAttributes(`${tb}${h}`))?.get("aria-label")||"";r=t={annotationType:j.STAMP,bitmapId:n,bitmap:a,pageIndex:b-1,rect:o.slice(0),rotation:l,annotationElementId:h,id:h,deleted:!1,accessibilityData:{decorative:!1,altText:y},isSvg:!1,structParent:d,popupRef:c,richText:u,comment:p?.str||null,creationDate:g,modificationDate:f}}let n=await super.deserialize(t,e,i),{rect:a,bitmap:o,bitmapUrl:l,bitmapId:h,isSvg:d,accessibilityData:c}=t;s?(i.addMissingCanvas(t.id,n),n.#or=!0):h&&i.imageManager.isValidId(h)?(n.#a8=h,o&&(n.#a6=o)):n.#a9=l,n.#on=d;let[u,p]=n.pageDimensions;return n.width=(a[2]-a[0])/u,n.height=(a[3]-a[1])/p,c&&(n.altTextData=c),n._initialData=r,t.comment&&n.setCommentData(t),n.#oa=!!r,n}serialize(t=!1,e=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let i=Object.assign(super.serialize(t),{bitmapId:this.#a8,isSvg:this.#on});if(this.addComment(i),t)return i.bitmapUrl=this.#op(!0),i.accessibilityData=this.serializeAltText(!0),i.isCopy=!0,i;let{decorative:r,altText:s}=this.serializeAltText(!1);if(!r&&s&&(i.accessibilityData={type:"Figure",alt:s}
2),this.annotationElementId){let t=this.#nb(i);return t.isSame?null:(t.isSameAltText?delete i.accessibilityData:i.accessibilityData.structParent=this._initialData.structParent??-1,i.id=this.annotationElementId,delete i.bitmapId,i)}if(null===e)return i;e.stamps||=new Map;let n=this.#on?(i.rect[2]-i.rect[0])*(i.rect[3]-i.rect[1]):null;if(e.stamps.has(this.#a8)){if(this.#on){let t=e.stamps.get(this.#a8);n>t.area&&(t.area=n,t.serialized.bitmap.close(),t.serialized.bitmap=this.#op(!1))}}else e.stamps.set(this.#a8,{area:n,serialized:i}),i.bitmap=this.#op(!1);return i}#nb(t){let{pageIndex:e,accessibilityData:{altText:i}}=this._initialData,r=t.pageIndex===e,s=(t.accessibilityData?.alt||"")===i;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&r&&s,isSameAltText:s}}renderAnnotationElement(t){return this.deleted?t.hide():t.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class rZ{#nt;#og=!1;#of=null;#om=null;#ob=null;#ov=new Map;#oy=!1;#ow=!1;#ox=!1;#oA=null;#o_=null;#oS=null;#oE=null;#oT=null;#oC=-1;#b;static _initialized=!1;static #V=new Map([rI,rW,rQ,rU,rJ].map(t=>[t._editorType,t]));constructor({uiManager:t,pageIndex:e,div:i,structTreeLayer:r,accessibilityManager:s,annotationLayer:n,drawLayer:a,textLayer:o,viewport:l,l10n:h}){const d=[...rZ.#V.values()];if(!rZ._initialized)for(const e of(rZ._initialized=!0,d))e.initialize(h,t);t.registerEditorTypes(d),this.#b=t,this.pageIndex=e,this.div=i,this.#nt=s,this.#of=n,this.viewport=l,this.#oS=o,this.drawLayer=a,this._structTree=r,this.#b.addLayer(this)}get isEmpty(){return 0===this.#ov.size}get isInvisible(){return this.isEmpty&&this.#b.getMode()===j.NONE}updateToolbar(t){this.#b.updateToolbar(t)}updateMode(t=this.#b.getMode()){switch(this.#oM(),t){case j.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case j.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case j.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:e}=this.div;if(e.toggle("nonEditing",!1),t===j.POPUP)e.toggle("commentEditing",!0);else for(let i of(e.toggle("commentEditing",!1),rZ.#V.values()))e.toggle(`${i._type}Editing`,t===i._editorType);this.div.hidden=!1}hasTextLayer(t){return t===this.#oS?.div}setEditingState(t){this.#b.setEditingState(t)}addCommands(t){this.#b.addCommands(t)}cleanUndoStack(t){this.#b.cleanUndoStack(t)}toggleDrawing(t=!1){this.div.classList.toggle("drawing",!t)}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(t=!1){this.#of?.div.classList.toggle("disabled",!t)}get #ok(){return 0!==this.#ov.size?this.#ov.values():this.#b.getEditors(this.pageIndex)}async enable(){this.#ox=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#oT?.abort(),this.#oT=null;let t=new Set;for(let e of this.#ok)e.enableEditing(),e.show(!0),e.annotationElementId&&(this.#b.removeChangedExistingAnnotation(e),t.add(e.annotationElementId));let e=this.#of;if(e)for(let i of e.getEditableAnnotations()){if(i.hide(),this.#b.isDeletedAnnotationElement(i.data.id)||t.has(i.data.id))continue;let e=await this.deserialize(i);e&&(this.addOrRebuild(e),e.enableEditing())}this.#ox=!1,this.#b._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#ow=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#oS&&!this.#oT){this.#oT=new AbortController;let t=this.#b.combinedSignal(this.#oT);this.#oS.div.addEventListener("pointerdown",t=>{let e,{clientX:i,clientY:r,timeStamp:s}=t;if(s-this.#oC>500){this.#oC=s;return}this.#oC=-1;let{classList:n}=this.div;n.toggle("getElements",!0);let a=document.elementsFromPoint(i,r);if(n.toggle("getElements",!1),!this.div.contains(a[0]))return;let o=RegExp(`^${O}[0-9]+$`);for(let t of a)if(o.test(t.id)){e=t.id;break}if(!e)return;let l=this.#ov.get(e);l?.annotationElementId===null&&(t.stopPropagation(),t.preventDefault(),l.dblclick(t))},{signal:t,capture:!0})}let t=this.#of;if(t){let e=new Map,i=new Map;for(let r of this.#ok){if(r.disableEditing(),!r.annotationElementId){r.updateFakeAnnotationElement(t);continue}if(null!==r.serialize()){e.set(r.annotationElementId,r);continue}i.set(r.annotationElementId,r),this.getEditableAnnotation(r.annotationElementId)?.show(),r.remove()}for(let r of t.getEditableAnnotations()){let{id:t}=r.data;if(this.#b.isDeletedAnnotationElement(t)){r.updateEdited({deleted:!0}
2);continue}let s=i.get(t);if(s){s.resetAnnotationElement(r),s.show(!1),r.show();continue}(s=e.get(t))&&(this.#b.addChangedExistingAnnotation(s),s.renderAnnotationElement(r)&&s.show(!1)),r.show()}}this.#oM(),this.isEmpty&&(this.div.hidden=!0);let{classList:e}=this.div;for(let t of rZ.#V.values())e.remove(`${t._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),this.#ow=!1}getEditableAnnotation(t){return this.#of?.getEditableAnnotation(t)||null}setActiveEditor(t){this.#b.getActive()!==t&&this.#b.setActiveEditor(t)}enableTextSelection(){if(this.div.tabIndex=-1,this.#oS?.div&&!this.#oE){this.#oE=new AbortController;let t=this.#b.combinedSignal(this.#oE);this.#oS.div.addEventListener("pointerdown",this.#oP.bind(this),{signal:t}),this.#oS.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#oS?.div&&this.#oE&&(this.#oE.abort(),this.#oE=null,this.#oS.div.classList.remove("highlighting"))}#oP(t){this.#b.unselectAll();let{target:e}=t;if(e===this.#oS.div||("img"===e.getAttribute("role")||e.classList.contains("endOfContent"))&&this.#oS.div.contains(e)){let{isMac:e}=td.platform;if(0!==t.button||t.ctrlKey&&e)return;this.#b.showAllEditors("highlight",!0,!0),this.#oS.div.classList.add("free"),this.toggleDrawing(),rU.startHighlighting(this,"ltr"===this.#b.direction,{target:this.#oS.div,x:t.x,y:t.y}),this.#oS.div.addEventListener("pointerup",()=>{this.#oS.div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:this.#b._signal}),t.preventDefault()}}enableClick(){if(this.#om)return;this.#om=new AbortController;let t=this.#b.combinedSignal(this.#om);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:t});let e=this.pointerup.bind(this);this.div.addEventListener("pointerup",e,{signal:t}),this.div.addEventListener("pointercancel",e,{signal:t})}disableClick(){this.#om?.abort(),this.#om=null}attach(t){this.#ov.set(t.id,t);let{annotationElementId:e}=t;e&&this.#b.isDeletedAnnotationElement(e)&&this.#b.removeDeletedAnnotationElement(t)}detach(t){this.#ov.delete(t.id),this.#nt?.removePointerInTextLayer(t.contentDiv),!this.#ow&&t.annotationElementId&&this.#b.addDeletedAnnotationElement(t)}remove(t){this.detach(t),this.#b.removeEditor(t),t.div.remove(),t.isAttachedToDOM=!1}changeParent(t){t.parent!==this&&(t.parent&&t.annotationElementId&&(this.#b.addDeletedAnnotationElement(t.annotationElementId),ee.deleteAnnotationElement(t),t.annotationElementId=null),this.attach(t),t.parent?.detach(t),t.setParent(this),t.div&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div)))}add(t){if(t.parent!==this||!t.isAttachedToDOM){if(this.changeParent(t),this.#b.addEditor(t),this.attach(t),!t.isAttachedToDOM){let e=t.render();this.div.append(e),t.isAttachedToDOM=!0}t.fixAndSetPosition(),t.onceAdded(!this.#ox),this.#b.addToAnnotationStorage(t),t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){if(!t.isAttachedToDOM)return;let{activeElement:e}=document;t.div.contains(e)&&!this.#ob&&(t._focusEventsAllowed=!1,this.#ob=setTimeout(()=>{this.#ob=null,t.div.contains(document.activeElement)?t._focusEventsAllowed=!0:(t.div.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:this.#b._signal}),e.focus())},0)),t._structTreeParentId=this.#nt?.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){t.needsToBeRebuilt()?(t.parent||=this,t.rebuild(),t.show()):this.add(t)}addUndoableEditor(t){this.addCommands({cmd:()=>t._uiManager.rebuild(t),undo:()=>{t.remove()},mustExec:!1})}getEditorByUID(t){for(let e of this.#ov.values())if(e.uid===t)return e;return null}getNextId(){return this.#b.getId()}get #oD(){return rZ.#V.get(this.#b.getMode())}combinedSignal(t){return this.#b.combinedSignal(t)}#oI(t){let e=this.#oD;return e?new e.prototype.constructor(t):null}canCreateNewEmptyEditor(){return this.#oD?.canCreateNewEmptyEditor()}async pasteEditor(t,e){this.updateToolbar(t),await this.#b.updateMode(t.mode);let{offsetX:i,offsetY:r}=this.#oR(),s=this.getNextId(),n=this.#oI({parent:this,id:s,x:i,y:r,uiManager:this.#b,isCentered:!0,...e});n&&this.add(n)}async deserialize(t){return await rZ.#V.get(t.annotationType??t.annotationEditorType)?.deserialize(t,this,this.#b)||null}createAndAddNewEditor(t,e,i={}){let r=this.getNextId(),s=this.#oI({parent:this,id:r,x:t.offsetX,y:t.offsetY,uiManager:this.#b,isCentered:e,...i});return s&&this.add(s),s}get boundingClientRect(){return this.div.getBoundingClientRect()}#oR(){let{x:t,y:e,width:i,height:r}=this.boundingClientRect,s=Math.max(0,t),n=Math.max(0,e),a=Math.min(window.innerWidth,t+i),o=Math.min(window.innerHeight,e+r),l=(s+a)/2-t,h=(n+o)/2-e,[d,c]=this.viewport.rotation%180==0?[l,h]:[h,l];return{offsetX:d,offsetY:c}}addNewEditor(t={}){this.createAndAddNewEditor(this.#oR(),!0,t)}setSelected(t){this.#b.setSelected(t)}toggleSelected(t){this.#b.toggleSelected(t)}unselect(t){this.#b.unselect(t)}pointerup(t){let{isMac:e}=td.platform;if(0!==t.button||t.ctrlKey&&e||t.target!==this.div||!this.#oy||(this.#oy=!1,this.#oD?.isDrawer&&this.#oD.supportMultipleDrawings))return;if(!this.#og){this.#og=!0;return}let i=this.#b.getMode();i===j.STAMP||i===j.SIGNATURE?this.#b.unselectAll():this.createAndAddNewEditor(t,!1)}pointerdown(t){if(this.#b.getMode()===j.HIGHLIGHT&&this.enableTextSelection(),this.#oy){this.#oy=!1;return}let{isMac:e}=td.platform;if(0!==t.button||t.ctrlKey&&e||t.target!==this.div)return;if(this.#oy=!0,this.#oD?.isDrawer)return void this.startDrawingSession(t);let i=this.#b.getActive();this.#og=!i||i.isEmpty()}startDrawingSession(t){if(this.div.focus({preventScroll:!0}),this.#oA)return void this.#oD.startDrawing(this,this.#b,!1,t);this.#b.setCurrentDrawingSession(this),this.#oA=new AbortController;let e=this.#b.combinedSignal(this.#oA);this.div.addEventListener("blur",({relatedTarget:t})=>
2{t&&!this.div.contains(t)&&(this.#o_=null,this.commitOrRemove())},{signal:e}),this.#oD.startDrawing(this,this.#b,!1,t)}pause(t){if(t){let{activeElement:t}=document;this.div.contains(t)&&(this.#o_=t);return}this.#o_&&setTimeout(()=>{this.#o_?.focus(),this.#o_=null},0)}endDrawingSession(t=!1){return this.#oA?(this.#b.setCurrentDrawingSession(null),this.#oA.abort(),this.#oA=null,this.#o_=null,this.#oD.endDrawing(t)):null}findNewParent(t,e,i){let r=this.#b.findParent(e,i);return null!==r&&r!==this&&(r.changeParent(t),!0)}commitOrRemove(){return!!this.#oA&&(this.endDrawingSession(),!0)}onScaleChanging(){this.#oA&&this.#oD.onScaleChangingWhenDrawing(this)}destroy(){for(let t of(this.commitOrRemove(),this.#b.getActive()?.parent===this&&(this.#b.commitOrRemove(),this.#b.setActiveEditor(null)),this.#ob&&(clearTimeout(this.#ob),this.#ob=null),this.#ov.values()))this.#nt?.removePointerInTextLayer(t.contentDiv),t.setParent(null),t.isAttachedToDOM=!1,t.div.remove();this.div=null,this.#ov.clear(),this.#b.removeLayer(this)}#oM(){for(let t of this.#ov.values())t.isEmpty()&&t.remove()}render({viewport:t}){for(let e of(this.viewport=t,tU(this.div,t),this.#b.getEditors(this.pageIndex)))this.add(e),e.rebuild();this.updateMode()}update({viewport:t}){this.#b.commitOrRemove(),this.#oM();let e=this.viewport.rotation,i=t.rotation;if(this.viewport=t,tU(this.div,{rotation:i}),e!==i)for(let t of this.#ov.values())t.rotate(i)}get pageDimensions(){let{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return this.#b.viewParameters.realScale}}class r0{#sL=null;#oL=new Map;#oB=new Map;static #x=0;constructor({pageIndex:t}){this.pageIndex=t}setParent(t){if(!this.#sL){this.#sL=t;return}if(this.#sL!==t){if(this.#oL.size>0)for(let e of this.#oL.values())e.remove(),t.append(e);this.#sL=t}}static get _svgFactory(){return tt(this,"_svgFactory",new i9)}static #oF(t,[e,i,r,s]){let{style:n}=t;n.top=`${100*i}%`,n.left=`${100*e}%`,n.width=`${100*r}%`,n.height=`${100*s}%`}#oN(){let t=r0._svgFactory.create(1,1,!0);return this.#sL.append(t),t.setAttribute("aria-hidden",!0),t}#oO(t,e){let i=r0._svgFactory.createElement("clipPath");t.append(i);let r=`clip_${e}`;i.setAttribute("id",r),i.setAttribute("clipPathUnits","objectBoundingBox");let s=r0._svgFactory.createElement("use");return i.append(s),s.setAttribute("href",`#${e}`),s.classList.add("clip"),r}#oj(t,e){for(let[i,r]of Object.entries(e))null===r?t.removeAttribute(i):t.setAttribute(i,r)}draw(t,e=!1,i=!1){let r=r0.#x++,s=this.#oN(),n=r0._svgFactory.createElement("defs");s.append(n);let a=r0._svgFactory.createElement("path");n.append(a);let o=`path_p${this.pageIndex}_${r}`;a.setAttribute("id",o),a.setAttribute("vector-effect","non-scaling-stroke"),e&&this.#oB.set(r,a);let l=i?this.#oO(n,o):null,h=r0._svgFactory.createElement("use");return s.append(h),h.setAttribute("href",`#${o}`),this.updateProperties(s,t),this.#oL.set(r,s),{id:r,clipPathId:`url(#${l})`}}drawOutline(t,e){let i,r=r0.#x++,s=this.#oN(),n=r0._svgFactory.createElement("defs");s.append(n);let a=r0._svgFactory.createElement("path");n.append(a);let o=`path_p${this.pageIndex}_${r}`;if(a.setAttribute("id",o),a.setAttribute("vector-effect","non-scaling-stroke"),e){let t=r0._svgFactory.createElement("mask");n.append(t),i=`mask_p${this.pageIndex}_${r}`,t.setAttribute("id",i),t.setAttribute("maskUnits","objectBoundingBox");let e=r0._svgFactory.createElement("rect");t.append(e),e.setAttribute("width","1"),e.setAttribute("height","1"),e.setAttribute("fill","white");let s=r0._svgFactory.createElement("use");t.append(s),s.setAttribute("href",`#${o}`),s.setAttribute("stroke","none"),s.setAttribute("fill","black"),s.setAttribute("fill-rule","nonzero"),s.classList.add("mask")}let l=r0._svgFactory.createElement("use");s.append(l),l.setAttribute("href",`#${o}`),i&&l.setAttribute("mask",`url(#${i})`);let h=l.cloneNode();return s.append(h),l.classList.add("mainOutline"),h.classList.add("secondaryOutline"),this.updateProperties(s,t),this.#oL.set(r,s),r}finalizeDraw(t,e){this.#oB.delete(t),this.updateProperties(t,e)}updateProperties(t,e){if(!e)return;let{root:i,bbox:r,rootClass:s,path:n}=e,a="number"==typeof t?this.#oL.get(t):t;if(a){if(i&&this.#oj(a,i),r&&r0.#oF(a,r),s){let{classList:t}=a;for(let[e,i]of Object.entries(s))t.toggle(e,i)}if(n){let t=a.firstChild.firstChild;this.#oj(t,n)}}}updateParent(t,e){if(e===this)return;let i=this.#oL.get(t);i&&(e.#sL.append(i),this.#oL.delete(t),e.#oL.set(t,i))}remove(t){this.#oB.delete(t),null!==this.#sL&&(this.#oL.get(t).remove(),this.#oL.delete(t))}
2destroy(){for(let t of(this.#sL=null,this.#oL.values()))t.remove();this.#oL.clear(),this.#oB.clear()}}globalThis._pdfjsTestingUtils={HighlightOutliner:rF},globalThis.pdfjsLib={AbortException:to,AnnotationEditorLayer:rZ,AnnotationEditorParamsType:U,AnnotationEditorType:j,AnnotationEditorUIManager:t8,AnnotationLayer:rP,AnnotationMode:N,AnnotationType:H,applyOpacity:tV,build:i2,ColorPicker:i5,createValidAbsoluteUrl:Q,CSSConstants:tG,DOMSVGFactory:i9,DrawLayer:r0,FeatureTest:td,fetchData:tS,findContrastColor:tJ,getDocument:iV,getFilenameFromUrl:tk,getPdfFilenameFromUrl:tP,getRGB:tN,getUuid:tm,getXfaPageViewport:tF,GlobalWorkerOptions:ig,ImageKind:$,InvalidPDFException:ts,isDataScheme:tC,isPdfFile:tM,isValidExplicitDest:ec,MathClamp:tv,noContextMenu:tR,normalizeUnicode:tf,OPS:V,OutputScale:tz,PasswordResponses:W,PDFDataRangeTransport:iq,PDFDateString:tB,PDFWorker:iJ,PermissionFlag:z,PixelsPerInch:t_,RenderingCancelledException:tT,renderRichText:tQ,ResponseException:tn,setLayerDimensions:tU,shadow:tt,SignatureExtractor:rX,stopEvent:tL,SupportedImageMimeTypes:t$,TextLayer:iG,TouchManager:et,updateUrlHash:Z,Util:tu,VerbosityLevel:G,version:i1,XfaLayer:tx};let r1=Object.freeze(Object.defineProperty({__proto__:null,AbortException:to,AnnotationEditorLayer:rZ,AnnotationEditorParamsType:U,AnnotationEditorType:j,AnnotationEditorUIManager:t8,AnnotationLayer:rP,AnnotationMode:N,AnnotationType:H,CSSConstants:tG,ColorPicker:i5,DOMSVGFactory:i9,DrawLayer:r0,FeatureTest:td,GlobalWorkerOptions:ig,ImageKind:$,InvalidPDFException:ts,MathClamp:tv,OPS:V,OutputScale:tz,PDFDataRangeTransport:iq,PDFDateString:tB,PDFWorker:iJ,PasswordResponses:W,PermissionFlag:z,PixelsPerInch:t_,RenderingCancelledException:tT,ResponseException:tn,SignatureExtractor:rX,SupportedImageMimeTypes:t$,TextLayer:iG,TouchManager:et,Util:tu,VerbosityLevel:G,XfaLayer:tx,applyOpacity:tV,build:i2,createValidAbsoluteUrl:Q,fetchData:tS,findContrastColor:tJ,getDocument:iV,getFilenameFromUrl:tk,getPdfFilenameFromUrl:tP,getRGB:tN,getUuid:tm,getXfaPageViewport:tF,isDataScheme:tC,isPdfFile:tM,isValidExplicitDest:ec,noContextMenu:tR,normalizeUnicode:tf,renderRichText:tQ,setLayerDimensions:tU,shadow:tt,stopEvent:tL,updateUrlHash:Z,version:i1},Symbol.toStringTag,{value:"Module"}));class r2 extends Error{constructor(t,e){void 0!==e?super(t??"Invalid PDF",{cause:e}):super(t??"Invalid PDF"),this.name="InvalidPDFException",Object.setPrototypeOf(this,r2.prototype),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r2)}}
2class r5 extends Error{constructor(t,e){void 0!==e?super(t??"Password required or incorrect",{cause:e}):super(t??"Password required or incorrect"),this.name="PasswordException",Object.setPrototypeOf(this,r5.prototype),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r5)}}class r3 extends Error{constructor(t,e){void 0!==e?super(t??"PDF format error",{cause:e}):super(t??"PDF format error"),this.name="FormatError",Object.setPrototypeOf(this,r3.prototype),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r3)}}class r4 extends Error{constructor(t,e,i){void 0!==i?super(t??"Unknown error",{cause:i}):super(t??"Unknown error"),this.name="UnknownErrorException",Object.setPrototypeOf(this,r4.prototype),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r4),this.details=e}}class r6 extends Error{constructor(t,e,i,r){void 0!==r?super(t??"Response error",{cause:r}):super(t??"Response error"),this.name="ResponseException",Object.setPrototypeOf(this,r6.prototype),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r6),this.status=e,this.missing=i}}class r8 extends Error{constructor(t,e){void 0!==e?super(t??"Operation aborted",{cause:e}):super(t??"Operation aborted"),this.name="AbortException",Object.setPrototypeOf(this,r8.prototype),"function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r8)}}class r7{static tolerance=2;static applyTransform(t,e){return[t[0]*e[0]+t[1]*e[2]+e[4],t[0]*e[1]+t[1]*e[3]+e[5]]}}class r9 extends r7{x;y;constructor(t,e){super(),this.x=t,this.y=e}equal(t){return t.x===this.x&&t.y===this.y}transform(t){let e=r7.applyTransform([this.x,this.y],t);return this.x=e[0],this.y=e[1],this}}var st=((e=st||{})[e.None=0]="None",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e);class se extends r7{from;to;direction=0;length=0;intersections=[];gaps=[];constructor(t,e){super(),this.from=t,this.to=e,this.init()}init(){let t=this.from,e=this.to;if(Math.abs(t.y-e.y)<r7.tolerance){if(this.direction=1,e.y=t.y,t.x>e.x){let i=t;t=e,e=i}this.length=e.x-t.x}else if(Math.abs(t.x-e.x)<r7.tolerance){if(this.direction=2,e.x=t.x,t.y>e.y){let i=t;t=e,e=i}this.length=e.y-t.y}this.from=t,this.to=e}_valid=void 0;get valid(){return void 0===this._valid&&(this._valid=0!==this.direction&&this.length>r7.tolerance),this._valid}get normalized(){return 1===this.direction?new se(new r9(this.from.x-r7.tolerance,this.from.y),new r9(this.to.x+r7.tolerance,this.from.y)):2===this.direction?new se(new r9(this.from.x,this.from.y-r7.tolerance),new r9(this.from.x,this.to.y+r7.tolerance)):this}addGap(t){this.gaps.push(t)}containsPoint(t){return 2===this.direction?this.from.x===t.x&&t.y>=this.from.y&&t.y<=this.to.y:1===this.direction&&this.from.y===t.y&&t.x>=this.from.x&&t.x<=this.to.x}addIntersectionPoint(t){for(let e of this.intersections)if(e.equal(t))return;this.intersections.push(t)}intersection(t){let e;if(!this.valid||!t.valid)return e;let i=this.normalized,r=t.normalized;if(1===this.direction&&2===t.direction){let s=r.from.x,n=i.from.y;if(s>i.from.x&&s<i.to.x&&n>r.from.y&&n<r.to.y){let i=new r9(s,n);this.addIntersectionPoint(i),t.addIntersectionPoint(i),e=i}}else if(2===this.direction&&1===t.direction){let s=i.from.x,n=r.from.y;if(s>r.from.x&&s<r.to.x&&n>i.from.y&&n<i.to.y){let i=new r9(s,n);this.addIntersectionPoint(i),t.addIntersectionPoint(i),e=i}}return e}transform(t){let e=this.from.transform(t),i=this.to.transform(t),r=Math.min(e.x,i.x),s=Math.min(e.y,i.y),n=Math.abs(e.x-i.x),a=Math.abs(e.y-i.y);return this.from=new r9(r,s),this.to=new r9(r+n,s+a),this.init(),this}}class si{minXY;maxXY;rows;rowPivots;colPivots;constructor(t,e,i,r){this.minXY=t,this.maxXY=e,this.rows=[],this.rowPivots=i,this.colPivots=r}findCell(t,e){if(t>=this.minXY.x&&e>=this.minXY.y&&t<=this.maxXY.x&&e<=this.maxXY.y){for(let i of this.rows)for(let r of i)if(r.minXY.x<=t&&r.minXY.y<=e&&r.maxXY.x>=t&&r.maxXY.y>=e)return r}}get cellCount(){return this.rows.reduce((t,e)=>t+e.length,0)}get rowCount(){return this.rows.length}check(){let t=(this.colPivots.length-1)*(this.rowPivots.length-1),e=0;for(let t of this.rows)for(let i of t)e+=(i.colspan||1)*(i.rowspan||1);return t===e}toArray(){let t=[];for(let e of this.rows){let i=[];for(let t of e){let e=t.text.join("");e=(e=e.replace(/^[\s]+|[\s]+$/g,"")).trim(),i.push(e)}t.push(i)}return t}}class sr{hLines=[];vLines=[];constructor(t){t.direction===st.Horizontal?this.hLines.push(t):t.direction===st.Vertical&&this.vLines.push(t)}get isValid(){return this.hLines.length+this.vLines.length>4}get rowPivots(){let t=new Set;for(let e of this.hLines)t.add(e.from.y);return[...t].sort((t,e)=>t-e)}get colPivots(){let t=new Set;for(let e of this.vLines)t.add(e.from.x);return[...t].sort((t,e)=>t-e)}add(t){if(this.intersection(t)){if(t.direction===st.Horizontal)return this.hLines.push(t),!0;else if(t.direction===st.Vertical)return this.vLines.push(t),!0}return!1}intersection(t){let e=!1;if(!t.valid)return e;if(t.direction===st.Horizontal)for(let i of this.vLines)t.intersection(i)&&(e=!0);else if(t.direction===st.Vertical)for(let i of this.hLines)t.intersection(i)&&(e=!0);return e}getSameHorizontal(t){let e=[t],i=[];for(;this.hLines.length>0;){let r=this.hLines.shift();r&&(r.from.y===t.from.y?e.push(r):i.push(r))}return this.hLines=i,e}getSameVertical(t){let e=[t],i=[];for(;this.vLines.length>0;){let r=this.vLines.shift();r&&(r.from.x===t.from.x?e.push(r):i.push(r))}return this.vLines=i,e}mergeHorizontalLines(t){t.sort((t,e)=>t.from.x-e.from.x);let e=t[0].from.x,i=t[t.length-1].to.x,r=new se(new r9(e,t[0].from.y),new r9(i,t[0].from.y));for(let e=1;e<t.length;e++){let i=t[e-1],s=t[e];if(Math.abs(i.to.x-s.from.x)>r7.tolerance){let t=new se(new r9(i.to.x,i.from.y),new r9(s.from.x,s.from.y));r.addGap(t)}}return r}mergeVerticalLines(t){t.sort((t,e)=>t.from.y-e.from.y);let e=t[0].from.y,i=t[t.length-1].to.y,r=new se(new r9(t[0].from.x,e),new r9(t[0].from.x,i));for(let e=1;e<t.length;e++){let i=t[e-1],s=t[e];if(Math.abs(i.to.y-s.from.y)>r7.tolerance){let t=new se(new r9(i.to.x,i.to.y),new r9(i.to.x,s.from.y));r.addGap(t)}}return r}normalize(){this.hLines=this.hLines.filter(t=>t.intersections.length>1),this.vLines=this.vLines.filter(t=>t.intersections.length>1),this.hLines.sort((t,e)=>t.from.y-e.from.y),this.vLines.sort((t,e)=>t.from.x-e.from.x);let t=[];for(;this.hLines.length>0;){let e=this.hLines.shift();if(!e)continue;let i=this.getSameHorizontal(e),r=this.mergeHorizontalLines(i);t.push(r)}this.hLines=t;let e=[];for(;this.vLines.length>0;){let t=this.vLines.shift();if(!t)continue;let i=this.getSameVertical(t),r=this.mergeVerticalLines(i);e.push(r)}this.vLines=e}verticalExists(t,e,i){if(t.direction!==st.Vertical)throw Error("Line is not vertical");if(e>=i)throw Error("y1 must be less than y2");if(t.from.y<=e&&t.to.y>
2=i){for(let r of t.gaps)if(r.from.y<=e&&r.to.y>=i)return!1;return!0}return!1}horizontalExists(t,e,i){if(t.direction!==st.Horizontal)throw Error("Line is not horizontal");if(e>=i)throw Error("x1 must be less than x2");if(t.from.x<=e&&t.to.x>=i){for(let r of t.gaps)if(r.from.x<=e&&r.to.x>=i)return!1;return!0}return!1}findBottomLineIndex(t,e){for(let i=t;i<this.hLines.length;i++){let t=this.hLines[i];if(t.from.x<=e&&t.to.x>=e)return i}return -1}findVerticalLineIndexs(t,e){let i=[];for(let r=0;r<this.vLines.length;r++){let s=this.vLines[r];s.from.y<=e&&s.to.y>=e&&t.intersection(s)&&i.push(r)}return i}getRow(t,e,i){let r=[],s=this.hLines[t],n=this.findVerticalLineIndexs(s,i);for(let i=1;i<n.length;i++){let a=this.vLines[n[i-1]],o=this.vLines[n[i]],l=(a.from.x+o.from.x)/2,h=this.findBottomLineIndex(e,l),d=this.hLines[h],c={minXY:new r9(a.from.x,s.from.y),maxXY:new r9(o.from.x,d.from.y),width:o.from.x-a.from.x,height:d.from.y-s.from.y,text:[]},u=n[i]-n[i-1],p=h-t;u>1&&(c.colspan=u),p>1&&(c.rowspan=p),r.push(c)}return r}toData(){let t=this.rowPivots,e=this.colPivots,i=new si(new r9(e[0],t[0]),new r9(e[e.length-1],t[t.length-1]),t,e);for(let t=1;t<this.hLines.length;t++){let e=this.hLines[t-1],r=this.hLines[t],s=(e.from.y+r.from.y)/2,n=this.getRow(t-1,t,s);i.rows.push(n)}return i}}class ss{hLines=[];vLines=[];add(t){t.valid&&(t.direction===st.Horizontal?this.hLines.push(t):t.direction===st.Vertical&&this.vLines.push(t))}addRectangle(t){for(let e of t.getLines())this.add(e)}getTableData(){let t=[];for(let e of this.getTables()){let i=e.toData();i&&t.push(i)}return t}getTables(){let t=[];for(;0!==this.hLines.length;){let e=this.hLines.shift();if(!e||this.tryFill(t,e))continue;let i=new sr(e);this.fillTable(i),t.push(i)}for(;0!==this.vLines.length;){let e=this.vLines.shift();if(!e||this.tryFill(t,e))continue;let i=new sr(e);this.fillTable(i),t.push(i)}let e=t.filter(t=>t.isValid);for(let t of e)t.normalize();return e}normalize(){this.normalizeHorizontal(),this.normalizeVertical()}normalizeHorizontal(){this.hLines.sort((t,e)=>t.from.y-e.from.y);let t=[],e=[];for(let i of this.hLines)if(0===e.length)e.push(i);else if(Math.abs(e[0]?.from.y-i.from.y)<r7.tolerance)e.push(i);else{let r=this.margeHorizontalLines(e);t.push(...r),e=[i]}if(e.length>0){let i=this.margeHorizontalLines(e);t.push(...i)}this.hLines=t}normalizeVertical(){this.vLines.sort((t,e)=>t.from.x-e.from.x);let t=[],e=[];for(let i of this.vLines)if(0===e.length)e.push(i);else if(Math.abs(e[0]?.from.x-i.from.x)<r7.tolerance)e.push(i);else{let r=this.margeVerticalLines(e);t.push(...r),e=[i]}if(e.length>0){let i=this.margeVerticalLines(e);t.push(...i)}this.vLines=t}fillTable(t){let e=[],i=[];for(let i of this.vLines)t.add(i)||e.push(i);for(let e of this.hLines)t.add(e)||i.push(e);this.hLines=i,this.vLines=e}tryFill(t,e){for(let i of t)if(i.add(e))return this.fillTable(i),!0;return!1}margeHorizontalLines(t){let e=[];t.sort((t,e)=>t.from.x-e.from.x);let i=t[0]?.from.y;if(void 0===i)return e;let r=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;for(let n of t)n.from.x-s<r7.tolerance?(n.from.x<r&&(r=n.from.x),n.to.x>s&&(s=n.to.x)):(s>r&&e.push(new se(new r9(r,i),new r9(s,i))),r=n.from.x,s=n.to.x);let n=e[e.length-1];return n?n.from.x!==r&&n.to.x!==s&&e.push(new se(new r9(r,i),new r9(s,i))):e.push(new se(new r9(r,i),new r9(s,i))),e}margeVerticalLines(t){let e=[];t.sort((t,e)=>t.from.y-e.from.y);let i=t[0]?.from.x;if(void 0===i)return e;let r=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER;for(let n of t)n.from.y-s<r7.tolerance?(n.from.y<r&&(r=n.from.y),n.to.y>s&&(s=n.to.y)):(s>r&&e.push(new se(new r9(i,r),new r9(i,s))),r=n.from.y,s=n.to.y);let n=e[e.length-1];return n?n.from.y!==r&&n.to.y!==s&&e.push(new se(new r9(i,r),new r9(i,s))):e.push(new se(new r9(i,r),new r9(i,s))),e}}class sn extends r7{from;width;height;constructor(t,e,i){super(),this.from=t,this.width=e,this.height=i}get to(){return new r9(this.from.x+this.width,this.from.y+this.height)}getLines(){let t=this.to;return[new se(this.from,new r9(t.x,this.from.y)),new se(this.from,new r9(this.from.x,t.y)),new se(new r9(t.x,this.from.y),t),new se(new r9(this.from.x,t.y),t)].filter(t=>t.valid)}transform(t){let e=r7.applyTransform([this.from.x,this.from.y],t),i=r7.applyTransform([this.from.x+this.width,this.from.y+this.height],t),r=Math.min(e[0],i[0]),s=Math.min(e[1],i[1]),n=Math.abs(e[0]-i[0]),a=Math.abs(e[1]-i[1]);return this.from=new r9(r,s),this.width=n,this.height=a,this}}class sa{pages=[];total=0;getPageImage(t,e){for(let i of this.pages)if(i.pageNumber===t){for(let t of i.images)if(t.name===e)return t}return null}constructor(t){this.total=t}}let so=["xmp:createdate","xmp:modifydate","xmp:metadatadate","xap:createdate","xap:modifydate","xap:metadatadate"];class sl{total;info;metadata;fingerprints;permission;outline;pages=[];getDateNode(){let t={},e=this.info?.CreationDate;e&&(t.CreationDate=tB.toDateObject(e));let i=this.info?.ModDate;if(i&&(t.ModDate=tB.toDateObject(i)),!this.metadata)return t;for(let e of so){let i=this.metadata?.get(e),r=this.parseISODateString(i);switch(e){case so[0]:t.XmpCreateDate=r;break;case so[1]:t.XmpModifyDate=r;break;case so[2]:t.XmpMetadataDate=r;break;case so[3]:t.XapCreateDate=r;break;case so[4]:t.XapModifyDate=r;break;case so[5]:t.XapMetadataDate=r}}return t}parseISODateString(t){if(!t)return;let e=Date.parse(t);if(!Number.isNaN(e))return new Date(e)}constructor(t){this.total=t}}function sh(t){return t.lineThreshold=t?.lineThreshold??4.6,t.cellThreshold=t?.cellThreshold??7,t.cellSeparator=t?.cellSeparator??" ",t.lineEnforce=t?.lineEnforce??!0,t.pageJoiner=t?.pageJoiner??"\n-- page_number of total_number --",t.imageThreshold=t?.
2imageThreshold??80,t.imageDataUrl=t?.imageDataUrl??!0,t.imageBuffer=t?.imageBuffer??!0,t.scale=t?.scale??1,t}var sd=((i=sd||{})[i.undefined=0]="undefined",i[i.hline=1]="hline",i[i.vline=2]="vline",i[i.rectangle=3]="rectangle",i);class sc{pages=[];total=0;constructor(t){this.total=t}}class su{pages=[];mergedTables=[];total=0;constructor(t){this.total=t}}class sp{pages=[];text="";total=0;getPageText(t){for(let e of this.pages)if(e.num===t)return e.text;return""}constructor(t){this.total=t}}class sg{options;doc;progress={loaded:-1,total:0};constructor(t){void 0===t.verbosity&&(t.verbosity=G.ERRORS),void 0!==S.Buffer&&t.data instanceof S.Buffer&&(t.data=new Uint8Array(t.data)),this.options=t}async destroy(){this.doc&&(await this.doc.destroy(),this.doc=void 0)}static get isNodeJS(){return"object"==typeof w.default&&"[object process]"==`${w.default}`&&!w.default.versions.nw&&!(w.default.versions.electron&&void 0!==w.default.type&&"browser"!==w.default.type)}static setWorker(t){return(void 0===globalThis.pdfjs&&(globalThis.pdfjs=r1),null===ig)?"":(void 0!==t&&(ig.workerSrc=t),ig.workerSrc)}async getInfo(t={}){let e=await this.load(),i=new sl(e.numPages),{info:r,metadata:s}=await e.getMetadata();i.info=r,i.metadata=s,i.fingerprints=e.fingerprints,i.outline=await e.getOutline(),i.permission=await e.getPermissions();let n=await e.getPageLabels();if(t.parsePageInfo){for(let r=1;r<=i.total;r++)if(this.shouldParse(r,i.total,t)){let t=await e.getPage(r),s=await this.getPageLinks(t);s.pageLabel=n?.[t.pageNumber],i.pages.push(s),t.cleanup()}}return i}async getPageLinks(t){let e=t.getViewport({scale:1}),i={pageNumber:t.pageNumber,links:[],width:e.width,height:e.height};for(let e of await t.getAnnotations({intent:"display"})||[]){if("Link"!==e.subtype)continue;let t=e.url??e.unsafeUrl;if(!t)continue;let r=e.overlaidText||"";i.links.push({url:t,text:r})}return i}async getText(t={}){let e=await this.load(),i=new sp(e.numPages);for(let r=1;r<=i.total;r++)if(this.shouldParse(r,i.total,t)){let s=await e.getPage(r),n=await this.getPageText(s,t,i.total);i.pages.push({text:n,num:r}),s.cleanup()}for(let e of i.pages)if(t.pageJoiner){let r=t.pageJoiner.replace("page_number",`${e.num}`);r=r.replace("total_number",`${i.total}`),i.text+=`${e.text} 3${r} 4 5`}else i.text+=`${e.text} 6 7`;return i}async load(){try{if(void 0===this.doc){let t=iV(this.options);t.onProgress=t=>{this.progress=t},this.doc=await t.promise}return this.doc}catch(t){throw function(t){if(t instanceof Error)switch(t.name){case"InvalidPDFException":return new r2(t.message,t);case"PasswordException":return new r5(t.message,t);case"FormatError":return new r3(t.message,t);case"UnknownErrorException":return new r4(t.message,t.details,t);case"ResponseException":return new r6(t.message,t.status,t.missing,t);case"AbortException":return new r8(t.message,t);default:return t}return Error(String(t))}(t)}}shouldParse(t,e,i){return(i.partial=i?.partial??[],i.first=i?.first??0,i.last=i?.last??0,i.partial.length>0)?!!i.partial.includes(t):i.first>0&&i.last>0?!!(t>=i.first)&&!!(t<=i.last):i.first>0?t<=i.first:!(i.last>0)||t>e-i.last}async getPageText(t,e,i){let r,s,n=t.getViewport({scale:1}),a=sh(e),o=await t.getTextContent({includeMarkedContent:!!a.includeMarkedContent,disableNormalization:!!a.disableNormalization}),l=new Map;a.parseHyperlinks&&(l=await this.getHyperlinks(t,n));let h=[],d=0;for(let t of o.items){if(!("str"in t))continue;let e=t.transform??t.transform,[i,o]=n.convertToViewportPoint(e[4],e[5]);
7if(a.parseHyperlinks){let e=(l.get(t.str)||[]).find(t=>i>=t.rect.left&&i<=t.rect.right&&o>=t.rect.top&&o<=t.rect.bottom);e&&(t.str=`[${t.str}](${e.url})`)}if(a.lineEnforce&&void 0!==s&&Math.abs(s-o)>a.lineThreshold){let e=h.length?h[h.length-1]:void 0,i=t.str.startsWith("\n")||""===t.str.trim()&&t.hasEOL;e?.endsWith("\n")===!1&&!i&&Math.abs(s-o)-1>d&&(h.push("\n"),d=0)}a.cellSeparator&&void 0!==s&&Math.abs(s-o)<a.lineThreshold&&void 0!==r&&Math.abs(r-i)>a.cellThreshold&&(t.str=`${a.cellSeparator}${t.str}`),h.push(t.str),r=i+t.width,s=o,d=Math.max(d,t.height),t.hasEOL&&h.push("\n"),(t.hasEOL||t.str.endsWith("\n"))&&(d=0)}return a.itemJoiner?h.join(a.itemJoiner):h.join("")}async getHyperlinks(t,e){let i=new Map;for(let r of await t.getAnnotations({intent:"display"})||[]){if("Link"!==r.subtype)continue;let t=r.url??r.unsafeUrl;if(!t)continue;let s=r.overlaidText;if(!s)continue;let n=e.convertToViewportRectangle(r.rect),a=Math.min(n[0],n[2])-.5,o=Math.min(n[1],n[3])-.5,l={rect:{left:a,top:o,right:Math.max(n[0],n[2])+.5,bottom:Math.max(n[1],n[3])+.5},url:t,text:s,used:!1},h=i.get(s);h?h.push(l):i.set(s,[l])}return i}async getImage(t={}){let e=await this.load(),i=new sa(e.numPages);sh(t);for(let r=1;r<=i.total;r++)if(this.shouldParse(r,i.total,t)){let s=await e.getPage(r),n=await s.getOperatorList(),a={pageNumber:r,images:[]};i.pages.push(a);for(let i=0;i<n.fnArray.length;i++)if(n.fnArray[i]===V.paintInlineImageXObject||n.fnArray[i]===V.paintImageXObject){let r=n.argsArray[i][0],o=s.commonObjs.has(r)?this.resolveEmbeddedImage(s.commonObjs,r):this.resolveEmbeddedImage(s.objs,r),{width:l,height:h,kind:d,data:c}=await o;if(t.imageThreshold&&(t.imageThreshold>=l||t.imageThreshold>=h))continue;let u=e.canvasFactory.create(l,h),p=u.context,g=null;d===$.RGBA_32BPP?(g=p.createImageData(l,h)).data.set(c):(g=p.createImageData(l,h),this.convertToRGBA({src:c,dest:new Uint32Array(g.data.buffer),width:l,height:h,kind:d})),p.putImageData(g,0,0);let f=new Uint8Array,m="";if("function"==typeof u.canvas.toBuffer){let e;t.imageBuffer&&(f=new Uint8Array(e=u.canvas.toBuffer("image/png"))),t.imageDataUrl&&(e||(f=new Uint8Array(e=u.canvas.toBuffer("image/png"))),m=`data:image/png;base64,${e.toString("base64")}`)}else t.imageBuffer&&(f=new Uint8Array(u.context.getImageData(0,0,u.canvas.width,u.canvas.height).data)),t.imageDataUrl&&(m=u.canvas.toDataURL("image/png"));a.images.push({data:f,dataUrl:m,name:r,height:h,width:l,kind:d})}}return i}convertToRGBA({src:t,dest:e,width:i,height:r,kind:s}){if(s===$.RGB_24BPP)for(let i=0,r=0;i<t.length;i+=3,r++){let s=t[i],n=t[i+1],a=t[i+2];e[r]=-0x1000000|a<<16|n<<8|s}else if(s===$.GRAYSCALE_1BPP){let s=0;for(let n=0;n<t.length;n++){let a=t[n];for(let t=7;t>=0&&!(s>=i*r);t--){let i=255*((a>>t&1)==1);e[s++]=-0x1000000|i<<16|i<<8|i}}}else if(null==s){let n=t.length/(i*r);if(.1>Math.abs(n-3))for(let i=0,r=0;i<t.length;i+=3,r++){let s=t[i],n=t[i+1],a=t[i+2];e[r]=-0x1000000|a<<16|n<<8|s}else if(.1>Math.abs(n-4))for(let i=0,r=0;i<t.length;i+=4,r++){let s=t[i],n=t[i+1],a=t[i+2],o=t[i+3];e[r]=o<<24|a<<16|n<<8|s}else if(.1>Math.abs(n-1))for(let i=0;i<t.length;i++){let r=t[i];e[i]=-0x1000000|r<<16|r<<8|r}else throw Error(`convertToRGBA: Cannot infer image format. kind: ${s}, bytesPerPixel: ${n}, width: ${i}, height: ${r}, dataLength: ${t.length}`)}else throw Error(`convertToRGBA: Unsupported image kind: ${s}. Available kinds: GRAYSCALE_1BPP=${$.GRAYSCALE_1BPP}, RGB_24BPP=${$.RGB_24BPP}, RGBA_32BPP=${$.RGBA_32BPP}`)}resolveEmbeddedImage(t,e){return new Promise((i,r)=>{t.get(e,t=>{if(t){let s;if(t.data instanceof Uint8Array)s=t.data;else if(t.data instanceof Uint8ClampedArray)s=new Uint8Array(t.data);else if(t.data?.buffer)s=new Uint8Array(t.data.buffer);else if(t.bitmap){let e=this.doc.canvasFactory.create(t.bitmap.width,t.bitmap.height);e.context.drawImage(t.bitmap,0,0),s=new Uint8Array(e.context.getImageData(0,0,t.bitmap.width,t.bitmap.height).data.buffer)}else ArrayBuffer.isView(t.data)&&(s=new Uint8Array(t.data.buffer,t.data.byteOffset,t.data.byteLength));if(!s)return void r(Error(`Image object ${e}: data field is empty or invalid. Available fields: ${Object.keys(t).join(", ")}`));if(0===s.length)return void r(Error(`Image object ${e}: data buffer is empty (length: 0)`));i({width:t.width,height:t.height,kind:t.kind,data:s})}else r(Error(`Image object ${e} not found`))})})}async getScreenshot(t={}){let e=sh(t),i=new sc((await this.load()).numPages);if(void 0===this.doc)throw Error("PDF document not loaded");for(let t=1;t<=i.total;t++)if(this.shouldParse(t,i.total,e)){let r=await this.doc.getPage(t),s=r.getViewport({scale:e.scale});if(e.desiredWidth){s=r.getViewport({scale:1});let t=e.desiredWidth/s.width;s=r.getViewport({scale:t})}let n=this.doc.canvasFactory.create(s.width,s.height),a={canvasContext:n.context,viewport:s,canvas:n.canvas},o=r.render(a);await o.promise;let l=new Uint8Array,h="";if("function"==typeof n.canvas.toBuffer){let t;e.imageBuffer&&(l=new Uint8Array(t=n.canvas.toBuffer("image/png"))),e.
7imageDataUrl&&(t||(l=new Uint8Array(t=n.canvas.toBuffer("image/png"))),h=`data:image/png;base64,${t.toString("base64")}`)}else e.imageBuffer&&(l=new Uint8Array(n.context.getImageData(0,0,n.canvas.width,n.canvas.height).data)),e.imageDataUrl&&(h=n.canvas.toDataURL("image/png"));i.pages.push({data:l,dataUrl:h,pageNumber:t,width:s.width,height:s.height,scale:s.scale}),r.cleanup()}return i}async getTable(t={}){let e=new su((await this.load()).numPages);if(void 0===this.doc)throw Error("PDF document not loaded");for(let i=1;i<=e.total;i++)if(this.shouldParse(i,e.total,t)){let t=await this.doc.getPage(i),r=await this.getPageTables(t);r.normalize();let s=r.getTableData();await this.fillPageTables(t,s);let n={num:i,tables:[]};for(let t of s)n.tables.push(t.toArray());e.pages.push(n),t.cleanup()}return e}getPathGeometry(t){let e=t[2]-t[0],i=t[3]-t[1];return t[0]===1/0?sd.undefined:e>5&&i>5?sd.rectangle:e>5&&0===i?sd.hline:0===e&&i>5?sd.vline:sd.undefined}async getPageTables(t){let e=new ss,i=t.getViewport({scale:1}),r=[1,0,0,1,0,0],s=[],n=await t.getOperatorList();for(let t=0;t<n.fnArray.length;t++){let a=n.fnArray[t],o=n.argsArray[t],l=o?.[0]??0,h=o?.[2]??[1/0,1/0,-1/0,-1/0];if(a===V.constructPath){if(V.fill,l!==V.stroke)continue;let t=this.getPathGeometry(h);if(t===sd.rectangle){let t=new sn(new r9(h[0],h[1]),h[2]-h[0],h[3]-h[1]);t.transform(r),t.transform(i.transform),e.addRectangle(t)}else if(t===sd.hline||t===sd.vline){let t=new se(new r9(h[0],h[1]),new r9(h[2],h[3]));t.transform(r),t.transform(i.transform),e.add(t)}}else if(a===V.setLineWidth);else if(a===V.save)s.push(r);else if(a===V.restore){let t=s.pop();t&&(r=t)}else a===V.transform&&(r=tu.transform(r,o))}return e}async fillPageTables(t,e){let i=t.getViewport({scale:1});for(let r of(await t.getTextContent({includeMarkedContent:!1,disableNormalization:!1})).items){if(!("str"in r))continue;let t=tu.transform(tu.transform(i.transform,r.transform),[1,0,0,-1,0,0]);for(let i of e){let e=i.findCell(t[4],t[5]);if(e){e.text.push(r.str),r.hasEOL&&e.text.push("\n");break}}}}}var sf=t.i(561281);async function sm(t){let{data:e}=await sf.default.recognize(t,"eng",{logger:t=>{}});return e.text.trim()}async function sb(t){let e=new sg({data:new Uint8Array(await t.arrayBuffer())}),i=await e.getText();return await e.destroy(),i.text}sg.setWorker("https://cdn.jsdelivr.net/npm/pdf-parse@latest/dist/pdf-parse/web/pdf.worker.mjs");let sv=async(t,e=1e3)=>"application/pdf"===t.type?await sb(t):t.type.startsWith("image/")?await sm(t):"";(r={}).OPENAI="openai",r.OLLAMA="ollama";let sy=async(t,e=1e3)=>(t=>{if(!t)return"";let e=t.replace(/\r\n?/g,"\n").replace(/\t+/g," ").replace(/[ ]{2,}/g," ").replace(/\n{3,}/g,"\n\n");return[/^Page \d+( of \d+)?$/gim,/^\d+\s*$/gm,/©\s*\d{4}.*$/gim,/^---+$/gm,/^\s*Confidential\s*$/gim].forEach(t=>{e=e.replace(t,"")}),e=e.split("\n").map(t=>t.trim()).filter(t=>t.length>0).join("\n")})(await sv(t,e)).slice(0,e),sw=async t=>{let e=t.filter(t=>!t.name.toLowerCase().endsWith(".pdf")),i=t.filter(t=>t.name.toLowerCase().endsWith(".pdf"));console.log(`ð Overlapping ${e.length} Image network calls with ${i.length} PDF CPU tasks...`);let r=e.map(async(t,e)=>{let i=await sy(t.file,5e3);return{id:t.id,name:t.name,text:i}}),s=[];for(let t=0;t<i.length;t++){let e=i[t],r=await sy(e.file,5e3);s.push({id:e.id,name:e.name,text:r})}return[...await Promise.all(r),...s]},sx=async t=>{try{let e=await (0,_.callWebLLM)(t);return JSON.parse(e)}catch(t){return console.error("[ERROR] Failed to get LLM response:",t),[]}},sA="General",s_=async(t,e,i)=>{let r=await v.auth.currentUser?.getIdToken();if(!r)throw Error("Authentication token not found");let s=await fetch("/api/files/save-node",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${r}`},body:JSON.stringify({organizedResults:t,uploadResults:e,filesMetadata:i})});if(!s.ok)throw Error(`Failed to save nodes: ${s.statusText}`);return await s.json()},sS=async(t,e,i)=>{try{let r;console.log("ð Starting parallel organization and upload",new Date().toISOString());let s=t.map((t,e)=>({...t,id:`file_${e+1}`})),n=s.map(async t=>{try{let{signedUrl:e,key:i}=await x(t.file.name,t.file.type);return await A(t.file,e),{id:t.id,r2Key:i,success:!0}}catch(e){return console.error(`Failed to upload ${t.file.name}
7:`,e),{id:t.id,r2Key:null,success:!1}}}),a=await sw(s.map(t=>({id:t.id,name:t.file.name,file:t.file})));console.log("â AI text preparation completed",new Date().toISOString());let o=` 8Situation :- 9You have a universal file management system with a hierarchical folder structure (maximum 3 levels deep) that can organize ANY type of content - academic, business, personal, sports, finance, medical, legal, creative work, or any other domain. Files are extracted from PDFs with potentially noisy or unclear text, and you need to automatically categorize them into the appropriate folder location. Folder names can contain spaces and are case-sensitive. When placing files in existing folders, you MUST match the folder name exactly as provided, including spaces and capitalization. 10 11Task :- 12Analyze the provided files (filename, extracted PDF text, and file ID) to determine the optimal folder path for each file's placement. The assistant should intelligently identify the domain/category of each file and match it to existing folders in the provided structure, or suggest a new folder only when it significantly improves organization. The assistant should then return a structured JSON response for each file with its ID, clean display name, folder path. Assistant should priotize user input over the situation. 13 14Objective :- 15Ensure files are placed in logically organized locations that reflect their domain, content type, and subject matter, minimizing folder clutter while maintaining a clear hierarchical structure that users can easily navigate across ANY field or industry. 16 17Knowledge :- 18- Folder structure is case-sensitive and can contain spaces (e.g., "Practice Paper" not "PracticePaper") 19- Maximum folder depth is 3 levels (e.g., "Maths/Notes/Semester 1") 20- "3 levels" means: Level 1 (Parent category) / Level 2 (Category) / Level 3 (Subcategory) 21- Extracted text may contain OCR errors, formatting issues, or irrelevant content 22- New folders should only be created when they meaningfully improve organization; existing folders should be reused when appropriate 23- Display name should be derived from both filename and content to be descriptive and clean 24 25Subject Recognition :- 26IMPORTANT: This is a UNIVERSAL file organizer that works across ALL domains and industries. Always create appropriate category-specific folders based on content. Do NOT force unrelated content into existing folders just because they exist. 27 28Academic & Education: 29- Physics, Chemistry, Biology, Mathematics, English, Computer Science, History, Geography, etc. 30- Structure: Subject/Notes or Subject/Practice Paper or Subject/Assignments 31 32Business & Professional: 33- Business plans, proposals, contracts, meeting notes, presentations 34- Structure: Business/Proposals, Business/Contracts, Business/Meetings, Business/Reports 35 36Sports & Fitness: 37- Training plans, game strategies, player stats, nutrition plans, workout routines 38- Structure: Sports/Training, Sports/Nutrition, Sports/Performance, Sports/Team Management 39 40Finance & Accounting: 41- Tax returns, bank statements, budgets, invoices, financial reports, investment docs 42- Structure: Finance/Tax Returns, Finance/Statements, Finance/Budgets, Finance/Investments 43 44Personal & Lifestyle: 45- Resumes, certificates, travel plans, recipes, hobbies, personal projects 46- Structure: Personal/Documents, Personal/Travel, Personal/Health, Personal/Projects 47 48Medical & Health: 49- Medical reports, prescriptions, health records, insurance documents 50- Structure: Medical/Reports, Medical/Prescriptions, Medical/Insurance 51 52Legal: 53- Contracts, agreements, court documents, property papers, wills 54- Structure: Legal/Contracts, Legal/Property, Legal/Court Documents 55 56Creative & Media: 57- Design files, photography, writing, music, video projects 58- Structure: Creative/Design, Creative/Photography, Creative/Writing 59 60Technology & Development: 61- Code documentation, API docs, technical specifications, project plans 62- Structure: Tech/Documentation, Tech/Projects, Tech/Research 63 64Real Estate: 65- Property documents, lease agreements, mortgage papers, property valuations 66- Structure: Real Estate/Properties, Real Estate/Leases, Real Estate/Documents 67 68General Rule: Analyze the content domain and create appropriate category folders. Be intelligent about categorization - a "player contract" goes to Sports/Team Management or Legal/Contracts depending on context, a "nutrition plan" for athletes goes to Sports/Nutrition, etc. 69 70Examples :- 71-------------------------------------------- 72Example 1 : Input 73 74Files: 75 76"id": "1", 77"filename": "basic_maths.pdf", 78"extractedText": "Basic Mathematics 79Introduction to Numbers, Addition, Subtraction 80Simple arithmetic operations for beginners 81Chapter 1: Understanding whole numbers" 82 83 84Current Folder Structure: 85Maths 86Maths/Notes 87Maths/Practice Paper 88Science 89 90Example 1 : Output 91[ 92 { 93 "id": "1", 94 "displayName": "Basic Mathematics", 95 "folder": "Maths/Notes" 96 } 97] 98 99Reasoning : This is basic math notes. "Maths/Notes" is sufficient - NO need for "Maths/Notes/Basic Mathematics" or deeper nesting. The content type (Notes) is enough categorization. 100 101-------------------------------------------- 102Example 2 : Input 103 104Files: 105 106"id": "2", 107"filename": "chemistry_organic.pdf", 108"extractedText": "Organic Chemistry Notes 109Chapter 5: Alcohols and Phenols 110Properties, Nomenclature, and Reactions 111Functional groups and their characteristics" 112 113 114Current Folder Structure: 115Maths 116Maths/Notes 117Personal/Documents 118 119Example 2: Output 120 121[ 122 { 123 "id": "2", 124 "displayName": "Organic Chemistry - Alcohols and Phenols", 125 "folder": "Chemistry/Notes" 126 } 127] 128 129Reasoning : Content is clearly chemistry-related. Even though "Chemistry" folder doesn't exist in current structure, we CREATE it because forcing chemistry content into "Maths/Notes" or "Personal/Documents" would be incorrect. Subject-specific folders should always be created for academic content. 130 131-------------------------------------------- 132Example 3: Input 133 134Files: 135 136"id": "file_003", 137"filename": "player_training_schedule.pdf", 138"extractedText": "Weekly Training Schedule - Soccer Team 139Monday: Cardio and endurance 140Tuesday: Tactical drills 141Wednesday: Strength training 142Friday: Practice match" 143-------- 144"id": "file_004", 145"filename": "quarterly_sales_report.pdf", 146"extractedText": "Q3 2024 Sales Report 147Total Revenue: $2.5M 148Growth: 15% YoY 149Top performing products 150Regional breakdown" 151-------- 152"id": "file_005", 153"filename": "property_lease_agreement.pdf", 154"extractedText": "Residential Lease Agreement 155123 Main Street, Apartment 4B 156Term: 12 months 157Monthly rent: $1,800 158Landlord and tenant signatures" 159------- 160"id": "file_006", 161"filename": "recipe_italian_pasta.pdf", 162"extractedText": "Homemade Italian Pasta Recipe 163Ingredients: flour, eggs, salt, olive oil 164Step-by-step instructions 165Cooking time: 30 minutes 166Serves: 4 people" 167------- 168 169Current Folder Structure: 170Personal/Documents 171Finance/Statements 172 173Example 3 : Output 174 175[ 176 { 177 "id": "file_003", 178 "displayName": "Soccer Team Weekly Training Schedule", 179 "folder": "Sports/Training" 180 }, 181 { 182 "id": "file_004", 183 "displayName": "Q3 2024 Sales Report", 184 "folder": "Business/Reports" 185 }, 186 { 187 "id": "file_005", 188 "displayName": "Residential Lease Agreement 123 Main Street", 189 "folder": "Real Estate/Leases" 190 }, 191 { 192 "id": "file_006", 193 "displayName": "Italian Pasta Recipe", 194 "folder": "Personal/Recipes" 195 } 196] 197 198Reasoning: File 003 is sports training content - create "Sports/Training" folder for athletic content. File 004 is business sales report - create "Business/Reports" folder for corporate documents. File 005 is real estate lease - create "Real Estate/Leases" folder for property documents. File 006 is personal recipe - create "Personal/Recipes" for cooking/lifestyle content. This demonstrates the system works across ANY domain: sports, business, real estate, and personal lifestyle. 199 200-------------------------------------------- 201 202Behavioral Rules :- 2031. Process each file independently while considering the complete folder structure 2042. Clean the filename by removing special characters, extra spaces, and file extensions to create a readable display name 2053. **CRITICAL: This is a UNIVERSAL organizer for ANY domain (academic, business, sports, finance, medical, legal, creative, etc.). Analyze both filename and extracted text to identify the correct domain/category. Create appropriate category folders - NEVER force content into unrelated existing folders** 2064. Match each file to an existing folder path only if the domain and category match; create a new appropriate folder if the domain/category is different 2075. When matching existing folders, use EXACT case and spacing as provided (e.g., "Practice Paper" not "practice paper" or "PracticePaper") 2086. Be intelligent about context: a "contract" could go to Business/Contracts, Legal/Contracts, or Sports/Team Management depending on content 2097. Common folder patterns: Domain/Category (e.g., Business/Reports, Sports/Training, Finance/Budgets, Medical/Reports) 2108. Return results for ALL files in a single JSON response array 2119. Priotize the user input over the situation and do like what user input is 212 213Output Format:- 214Respond in strict array of objects only format: 215[ 216 { 217 "id": "unique_file_id", 218 "displayName": "Clean Display Name", 219 "folder": "Subject or Folder Path (max 3 levels)", 220 "tags" : ["tag1", "tag2"] (tags should briefly describe what the document is or its purpose (e.g., âtenancy agreementâ, âbank statementâ) and must be different from the displayName.) 221 } 222] 223 224-------------------------------------------- 225Files to Analyze: ${a.map((t,e)=>` 226ID: ${t.id} 227Filename: ${t.name} 228 229Extracted Text: 230${t.text} 231--------------------------------------------`).join("")} 232 233User Input (Priotize this over the situation): ${i} 234 235Current Folder Structure: 236${e.length>0?e.join("\n"):"(No folders yet)"} 237 238Now analyze all the provided files and return the JSON response with results for each file. 239Remember: This is a UNIVERSAL organizer - create appropriate category folders for ANY domain (academic, business, sports, finance, medical, legal, creative, tech, real estate, etc.). Do not force files into wrong categories just because those folders exist. 240`;console.log("ð Starting LLM organization",new Date().toISOString());let l=await sx(o);console.log("â LLM organization completed",new Date().toISOString());let h=await Promise.all(n),d=(r=new Map(l.map(t=>[t.id,t])),l.length!==a.length&&console.warn(`Batch mismatch fixed: expected ${a.length}, got ${l.length}`),a.map(t=>{let e=r.get(t.id);return e?{id:e.id,displayName:e.displayName?.trim()||t.name,folder:e.folder?.trim()||sA,tags:e?.tags||[],extractedText:t.text}:{id:t.id,displayName:t.name,folder:sA,tags:[],extractedText:t.text}})),c=s.map(t=>({id:t.id,name:t.file.name,type:t.file.type,size:t.file.size}));return console.log("ð Finalizing workspace setup...",new Date().toISOString()),await s_(d,h,c),d}catch(t){return console.error("Backend stabilization error:",t),{results:[],nodes:[]}}};
240class sE extends Error{status;body;constructor(t,e,i){super(e),this.status=t,this.body=i}}class sT{static instance;constructor(){}static getInstance(){return sT.instance||(sT.instance=new sT),sT.instance}async organizeFiles(t,e,i){try{let r=new FormData,s=v.auth.currentUser;if(!s)throw Error("User is not authenticated");let n=await s.getIdToken();t.forEach(t=>{r.append("files",t.file)}),r.append("folders",JSON.stringify(e)),r.append("userInput",i);let a=await fetch("https://filex-ai-functions.azurewebsites.net/api/organizefiles",{method:"POST",headers:{Authorization:`Bearer ${n}`},body:r});if(!a.ok){let t=null;try{t=await a.json()}catch{}throw new sE(a.status,t?.message||"API request failed",t)}return(await a.json()).data}catch(t){throw console.error("API Error:",t),t instanceof Error?t:Error("An unknown error occurred")}}}sT.getInstance();let sC=async(t,e,i,r)=>{if("cloud"===r)return sM(t,e,i);let s=await sS(t,e,i);return Array.isArray(s)?s:[]},sM=async(t,e,i)=>{let r=Date.now();try{let s=v.auth.currentUser;if(!s)throw Error("User is not authenticated");let n=await s.getIdToken(),a=await Promise.all(t.map(async({file:t})=>{let e=t.type||"application/octet-stream",{signedUrl:i,publicUrl:r}=await x(t.name,e);return await A(t,i),{url:r,filename:t.name,mimetype:e,size:t.size}})),o=await fetch("https://filex-ai-functions.azurewebsites.net/api/organizeurlentry",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${n}`},body:JSON.stringify({folders:e,userInput:i,files:a})});if(!o.ok){let t;try{t=await o.json()}catch{t=await o.text().catch(()=>void 0)}throw new sE(o.status,"Failed to organize files by URL",t)}let l=await o.json();if(y.default.track("File Organization Succeeded",{file_count:t.length,duration_ms:Date.now()-r,organization_type:"cloud_url",custom_rule:i}),Array.isArray(l))return l;if(Array.isArray(l.data))return l.data;if(Array.isArray(l.results))return l.results;return[]}catch(e){throw y.default.track("File Organization Failed",{file_count:t.length,duration_ms:Date.now()-r,organization_type:"cloud_url",error_message:e instanceof Error?e.message:String(e),error_type:e instanceof Error?e.name:"Unknown"}),console.error("organizeFilesByUrl error:",e),e instanceof Error?e:Error("An unknown error occurred")}},sk=async(t,e,i,r,s,n)=>{console.log(`[Batch ${i}/${r}] Processing ${e.length} files...`);let a=Array.from(s),o=await sC(e,a,n,t),l=Array.isArray(o)?o:[];return l.length!==e.length&&console.warn(`[Batch ${i}/${r}] WARNING: Expected ${e.length}, got ${l.length}`),l.forEach(t=>s.add(t.folder)),console.log(`[Batch ${i}/${r}] Completed. Total folders: ${s.size}`),l},sP=async(t,e,i,r=[],s=10,n)=>{let a=new Set(r),o=[],l=Math.ceil(e.length/s),h=function(t){if(!t.length)return null;let e=t.reduce((t,e)=>t+(e.size||0),0)/1048576,i=3*t.length;return(e>100&&(i+=15),e>300&&(i+=30),e>800&&(i+=60),i<25)?null:i<60?"under a minute":i<120?"around 1â2 minutes":i<300?"a few minutes":"several minutes"}(e),d=1===e.length?"file":"files";n?.({fileId:"system-start",progress:0,status:"uploading",message:h?`Organising ${e.length} ${d}. Analysing content and context to place everything in the right folder. This may take ${h}.`:`Organising ${e.length} ${d}. Analysing content and context to place everything in the right folder.`,action:"show_card"});for(let r=0;r<e.length;r+=s){let h=Math.floor(r/s)+1,d=e.slice(r,r+s);try{d.forEach(({id:t})=>n?.({fileId:t,progress:10,status:"uploading",message:`Downloading batch ${h} of ${l}`}));let e=await Promise.all(d.map(async t=>{let e=t.file??await t.loadFile?.();if(!e)throw Error(`No file data is available for ${t.name}.`);return n?.({fileId:t.id,progress:25,status:"uploading",message:`Downloaded ${t.name}`}),{id:t.id,file:e}}));e.forEach(({id:t})=>n?.({fileId:t,progress:35,status:"uploading",message:`Processing batch ${h} of ${l}`}));let r=await sk(t,e,h,l,a,i);o.push(...r),e.forEach(({id:t})=>n?.({fileId:t,progress:100,status:"completed",message:`Completed batch ${h} of ${l}`}))}catch(t){throw d.forEach(({id:t})=>n?.({fileId:t,progress:100,status:"error",message:`Failed batch ${h} of ${l}`})),t}}let c=function(t){if(0===t.length)return` 241### Your files are organised 242 243Your files were uploaded and organised successfully. You can now access them from your workspace. 244`.trim();let e=t.length,i=t.slice(0,5).map(t=>` 245**${t.displayName}** 246 247\`${t.folder}\` 248`.trim()).join("\n\n"),r=e>5?` 249 250_+ ${e-5} more files organised_`:"";return` 251### Your files are organised 252 253Your files have been renamed and placed into meaningful folders, so theyâre easier to find across devices. 254 255${i}${r} 256`.trim()}(o);return n?.({fileId:"system-summary",progress:100,status:"completed",message:c,action:"show_cta"}),o};t.s(["processBatchFileOrganization",0,sP],570118)},164668,581418,794771,832724,t=>{"use strict";var e=t.i(717521);t.s(["LoaderCircle",()=>e.default],164668);var i=t.i(475254);let r=(0,i.default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",ke
256y:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);t.s(["ShieldCheck",()=>r],581418);let s=(0,i.default)("check-check",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]);t.s(["CheckCheck",()=>s],794771);let n=(0,i.default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);t.s(["CircleX",()=>n],832724)},412985,470124,18642,t=>{"use strict";var e=t.i(843476),i=t.i(271645),r=t.i(37727),s=t.i(727927),n=t.i(727612),a=t.i(643531),o=t.i(878894),l=t.i(164668),h=t.i(107233),d=t.i(283086),c=t.i(581418),u=t.i(794771),p=t.i(972520),g=t.i(832724),f=t.i(618566),m=t.i(570118),b=t.i(826740),v=t.i(397844);t.i(151718);var y=t.i(618357),w=t.i(667673);let x="https://www.googleapis.com/drive/v3/files",A=["application/pdf","image/jpeg","image/jpg","image/png","image/webp","image/gif","image/heic","image/heif","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv","text/plain"],_={"application/vnd.google-apps.document":{mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",extension:"docx"},"application/vnd.google-apps.spreadsheet":{mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",extension:"xlsx"}};async function S(){let t=w.auth.currentUser;if(!t)throw Error("Please sign in before connecting Google Drive.");let e=new y.GoogleAuthProvider;e.addScope("https://www.googleapis.com/auth/drive.readonly"),e.setCustomParameters({prompt:"consent",access_type:"online"});let i=t.providerData.some(t=>"google.com"===t.providerId)?await (0,y.reauthenticateWithPopup)(t,e):await (0,y.linkWithPopup)(t,e),r=y.GoogleAuthProvider.credentialFromResult(i);if(!r?.accessToken)throw Error("Google did not return permission to read Drive files.");return r.accessToken}async function E(t){let e,i=[];do{let r=new URLSearchParams({q:function(){let t=[...A,...Object.keys(_)];return`trashed=false and (${t.map(t=>`mimeType='${t}'`).join(" or ")})`}(),pageSize:"1000",orderBy:"modifiedTime desc",fields:"nextPageToken,files(id,name,mimeType,size,thumbnailLink,modifiedTime,exportLinks)",includeItemsFromAllDrives:"true",supportsAllDrives:"true"});e&&r.set("pageToken",e);let s=await fetch(`${x}?${r}`,{headers:{Authorization:`Bearer ${t}`}});if(!s.ok){let t=await s.text().catch(()=>"");throw Error(`Failed to load Google Drive files.${t?` ${t}`:""}`)}let n=await s.json();i.push(...n.files??[]),e=n.nextPageToken}while(e)return i}async function T(){let t=await S();return(await E(t)).map(e=>(function(t,e){var i,r;let s=_[t.mimeType];if(!s&&!A.includes(t.mimeType))return null;let n=s?.mimeType??t.mimeType,a=s?(i=t.name,r=s.extension,i.toLowerCase().endsWith(`.${r}`)?i:`${i}.${r}`):t.name,o=s?t.exportLinks?.[n]??`${x}/${t.id}/export?mimeType=${encodeURIComponent(n)}`:`${x}/${t.id}?alt=media`,l=t.size?Number(t.size):void 0;return{driveFileId:t.id,name:a,mimeType:n,size:l,lastModified:t.modifiedTime?new Date(t.modifiedTime).getTime():Date.now(),thumbnailUrl:t.thumbnailLink,downloadUrl:o,accessToken:e,validationError:(0,v.validateFile)({name:a,mimeType:n,size:l})}})(e,t)).filter(t=>null!==t)}async function C(t){let e,i=new AbortController,r=window.setTimeout(()=>i.abort(),12e4);try{e=await fetch(t.downloadUrl,{headers:{Authorization:`Bearer ${t.accessToken}`},signal:i.signal})}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)throw Error(`Downloading â${t.name}â from Google Drive timed out.`);throw e}finally{window.clearTimeout(r)}if(!e.ok)throw Error(`Could not download â${t.name}â from Google Drive.`);let s=await e.blob(),n=new File([s],t.name,{type:t.mimeType||s.type||"application/octet-stream",lastModified:t.lastModified}),a=(0,v.validateFile)(n);if(a)throw Error(`${t.name}: ${a}`);return n}function M(t){return(0,e.jsxs)("svg",{viewBox:"0 0 54 48","aria-hidden":"true",...t,children:[(0,e.jsx)("path",{fill:"#0F9D58",d:"M19.8 4 6 28l7.1 12.3 13.8-24Z"}),(0,e.jsx)("path",{fill:"#F4B400",d:"M19.8 4h14.3l13.8 24H33.6Z"}),(0,e.jsx)("path",{fill:"#4285F4",d:"m13.1 40.3 7.1-12.3h27.7l-7.1 12.3Z"})]})}t.s(["downloadGoogleDriveFile",()=>C,"loadGoogleDriveImportFiles",()=>T],470124),t.s(["default",()=>M],18642);let k=[],P=[];function D(t){return t.map((t,e)=>{let i=(0,v.validateFile)(t);return{id:`${Date.now()}-${e}
256`,name:t.name,size:t.size,type:t.type,file:t,progress:0,status:i?"error":"waiting",validationError:i}})}function I(t){return t.map(t=>({id:`drive-${t.driveFileId}`,name:t.name,size:t.size??0,type:t.mimeType,progress:0,status:t.validationError?"error":"waiting",validationError:t.validationError,driveSource:t}))}function R({isOpen:t,onClose:y,selectedFiles:w=k,selectedDriveFiles:x=P,mode:A="cloud",userInput:_=""}){let[S,E]=(0,i.useState)([]),[R,L]=(0,i.useState)(!1),[B,F]=(0,i.useState)(!1),[N,O]=(0,i.useState)(null),[j,U]=(0,i.useState)(_),[z,$]=(0,i.useState)(!1),[H,G]=(0,i.useState)(!1),[V,W]=(0,i.useState)(null),q=(0,i.useRef)(null),X=(0,i.useRef)(null),Y=(0,i.useRef)(new Map),K=(0,i.useRef)(0),J=(0,f.useRouter)(),{credits:Q}=(0,b.useUserTree)();i.default.useEffect(()=>{t&&(E([...D(w),...I(x)]),U(_),$(!1),W(null),K.current=0)},[t,x,w,_]),i.default.useEffect(()=>{if(!B)return;let t=S.filter(t=>"completed"===t.status).length;if(t<=K.current)return;K.current=t;let e=S.find(t=>"waiting"===t.status),i=X.current,r=e?Y.current.get(e.id):null;i&&r&&i.scrollTo({top:Math.max(0,r.offsetTop-i.offsetTop-12),behavior:"smooth"})},[B,S]);let Z=S.filter(t=>!t.validationError).length,tt=N||(()=>{if(!Q||0===Z)return null;if(0===Q.remaining)return"Youâve reached your file limit. Upgrade your plan to upload more files.";if(Z>Q.remaining){let t=Z-Q.remaining;return`You can only upload ${Q.remaining} more file${1===Q.remaining?"":"s"}. Please remove ${t} file${1===t?"":"s"}, or upgrade to upload more files.`}return null})(),te=!!(Q&&Z>Q.remaining),ti=(0,i.useCallback)(t=>{E(e=>[...e,...D(t)])},[]),tr=(0,i.useCallback)(async()=>{G(!0),W(null);try{let t=await T();E(e=>{let i=new Set(e.map(t=>t.driveSource?.driveFileId).filter(Boolean)),r=t.filter(t=>!i.has(t.driveFileId)).map(t=>I([t])[0]);return[...e,...r]})}catch(t){console.error("Google Drive import failed:",t),W(t instanceof Error?t.message:"Could not connect to Google Drive.")}finally{G(!1)}},[]),ts=(0,i.useCallback)(t=>{t.preventDefault(),L(!0)},[]),tn=(0,i.useCallback)(t=>{t.preventDefault(),L(!1)},[]),ta=(0,i.useCallback)(t=>{t.preventDefault(),L(!1),ti(Array.from(t.dataTransfer.files))},[ti]),to=(0,i.useCallback)(()=>{q.current?.click()},[]),tl=(0,i.useCallback)(t=>{ti(Array.from(t.target.files||[])),t.target.value=""},[ti]),th=async()=>{if(tt)return;let t=S.filter(t=>!t.validationError);if(0!==t.length){F(!0),$(!1),O(null);try{E(t=>t.map(t=>t.validationError?t:{...t,status:"waiting",progress:0}));let e=t.map(t=>({id:t.id,name:t.name,size:t.size,type:t.type,file:t.file,loadFile:t.driveSource?()=>C(t.driveSource):void 0}));await (0,m.processBatchFileOrganization)(A,e,j.trim(),[],5,t=>{t.fileId.startsWith("system-")||E(e=>e.map(e=>e.id===t.fileId?{...e,progress:t.progress,status:t.status}:e))}),F(!1),$(!0)}catch(t){console.error("Upload failed:",t),t&&"object"==typeof t&&"status"in t&&403===t.status?O("Not enough credits to upload these files."):E(t=>t.map(t=>t.validationError?t:{...t,status:"error"})),F(!1)}}},td=()=>{E([]),F(!1),$(!1),y()},tc=S.filter(t=>"completed"===t.status).length,tu=S.filter(t=>"error"===t.status);return t?(0,e.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 sm:p-6",children:[(0,e.jsx)("div",{className:"absolute inset-0 bg-slate-950/35 backdrop-blur-sm transition-opacity",onClick:B?void 0:y}),(0,e.jsxs)("div",{className:"relative w-full max-w-3xl bg-white rounded-3xl shadow-[0_32px_90px_-24px_rgba(15,23,42,0.45)] border border-slate-200/80 overflow-hidden transform transition-all",children:[(0,e.jsx)("div",{className:"flex h-14 items-center justify-end border-b border-slate-100 px-4 sm:px-6",children:(0,e.jsx)("button",{type:"button",onClick:td,disabled:B,"aria-label":"Close upload modal",className:"flex h-9 w-9 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-400 shadow-sm transition hover:border-slate-300 hover:bg-slate-50 hover:text-slate-700 disabled:cursor-not-allowed disabled:opacity-40",children:(0,e.jsx)(r.X,{className:"h-4 w-4"})})}),z?(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"px-6 py-8 sm:px-8",children:[(0,e.jsxs)("div",{className:"flex items-start gap-4 roun
256ded-2xl border border-emerald-100 bg-emerald-50/60 p-5",children:[(0,e.jsx)("div",{className:"flex h-12 w-12 shrink-0 items-center justify-center rounded-2xl bg-emerald-600 text-white shadow-sm",children:(0,e.jsx)(u.CheckCheck,{className:"h-6 w-6"})}),(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("h2",{className:"text-lg font-bold text-slate-900",children:"Files organized successfully"}),(0,e.jsxs)("p",{className:"mt-1 text-sm leading-6 text-slate-500",children:[tc," file",1===tc?"":"s"," organized. They will appear in your directory in a few moments."]})]}),(0,e.jsxs)("span",{className:"hidden rounded-full bg-white px-3 py-1.5 text-xs font-bold text-emerald-700 shadow-sm sm:inline-flex",children:[tc," done"]})]}),(0,e.jsx)("div",{className:"mt-5 grid gap-3 sm:grid-cols-3",children:["Smart categorization","Entity linking","Instant indexing"].map(t=>(0,e.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-slate-200 bg-white px-3 py-3 text-xs font-semibold text-slate-600",children:[(0,e.jsx)("span",{className:"h-2 w-2 rounded-full bg-indigo-500"})," ",t]},t))}),tu.length>0&&(0,e.jsx)("div",{className:"mt-5 rounded-2xl border border-red-100 bg-red-50 p-4",children:(0,e.jsxs)("p",{className:"flex items-center gap-2 text-sm font-bold text-red-700",children:[(0,e.jsx)(g.CircleX,{className:"h-4 w-4"})," ",tu.length," failed"]})})]}),(0,e.jsxs)("div",{className:"flex flex-col gap-3 border-t border-slate-200 bg-slate-50/80 px-6 py-5 sm:flex-row sm:items-center sm:justify-between sm:px-8",children:[(0,e.jsx)("span",{className:"text-xs text-slate-400",children:"You can safely close this screen now"}),(0,e.jsxs)("button",{type:"button",onClick:()=>{td(),J.push("/dashboard")},className:"flex items-center justify-center gap-2 rounded-xl bg-gradient-to-r from-blue-600 to-indigo-600 px-5 py-2.5 text-sm font-semibold text-white shadow-lg shadow-indigo-200 transition hover:from-blue-700 hover:to-indigo-700",children:["Go to My Directory ",(0,e.jsx)(p.ArrowRight,{className:"h-4 w-4"})]})]})]}):(0,e.jsxs)(e.Fragment,{children:[tt&&(0,e.jsxs)("div",{className:"mx-6 sm:mx-8 mt-5 p-4 bg-red-50 border border-red-200 rounded-2xl flex items-start gap-3",children:[(0,e.jsx)(o.AlertTriangle,{className:"w-5 h-5 text-red-500 shrink-0 mt-0.5"}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-red-700 text-sm font-semibold",children:"Unable to continue"}),(0,e.jsx)("p",{className:"text-red-600 text-xs mt-1",children:tt}),te&&(0,e.jsx)("button",{type:"button",onClick:()=>{td(),J.push("/dashboard/upgrade")},className:"mt-2 text-xs font-bold text-red-700 underline decoration-red-300 underline-offset-2 hover:text-red-800",children:"View upgrade options"})]})]}),V&&(0,e.jsxs)("div",{className:"mx-6 mt-5 flex items-start gap-3 rounded-2xl border border-amber-200 bg-amber-50 p-4 sm:mx-8",children:[(0,e.jsx)(o.AlertTriangle,{className:"mt-0.5 h-5 w-5 shrink-0 text-amber-600"}),(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"text-sm font-semibold text-amber-800",children:"Google Drive could not be loaded"}),(0,e.jsx)("p",{className:"mt-1 text-xs text-amber-700",children:V})]})]}),0===S.length&&(0,e.jsx)("div",{className:"px-6 sm:px-8 pt-6",children:(0,e.jsxs)("div",{className:`relative border-2 border-dashed rounded-2xl p-8 sm:p-10 flex flex-col items-center justify-center text-center transition-all cursor-pointer ${R?"border-indigo-500 bg-indigo-50":"border-slate-300 bg-slate-50/70 hover:bg-indigo-50/60 hover:border-indigo-400"} ${B?"pointer-events-none opacity-50":""}`,onDragOver:ts,onDragLeave:tn,onDrop:ta,onClick:B?void 0:to,children:[(0,e.jsx)("div",{className:"w-16 h-16 rounded-2xl bg-white text-indigo-600 flex items-center justify-center mb-4 shadow-md border border-indigo-100 hover:scale-105 transition-transform duration-300",children:(0,e.jsx)(s.Cloud,{className:"w-8 h-8"})}),(0,e.jsx)("h4",{className:"text-lg font-semibold text-slate-900 mb-2",children:"Drop files here"}),(0,e.jsx)("p",{className:"text-sm text-slate-500 max-w-md mx-auto mb-6",children:"PDF, images, Word, Excel, CSV, and text files up to 100 MB each."}),(0,e.jsx)("button",{disabled:B,className:"px-6 py-2.5 bg-white border border-slate-300 text-slate-700 font-semibold rounded-xl hover:border-indigo-400 hover:text-indigo-600 transition-all shadow-sm disabled:opacity-50 disabled:cursor-not-allowed",children:"Browse Files"}),(0,e.jsxs)("button",{type:"button",disabled:B||H,onClick:t=>{t.stopPropagation(),tr()},className:"mt-3 inline-flex items-center gap-2 rounded-xl border border-slate-300 bg-white px-6 py-2.5 font-semibold text-slate-700 shadow-sm transition-all hover:border-blue-400 hover:text-blue-600 disabled:cursor-not-allowed disabled:opacity-50",children:[H?(0,e.jsx)(l.L
256oaderCircle,{className:"h-4 w-4 animate-spin"}):(0,e.jsx)(M,{className:"h-4 w-5"}),H?"Connectingâ¦":"Connect Google Drive"]})]})}),(0,e.jsx)("input",{ref:q,type:"file",multiple:!0,onChange:tl,className:"hidden",accept:v.UPLOAD_ACCEPT_STRING,disabled:B}),(0,e.jsxs)("div",{className:"px-6 sm:px-8 pt-6",children:[(0,e.jsxs)("label",{htmlFor:"custom-organize-rule",className:"flex items-center gap-2 text-sm font-semibold text-slate-800",children:[(0,e.jsx)(d.Sparkles,{className:"w-4 h-4 text-indigo-600"}),"Custom organization rule",(0,e.jsx)("span",{className:"font-normal text-slate-400",children:"(optional)"})]}),(0,e.jsx)("textarea",{id:"custom-organize-rule",value:j,onChange:t=>U(t.target.value),disabled:B,rows:3,maxLength:500,placeholder:"For example: Group invoices by year and vendor, and place personal photos in a separate folder.",className:"mt-2 w-full resize-none rounded-2xl border border-slate-200 bg-slate-50/70 px-4 py-3 text-sm text-slate-800 placeholder:text-slate-400 outline-none transition focus:border-indigo-400 focus:bg-white focus:ring-4 focus:ring-indigo-100 disabled:opacity-60"}),(0,e.jsx)("div",{className:"mt-1.5 flex justify-between text-[11px] text-slate-400",children:(0,e.jsxs)("span",{children:[j.length,"/500"]})})]}),S.length>0&&(0,e.jsxs)("div",{ref:X,className:"mx-6 sm:mx-8 mt-5 mb-6 min-h-[210px] max-h-[280px] overflow-y-auto rounded-2xl bg-slate-50/50 px-3 py-3 scrollbar-hide",children:[(0,e.jsxs)("h4",{className:"text-xs font-bold text-slate-500 uppercase tracking-wider mb-3 px-1",children:["Selected files (",S.length,")"]}),(0,e.jsx)("div",{className:"space-y-3",children:S.map(t=>(0,e.jsxs)("div",{ref:e=>{e?Y.current.set(t.id,e):Y.current.delete(t.id)},className:`flex items-center gap-4 p-3 rounded-2xl bg-white border shadow-sm ${t.validationError?"border-red-200 bg-red-50/30":"border-slate-200"}`,children:[(0,e.jsx)("div",{className:`w-10 h-10 rounded-lg flex items-center justify-center shrink-0 ${(t=>{if(t.includes("pdf"))return"bg-red-100 dark:bg-red-500/10 text-red-600 dark:text-red-400";if(t.includes("document")||t.includes("word"))return"bg-blue-100 dark:bg-blue-500/10 text-blue-600 dark:text-blue-400";if(t.includes("image"))return"bg-orange-100 dark:bg-orange-500/10 text-orange-600 dark:text-orange-400";if(t.includes("excel")||t.includes("spreadsheet")||t.includes("csv"))return"bg-emerald-100 text-emerald-700";if(t.includes("text"))return"bg-slate-100 text-slate-600";return"bg-gray-100 dark:bg-gray-500/10 text-gray-600 dark:text-gray-400"})(t.type)}`,children:(t=>{if(t.includes("pdf"))return(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"PDF"});if(t.includes("document")||t.includes("word"))return(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"DOC"});if(t.includes("image"))return(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"IMG"});if(t.includes("excel")||t.includes("spreadsheet")||t.includes("csv"))return(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"XLS"});if(t.includes("text"))return(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"TXT"});return(0,e.jsx)("span",{className:"text-[10px] font-bold",children:"FILE"})})(t.type)}),(0,e.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,e.jsxs)("div",{className:"flex justify-between items-center mb-1",children:[(0,e.jsx)("h5",{className:"text-sm font-semibold text-slate-800 truncate",children:t.name}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)("span",{className:"text-xs font-medium text-slate-400",children:t.driveSource&&!t.driveSource.size?"Size on download":(t=>{if(0===t)return"0 Bytes";let e=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,e)).toFixed(2))+" "+["Bytes","KB","MB","GB"][e]})(t.size)}),"uploading"===t.status&&(0,e.jsxs)("span",{className:"flex items-center gap-1 text-xs text-blue-400",children:[(0,e.jsx)(l.LoaderCircle,{className:"w-4 h-4 animate-spin"}),t.driveSource&&t.progress<35?"Downloading":"Processing"]}),"waiting"===t.status&&(0,e.jsx)("span",{className:"text-xs text-slate-400",children:"Waiting"}),"error"===t.status&&(0,e.jsx)("span",{className:"text-xs font-medium text-red-500",children:t.validationError?"Invalid":"Failed"}),"completed"===t.status&&(0,e.jsx)(a.Check,{className:"w-4 h-4 text-green-400"})]})]}),t.validationError?(0,e.jsxs)("p",{className:"mt-1 flex items-center gap-1 text-xs font-medium text-red-600",children:[(0,e.jsx)(o.AlertTriangle,{className:"h-3.5 w-3.5"})," ",t.validationError]}):(0,e.jsx)("div",{className:"w-full bg-slate-100 h-1.5 rounded-full overflow-hidden",children:(0,e.jsx)("div",{className:`h-full rounded-full transition-all duration-300 ${"completed"===t.status?"bg-green-500":"uploading"===t.status?"bg-blue-500 animate-pulse":"error"===t.status?"bg-red-500":"bg-slate-200"}`,style:{width:`${t.progress}%`}})})]}),!B&&(0,e.jsx)("button",{onClick:()=>{var e;return e=t.id,void E(t=>t.filter(t=>t.id!==e))},className:"text-slate-400 hover:text-red-500 hover:bg-red-50 rounded-lg transition-colors p-1.5",children:(0,e.jsx)(n.Trash2,{className:"w-4 h-4"})})]},t.id))})]}),(0,e.jsxs)("div",{className:"px-6 sm:px-8 py-5 bg-slate-50/80 border-t border-slate-200 flex flex-col sm:flex-row sm:items-center justify-between gap-4",children:[(0,e.jsxs)("span",{className:"text-xs text-slate-500 flex items-center gap-2",children:[(0,e.jsx)(c.ShieldCheck,{className:"w-4 h-4 text-emerald-600"}
256),B?"Securely processing your filesâ¦":`${Z} file${1!==Z?"s":""} ready to organize`]}),(0,e.jsxs)("div",{className:"flex gap-3",children:[!B&&S.length>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("button",{onClick:tr,disabled:H,className:"px-4 py-2.5 text-sm font-semibold text-slate-700 border border-slate-300 bg-white rounded-xl hover:border-blue-400 hover:text-blue-600 transition-colors flex items-center gap-2 disabled:opacity-50",children:[H?(0,e.jsx)(l.LoaderCircle,{className:"w-4 h-4 animate-spin"}):(0,e.jsx)(M,{className:"h-4 w-5"})," Drive"]}),(0,e.jsxs)("button",{onClick:to,className:"px-4 py-2.5 text-sm font-semibold text-slate-700 border border-slate-300 bg-white rounded-xl hover:border-indigo-400 hover:text-indigo-600 transition-colors flex items-center gap-2",children:[(0,e.jsx)(h.Plus,{className:"w-4 h-4"})," Select more"]})]}),(0,e.jsx)("button",{onClick:td,disabled:B,className:"px-4 py-2.5 text-sm font-semibold text-slate-600 hover:text-slate-900 bg-transparent rounded-xl hover:bg-slate-200 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:"Cancel"}),(0,e.jsxs)("button",{onClick:th,disabled:0===Z||B||!!tt,className:"px-5 py-2.5 text-sm font-semibold text-white bg-gradient-to-r from-blue-600 to-indigo-600 hover:from-blue-700 hover:to-indigo-700 disabled:from-slate-300 disabled:to-slate-300 disabled:cursor-not-allowed rounded-xl shadow-lg shadow-indigo-200 transition-all flex items-center gap-2",children:[B&&(0,e.jsx)("div",{className:"w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"}),B?"Organizingâ¦":"Organize files"]})]})]})]})]})]}):null}t.s(["default",()=>R],412985)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.