ngx-extended-pdf-viewer
Version:
Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.
25 lines • 164 kB
JavaScript
/**
* @licstart The following is the entire license notice for the
* JavaScript code in this page
*
* Copyright 2024 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* @licend The above is the entire license notice for the
* JavaScript code in this page
*/
/**
* pdfjsVersion = 6.5.1523
* pdfjsBuild = e59504a82
*/
class NgxConsole{static log(e,t){NgxConsole.ngxConsoleFilter("log",e)&&(void 0!==t?console.log("%s",e,t):console.log(e))}static error(e,t){NgxConsole.ngxConsoleFilter("error",e)&&(void 0!==t?console.error("%s",e,t):console.error(e))}static warn(e,t){NgxConsole.ngxConsoleFilter("warn",e)&&(void 0!==t?console.warn("%s",e,t):console.warn(e))}static debug(e,t){NgxConsole.ngxConsoleFilter("debug",e)&&(void 0!==t?console.warn("%s",e,t):console.warn(e))}get ngxConsoleFilter(){return NgxConsole.ngxConsoleFilter}set ngxConsoleFilter(e){NgxConsole.ngxConsoleFilter=e}reset(){NgxConsole.ngxConsoleFilter=(e,t)=>!0}}!function _defineProperty(e,t,s){return(t=function _toPropertyKey(e){var t=function _toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}(NgxConsole,"ngxConsoleFilter",(e,t)=>!0);var e;function _assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}const t=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type),s=[1/0,1/0,-1/0,-1/0],a=new Float32Array(s),r=[.001,0,0,.001,0,0],i=2,n=4,o=0,l=1,c=2,d=3,h=3,p=4,f=1,_=2,u=3,v=1,m=5,g={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},F=0,P=1,y=2,b=3,k=4;let x=v;function info(e){x>=m&&("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope||Window&&NgxConsole?NgxConsole.log(`Info: ${e}`):console.log(`Info: ${e}`))}function warn(e){x>=v&&("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope||Window&&NgxConsole?NgxConsole.log(`Warning: ${e}`):console.log(`Warning: ${e}`))}function unreachable(e){throw new Error(e)}function assert(e,t){e||unreachable(t)}function shadow(e,t,s,a=!1){Object.defineProperty(e,t,{value:s,enumerable:!a,configurable:!0,writable:!1});return s}const C=function BaseExceptionClosure(){function BaseException(e,t){this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();class PasswordException extends C{constructor(e,t){super(e,"PasswordException");this.code=t}}class UnknownErrorException extends C{constructor(e,t){super(e,"UnknownErrorException");this.details=t}}class InvalidPDFException extends C{constructor(e){super(e,"InvalidPDFException")}}class ResponseException extends C{constructor(e,t,s){super(e,"ResponseException");this.status=t;this.missing=s}}class FormatError extends C{constructor(e){super(e,"FormatError")}}class AbortException extends C{constructor(e){super(e,"AbortException")}}class FeatureTest{static get isLittleEndian(){const e=new Uint8Array(4);e[0]=1;return shadow(this,"isLittleEndian",1===new Uint32Array(e.buffer,0,1)[0])}static get isOffscreenCanvasSupported(){return shadow(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}static get isImageDecoderSupported(){return shadow(this,"isImageDecoderSupported","undefined"!=typeof ImageDecoder)}static get isVideoFrameSupported(){return shadow(this,"isVideoFrameSupported","undefined"!=typeof VideoFrame)}static get isFloat16ArraySupported(){return shadow(this,"isFloat16ArraySupported","undefined"!=typeof Float16Array)}static get isSanitizerSupported(){return shadow(this,"isSanitizerSupported","undefined"!=typeof Sanitizer)}static get platform(){const{platform:e,userAgent:t}=navigator;return shadow(this,"platform",{isAndroid:t.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:t.includes("Firefox")})}static get isCanvasFilterSupported(){let e;this.isOffscreenCanvasSupported&&(e=new OffscreenCanvas(1,1).getContext("2d"));return shadow(this,"isCanvasFilterSupported",void 0!==e?.filter)}static get isAlphaColorInputSupported(){return shadow(this,"isAlphaColorInputSupported",!1)}static get isBackdropFilterSupported(){return shadow(this,"isBackdropFilterSupported","undefined"!=typeof CSS&&CSS.supports("backdrop-filter","blur(1px)"))}}class Util{static get hexNums(){return shadow(this,"hexNums",Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0")))}static makeHexColor(e,t,s){return`#${this.hexNums[e]}${this.hexNums[t]}${this.hexNums[s]}`}static get identity0to256Map(){return shadow(this,"identity0to256Map",Uint8Array.from({length:256},(e,t)=>t))}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static multiplyByDOMMatrix(e,t){return[e[0]*t.a+e[2]*t.b,e[1]*t.a+e[3]*t.b,e[0]*t.c+e[2]*t.d,e[1]*t.c+e[3]*t.d,e[0]*t.e+e[2]*t.f+e[4],e[1]*t.e+e[3]*t.f+e[5]]}static applyTransform(e,t,s=0){const a=e[s],r=e[s+1];e[s]=a*t[0]+r*t[2]+t[4];e[s+1]=a*t[1]+r*t[3]+t[5]}static applyTransformToBezier(e,t,s=0){const a=t[0],r=t[1],i=t[2],n=t[3],o=t[4],l=t[5];for(let t=0;t<6;t+=2){const c=e[s+t],d=e[s+t+1];e[s+t]=c*a+d*i+o;e[s+t+1]=c*r+d*n+l}}static applyInverseTransform(e,t){const s=e[0],a=e[1],r=t[0]*t[3]-t[1]*t[2];e[0]=(s*t[3]-a*t[2]+t[2]*t[5]-t[4]*t[3])/r;e[1]=(-s*t[1]+a*t[0]+t[4]*t[1]-t[5]*t[0])/r}static axialAlignedBoundingBox(e,t,s){const a=t[0],r=t[1],i=t[2],n=t[3],o=t[4],l=t[5],c=e[0],d=e[1],h=e[2],p=e[3];let f=a*c+o,_=f,u=a*h+o,v=u,m=n*d+l,g=m,F=n*p+l,P=F;if(0!==r||0!==i){const e=r*c,t=r*h,s=i*d,a=i*p;f+=s;v+=s;u+=a;_+=a;m+=e;P+=e;F+=t;g+=t}s[0]=Math.min(s[0],f,u,Math.min(_,v));s[1]=Math.min(s[1],m,F,Math.min(g,P));s[2]=Math.max(s[2],f,u,Math.max(_,v));s[3]=Math.max(s[3],m,F,Math.max(g,P))}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e,t){const s=e[0],a=e[1],r=e[2],i=e[3],n=s**2+a**2,o=s*r+a*i,l=r**2+i**2,c=(n+l)/2,d=Math.sqrt(c**2-(n*l-o**2));t[0]=Math.sqrt(c+d||1);t[1]=Math.sqrt(c-d||1)}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const s=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),a=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(s>a)return null;const r=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),i=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return r>i?null:[s,r,a,i]}static pointBoundingBox(e,t,s){s[0]=Math.min(s[0],e);s[1]=Math.min(s[1],t);s[2]=Math.max(s[2],e);s[3]=Math.max(s[3],t)}static rectBoundingBox(e,t,s,a,r){r[0]=Math.min(r[0],e,s);r[1]=Math.min(r[1],t,a);r[2]=Math.max(r[2],e,s);r[3]=Math.max(r[3],t,a)}static bezierBoundingBox(e,t,s,a,r,i,n,o,l){l[0]=Math.min(l[0],e,n);l[1]=Math.min(l[1],t,o);l[2]=Math.max(l[2],e,n);l[3]=Math.max(l[3],t,o);_assertClassBrand(Util,this,_getExtremum).call(this,e,s,r,n,t,a,i,o,3*(3*(s-r)-e+n),6*(e-2*s+r),3*(s-e),l);_assertClassBrand(Util,this,_getExtremum).call(this,e,s,r,n,t,a,i,o,3*(3*(a-i)-t+o),6*(t-2*a+i),3*(a-t),l)}}e=Util;function _getExtremumOnCurve(e,t,s,a,r,i,n,o,l,c){if(l<=0||l>=1)return;const d=1-l,h=l*l,p=h*l,f=d*(d*(d*e+3*l*t)+3*h*s)+p*a,_=d*(d*(d*r+3*l*i)+3*h*n)+p*o;c[0]=Math.min(c[0],f);c[1]=Math.min(c[1],_);c[2]=Math.max(c[2],f);c[3]=Math.max(c[3],_)}function _getExtremum(t,s,a,r,i,n,o,l,c,d,h,p){if(Math.abs(c)<1e-12){Math.abs(d)>=1e-12&&_assertClassBrand(e,this,_getExtremumOnCurve).call(this,t,s,a,r,i,n,o,l,-h/d,p);return}const f=d**2-4*h*c;if(f<0)return;const _=Math.sqrt(f),u=2*c;_assertClassBrand(e,this,_getExtremumOnCurve).call(this,t,s,a,r,i,n,o,l,(-d+_)/u,p);_assertClassBrand(e,this,_getExtremumOnCurve).call(this,t,s,a,r,i,n,o,l,(-d-_)/u,p)}const makeArr=()=>[],makeMap=()=>new Map;"function"!=typeof Iterator.prototype.join&&(Iterator.prototype.join=function(e){return[...this].join(e)});var S;function display_utils_defineProperty(e,t,s){return(t=function display_utils_toPropertyKey(e){var t=function display_utils_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class PixelsPerInch{}S=PixelsPerInch;display_utils_defineProperty(PixelsPerInch,"CSS",96);display_utils_defineProperty(PixelsPerInch,"PDF",72);display_utils_defineProperty(PixelsPerInch,"PDF_TO_CSS_UNITS",S.CSS/S.PDF);function getRGBA(e){if(e.startsWith("#")){const t=e.slice(1);return[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),t.length>=8?parseInt(t.slice(6,8),16)/255:1]}if(e.startsWith("rgb(")){const[t,s,a]=e.slice(4,-1).split(",").map(e=>parseInt(e,10));return[t,s,a,1]}if(e.startsWith("rgba(")){const t=e.slice(5,-1).split(",");return[parseInt(t[0],10),parseInt(t[1],10),parseInt(t[2],10),parseFloat(t[3])]}const t=e.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);return t?[Math.round(255*parseFloat(t[1])),Math.round(255*parseFloat(t[2])),Math.round(255*parseFloat(t[3])),void 0!==t[4]&&"none"!==t[4]?parseFloat(t[4]):1]:null}function getCurrentTransform(e){const{a:t,b:s,c:a,d:r,e:i,f:n}=e.getTransform();return[t,s,a,r,i,n]}function getCurrentTransformInverse(e){const{a:t,b:s,c:a,d:r,e:i,f:n}=e.getTransform().invertSelf();return[t,s,a,r,i,n]}class OutputScale{constructor(){const{pixelRatio:e}=OutputScale;this.sx=e;this.sy=e}get scaled(){return 1!==this.sx||1!==this.sy}get symmetric(){return this.sx===this.sy}limitCanvas(e,t,s,a,r=-1){return!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(e,t){return e}}new Map;function makePathFromDrawOPS(e){const t=new Path2D;if(!e)return t;for(let s=0,a=e.length;s<a;)switch(e[s++]){case F:t.moveTo(e[s++],e[s++]);break;case P:t.lineTo(e[s++],e[s++]);break;case y:t.bezierCurveTo(e[s++],e[s++],e[s++],e[s++],e[s++],e[s++]);break;case b:t.quadraticCurveTo(e[s++],e[s++],e[s++],e[s++]);break;case k:t.closePath();break;default:warn(`Unrecognized drawing path operator: ${e[s-1]}`)}return t}function math_clamp_MathClamp(e,t,s){return Math.min(Math.max(e,t),s)}function canvas_dependency_tracker_defineProperty(e,t,s){return(t=function canvas_dependency_tracker_toPropertyKey(e){var t=function canvas_dependency_tracker_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function _classPrivateFieldInitSpec(e,t,s){_checkPrivateRedeclaration(e,t),t.set(e,s)}function _checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function _classPrivateFieldGet(e,t){return e.get(canvas_dependency_tracker_assertClassBrand(e,t))}function _classPrivateFieldSet(e,t,s){return e.set(canvas_dependency_tracker_assertClassBrand(e,t),s),s}function canvas_dependency_tracker_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}const w="__forcedDependency",{floor:M,ceil:B}=Math;function expandBBox(e,t,s,a,r,i){e[4*t+0]=Math.min(e[4*t+0],s);e[4*t+1]=Math.min(e[4*t+1],a);e[4*t+2]=Math.max(e[4*t+2],r);e[4*t+3]=Math.max(e[4*t+3],i)}const T=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];var G=new WeakMap,I=new WeakMap;class BBoxReader{constructor(e,t){_classPrivateFieldInitSpec(this,G,void 0);_classPrivateFieldInitSpec(this,I,void 0);_classPrivateFieldSet(G,this,e);_classPrivateFieldSet(I,this,t)}static fromBuffer(e){return new BBoxReader(new Uint32Array(e),new Uint8ClampedArray(e))}get buffer(){return _classPrivateFieldGet(G,this).buffer}get length(){return _classPrivateFieldGet(G,this).length}isEmpty(e){return _classPrivateFieldGet(G,this)[e]===T}minX(e){return _classPrivateFieldGet(I,this)[4*e+0]/256}minY(e){return _classPrivateFieldGet(I,this)[4*e+1]/256}maxX(e){return(_classPrivateFieldGet(I,this)[4*e+2]+1)/256}maxY(e){return(_classPrivateFieldGet(I,this)[4*e+3]+1)/256}}const ensureDebugMetadata=(e,t)=>e?.getOrInsertComputed(t,()=>({dependencies:new Set,isRenderingOperation:!1}));var O=new WeakMap,D=new WeakMap,A=new WeakMap,E=new WeakMap,j=new WeakMap,N=new WeakMap,R=new WeakMap,W=new WeakSet;class CanvasBBoxTracker{constructor(e,t){!function _classPrivateMethodInitSpec(e,t){_checkPrivateRedeclaration(e,t),t.add(e)}(this,W);_classPrivateFieldInitSpec(this,O,[[1,0,0,1,0,0]]);_classPrivateFieldInitSpec(this,D,[-1/0,-1/0,1/0,1/0]);_classPrivateFieldInitSpec(this,A,new Float64Array(s));canvas_dependency_tracker_defineProperty(this,"_pendingBBoxIdx",-1);_classPrivateFieldInitSpec(this,E,void 0);_classPrivateFieldInitSpec(this,j,void 0);_classPrivateFieldInitSpec(this,N,void 0);_classPrivateFieldInitSpec(this,R,void 0);canvas_dependency_tracker_defineProperty(this,"_savesStack",[]);canvas_dependency_tracker_defineProperty(this,"_markedContentStack",[]);_classPrivateFieldSet(E,this,e.width);_classPrivateFieldSet(j,this,e.height);canvas_dependency_tracker_assertClassBrand(W,this,_initializeBBoxes).call(this,t)}growOperationsCount(e){e>=_classPrivateFieldGet(R,this).length&&canvas_dependency_tracker_assertClassBrand(W,this,_initializeBBoxes).call(this,e,_classPrivateFieldGet(R,this))}get clipBox(){return _classPrivateFieldGet(D,this)}save(e){_classPrivateFieldSet(D,this,{__proto__:_classPrivateFieldGet(D,this)});this._savesStack.push(e);return this}restore(e,t){const s=Object.getPrototypeOf(_classPrivateFieldGet(D,this));if(null===s)return this;_classPrivateFieldSet(D,this,s);const a=this._savesStack.pop();if(void 0!==a){t?.(a,e);_classPrivateFieldGet(R,this)[e]=_classPrivateFieldGet(R,this)[a]}return this}recordOpenMarker(e){this._savesStack.push(e);return this}getOpenMarker(){return 0===this._savesStack.length?null:this._savesStack.at(-1)}recordCloseMarker(e,t){const s=this._savesStack.pop();if(void 0!==s){t?.(s,e);_classPrivateFieldGet(R,this)[e]=_classPrivateFieldGet(R,this)[s]}return this}beginMarkedContent(e){this._markedContentStack.push(e);return this}endMarkedContent(e,t){const s=this._markedContentStack.pop();if(void 0!==s){t?.(s,e);_classPrivateFieldGet(R,this)[e]=_classPrivateFieldGet(R,this)[s]}return this}pushBaseTransform(e){_classPrivateFieldGet(O,this).push(Util.multiplyByDOMMatrix(_classPrivateFieldGet(O,this).at(-1),e.getTransform()));return this}popBaseTransform(){_classPrivateFieldGet(O,this).length>1&&_classPrivateFieldGet(O,this).pop();return this}resetBBox(e){if(this._pendingBBoxIdx!==e){this._pendingBBoxIdx=e;_classPrivateFieldGet(A,this).set(s,0)}return this}recordClipBox(e,t,a,r,i,n){const o=Util.multiplyByDOMMatrix(_classPrivateFieldGet(O,this).at(-1),t.getTransform()),l=s.slice();Util.axialAlignedBoundingBox([a,i,r,n],o,l);const c=Util.intersect(_classPrivateFieldGet(D,this),l);if(c){_classPrivateFieldGet(D,this)[0]=c[0];_classPrivateFieldGet(D,this)[1]=c[1];_classPrivateFieldGet(D,this)[2]=c[2];_classPrivateFieldGet(D,this)[3]=c[3]}else{_classPrivateFieldGet(D,this)[0]=_classPrivateFieldGet(D,this)[1]=1/0;_classPrivateFieldGet(D,this)[2]=_classPrivateFieldGet(D,this)[3]=-1/0}return this}recordBBox(e,t,a,r,i,n){const o=_classPrivateFieldGet(D,this);if(o[0]===1/0)return this;const l=Util.multiplyByDOMMatrix(_classPrivateFieldGet(O,this).at(-1),t.getTransform());if(o[0]===-1/0){Util.axialAlignedBoundingBox([a,i,r,n],l,_classPrivateFieldGet(A,this));return this}const c=s.slice();Util.axialAlignedBoundingBox([a,i,r,n],l,c);_classPrivateFieldGet(A,this)[0]=math_clamp_MathClamp(c[0],o[0],_classPrivateFieldGet(A,this)[0]);_classPrivateFieldGet(A,this)[1]=math_clamp_MathClamp(c[1],o[1],_classPrivateFieldGet(A,this)[1]);_classPrivateFieldGet(A,this)[2]=math_clamp_MathClamp(c[2],_classPrivateFieldGet(A,this)[2],o[2]);_classPrivateFieldGet(A,this)[3]=math_clamp_MathClamp(c[3],_classPrivateFieldGet(A,this)[3],o[3]);return this}recordFullPageBBox(e){_classPrivateFieldGet(A,this)[0]=Math.max(0,_classPrivateFieldGet(D,this)[0]);_classPrivateFieldGet(A,this)[1]=Math.max(0,_classPrivateFieldGet(D,this)[1]);_classPrivateFieldGet(A,this)[2]=Math.min(_classPrivateFieldGet(E,this),_classPrivateFieldGet(D,this)[2]);_classPrivateFieldGet(A,this)[3]=Math.min(_classPrivateFieldGet(j,this),_classPrivateFieldGet(D,this)[3]);return this}recordOperation(e,t=!1,s){if(this._pendingBBoxIdx!==e)return this;const a=M(256*_classPrivateFieldGet(A,this)[0]/_classPrivateFieldGet(E,this)),r=M(256*_classPrivateFieldGet(A,this)[1]/_classPrivateFieldGet(j,this)),i=B(256*_classPrivateFieldGet(A,this)[2]/_classPrivateFieldGet(E,this)),n=B(256*_classPrivateFieldGet(A,this)[3]/_classPrivateFieldGet(j,this));expandBBox(_classPrivateFieldGet(N,this),e,a,r,i,n);if(s)for(const t of s)for(const s of t)s!==e&&expandBBox(_classPrivateFieldGet(N,this),s,a,r,i,n);t||(this._pendingBBoxIdx=-1);return this}bboxToClipBoxDropOperation(e){if(this._pendingBBoxIdx===e){this._pendingBBoxIdx=-1;_classPrivateFieldGet(D,this)[0]=Math.max(_classPrivateFieldGet(D,this)[0],_classPrivateFieldGet(A,this)[0]);_classPrivateFieldGet(D,this)[1]=Math.max(_classPrivateFieldGet(D,this)[1],_classPrivateFieldGet(A,this)[1]);_classPrivateFieldGet(D,this)[2]=Math.min(_classPrivateFieldGet(D,this)[2],_classPrivateFieldGet(A,this)[2]);_classPrivateFieldGet(D,this)[3]=Math.min(_classPrivateFieldGet(D,this)[3],_classPrivateFieldGet(A,this)[3])}return this}take(){return new BBoxReader(_classPrivateFieldGet(R,this),_classPrivateFieldGet(N,this))}takeDebugMetadata(){throw new Error("Unreachable")}recordSimpleData(e,t){return this}recordIncrementalData(e,t){return this}resetIncrementalData(e,t){return this}recordNamedData(e,t){return this}recordSimpleDataFromNamed(e,t,s){return this}recordFutureForcedDependency(e,t){return this}inheritSimpleDataAsFutureForcedDependencies(e){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(e,t,s,a=1,r=0,i=0,n){return this}getSimpleIndex(e){}recordDependencies(e,t){return this}recordNamedDependency(e,t){return this}recordShowTextOperation(e,t=!1){return this}}function _initializeBBoxes(e,t){const s=new ArrayBuffer(4*e);_classPrivateFieldSet(N,this,new Uint8ClampedArray(s));_classPrivateFieldSet(R,this,new Uint32Array(s));if(t&&t.length>0){_classPrivateFieldGet(R,this).set(t);_classPrivateFieldGet(R,this).fill(T,t.length)}else _classPrivateFieldGet(R,this).fill(T)}var L=new WeakMap,U=new WeakMap,X=new WeakMap,z=new WeakMap,V=new WeakMap,Y=new WeakMap,K=new WeakMap,$=new WeakMap;class CanvasDependencyTracker{constructor(e,t=!1){_classPrivateFieldInitSpec(this,L,{__proto__:null});_classPrivateFieldInitSpec(this,U,{__proto__:null,transform:[],moveText:[],sameLineText:[],[w]:[]});_classPrivateFieldInitSpec(this,X,new Map);_classPrivateFieldInitSpec(this,z,new Set);_classPrivateFieldInitSpec(this,V,new Map);_classPrivateFieldInitSpec(this,Y,void 0);_classPrivateFieldInitSpec(this,K,void 0);_classPrivateFieldInitSpec(this,$,void 0);_classPrivateFieldSet($,this,e);if(t){_classPrivateFieldSet(Y,this,new Map);_classPrivateFieldSet(K,this,(e,t)=>{ensureDebugMetadata(_classPrivateFieldGet(Y,this),t).dependencies.add(e)})}}get clipBox(){return _classPrivateFieldGet($,this).clipBox}growOperationsCount(e){_classPrivateFieldGet($,this).growOperationsCount(e)}save(e){_classPrivateFieldSet(L,this,{__proto__:_classPrivateFieldGet(L,this)});_classPrivateFieldSet(U,this,{__proto__:_classPrivateFieldGet(U,this),transform:{__proto__:_classPrivateFieldGet(U,this).transform},moveText:{__proto__:_classPrivateFieldGet(U,this).moveText},sameLineText:{__proto__:_classPrivateFieldGet(U,this).sameLineText},[w]:{__proto__:_classPrivateFieldGet(U,this)[w]}});_classPrivateFieldGet($,this).save(e);return this}restore(e){_classPrivateFieldGet($,this).restore(e,_classPrivateFieldGet(K,this));const t=Object.getPrototypeOf(_classPrivateFieldGet(L,this));if(null===t)return this;_classPrivateFieldSet(L,this,t);_classPrivateFieldSet(U,this,Object.getPrototypeOf(_classPrivateFieldGet(U,this)));return this}recordOpenMarker(e){_classPrivateFieldGet($,this).recordOpenMarker(e,_classPrivateFieldGet(K,this));return this}getOpenMarker(){return _classPrivateFieldGet($,this).getOpenMarker()}recordCloseMarker(e){_classPrivateFieldGet($,this).recordCloseMarker(e,_classPrivateFieldGet(K,this));return this}beginMarkedContent(e){_classPrivateFieldGet($,this).beginMarkedContent(e);return this}endMarkedContent(e){_classPrivateFieldGet($,this).endMarkedContent(e,_classPrivateFieldGet(K,this));return this}pushBaseTransform(e){_classPrivateFieldGet($,this).pushBaseTransform(e);return this}popBaseTransform(){_classPrivateFieldGet($,this).popBaseTransform();return this}recordSimpleData(e,t){_classPrivateFieldGet(L,this)[e]=t;return this}recordIncrementalData(e,t){_classPrivateFieldGet(U,this)[e].push(t);return this}resetIncrementalData(e,t){_classPrivateFieldGet(U,this)[e].length=0;return this}recordNamedData(e,t){_classPrivateFieldGet(X,this).set(e,t);return this}recordSimpleDataFromNamed(e,t,s){_classPrivateFieldGet(L,this)[e]=_classPrivateFieldGet(X,this).get(t)??s}recordFutureForcedDependency(e,t){this.recordIncrementalData(w,t);return this}inheritSimpleDataAsFutureForcedDependencies(e){for(const t of e)t in _classPrivateFieldGet(L,this)&&this.recordFutureForcedDependency(t,_classPrivateFieldGet(L,this)[t]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(const e of _classPrivateFieldGet(z,this))this.recordFutureForcedDependency(w,e);return this}resetBBox(e){_classPrivateFieldGet($,this).resetBBox(e);return this}recordClipBox(e,t,s,a,r,i){_classPrivateFieldGet($,this).recordClipBox(e,t,s,a,r,i);return this}recordBBox(e,t,s,a,r,i){_classPrivateFieldGet($,this).recordBBox(e,t,s,a,r,i);return this}recordCharacterBBox(e,t,s,a=1,r=0,i=0,n){const o=s.bbox;let l,c;if(o){l=o[2]!==o[0]&&o[3]!==o[1]&&_classPrivateFieldGet(V,this).get(s);if(!1!==l){c=[0,0,0,0];Util.axialAlignedBoundingBox(o,s.fontMatrix,c);1===a&&0===r&&0===i||function scaleCharBBox(e,t,s,a,r){let i;if(e){if(e<0){i=r[0];r[0]=r[2];r[2]=i}r[0]*=e;r[2]*=e;if(t<0){i=r[1];r[1]=r[3];r[3]=i}r[1]*=t;r[3]*=t}else r.fill(0);r[0]+=s;r[1]+=a;r[2]+=s;r[3]+=a}(a,-a,r,i,c);if(l)return this.recordBBox(e,t,c[0],c[2],c[1],c[3])}}if(!n)return this.recordFullPageBBox(e);const d=n();if(o&&c&&void 0===l){l=c[0]<=r-d.actualBoundingBoxLeft&&c[2]>=r+d.actualBoundingBoxRight&&c[1]<=i-d.actualBoundingBoxAscent&&c[3]>=i+d.actualBoundingBoxDescent;_classPrivateFieldGet(V,this).set(s,l);if(l)return this.recordBBox(e,t,c[0],c[2],c[1],c[3])}return this.recordBBox(e,t,r-d.actualBoundingBoxLeft,r+d.actualBoundingBoxRight,i-d.actualBoundingBoxAscent,i+d.actualBoundingBoxDescent)}recordFullPageBBox(e){_classPrivateFieldGet($,this).recordFullPageBBox(e);return this}getSimpleIndex(e){return _classPrivateFieldGet(L,this)[e]}recordDependencies(e,t){const s=_classPrivateFieldGet(z,this),a=_classPrivateFieldGet(L,this),r=_classPrivateFieldGet(U,this);for(const e of t)e in _classPrivateFieldGet(L,this)?s.add(a[e]):e in r&&r[e].forEach(s.add,s);return this}recordNamedDependency(e,t){_classPrivateFieldGet(X,this).has(t)&&_classPrivateFieldGet(z,this).add(_classPrivateFieldGet(X,this).get(t));return this}recordOperation(e,t=!1){this.recordDependencies(e,[w]);if(_classPrivateFieldGet(Y,this)){const t=ensureDebugMetadata(_classPrivateFieldGet(Y,this),e),{dependencies:s}=t;_classPrivateFieldGet(z,this).forEach(s.add,s);_classPrivateFieldGet($,this)._savesStack.forEach(s.add,s);_classPrivateFieldGet($,this)._markedContentStack.forEach(s.add,s);s.delete(e);t.isRenderingOperation=!0}const s=!t&&e===_classPrivateFieldGet($,this)._pendingBBoxIdx;_classPrivateFieldGet($,this).recordOperation(e,t,[_classPrivateFieldGet(z,this),_classPrivateFieldGet($,this)._savesStack,_classPrivateFieldGet($,this)._markedContentStack]);s&&_classPrivateFieldGet(z,this).clear();return this}recordShowTextOperation(e,t=!1){const s=Array.from(_classPrivateFieldGet(z,this));this.recordOperation(e,t);this.recordIncrementalData("sameLineText",e);for(const e of s)this.recordIncrementalData("sameLineText",e);return this}bboxToClipBoxDropOperation(e,t=!1){const s=!t&&e===_classPrivateFieldGet($,this)._pendingBBoxIdx;_classPrivateFieldGet($,this).bboxToClipBoxDropOperation(e);s&&_classPrivateFieldGet(z,this).clear();return this}take(){_classPrivateFieldGet(V,this).clear();return _classPrivateFieldGet($,this).take()}takeDebugMetadata(){return _classPrivateFieldGet(Y,this)}}var H=new WeakMap,q=new WeakMap,J=new WeakMap,Z=new WeakMap,Q=new WeakMap;class CanvasNestedDependencyTracker{constructor(e,t,s){_classPrivateFieldInitSpec(this,H,void 0);_classPrivateFieldInitSpec(this,q,void 0);_classPrivateFieldInitSpec(this,J,void 0);_classPrivateFieldInitSpec(this,Z,0);_classPrivateFieldInitSpec(this,Q,0);if(e instanceof CanvasNestedDependencyTracker&&_classPrivateFieldGet(J,e)===!!s)return e;_classPrivateFieldSet(H,this,e);_classPrivateFieldSet(q,this,t);_classPrivateFieldSet(J,this,!!s)}get clipBox(){return _classPrivateFieldGet(H,this).clipBox}growOperationsCount(){throw new Error("Unreachable")}save(e){var t;_classPrivateFieldSet(Q,this,(t=_classPrivateFieldGet(Q,this),t++,t));_classPrivateFieldGet(H,this).save(_classPrivateFieldGet(q,this));return this}restore(e){if(_classPrivateFieldGet(Q,this)>0){var t;_classPrivateFieldGet(H,this).restore(_classPrivateFieldGet(q,this));_classPrivateFieldSet(Q,this,(t=_classPrivateFieldGet(Q,this),t--,t))}return this}recordOpenMarker(e){var t;_classPrivateFieldSet(Z,this,(t=_classPrivateFieldGet(Z,this),t++,t));return this}getOpenMarker(){return _classPrivateFieldGet(Z,this)>0?_classPrivateFieldGet(q,this):_classPrivateFieldGet(H,this).getOpenMarker()}recordCloseMarker(e){var t;_classPrivateFieldSet(Z,this,(t=_classPrivateFieldGet(Z,this),t--,t));return this}beginMarkedContent(e){return this}endMarkedContent(e){return this}pushBaseTransform(e){_classPrivateFieldGet(H,this).pushBaseTransform(e);return this}popBaseTransform(){_classPrivateFieldGet(H,this).popBaseTransform();return this}recordSimpleData(e,t){_classPrivateFieldGet(H,this).recordSimpleData(e,_classPrivateFieldGet(q,this));return this}recordIncrementalData(e,t){_classPrivateFieldGet(H,this).recordIncrementalData(e,_classPrivateFieldGet(q,this));return this}resetIncrementalData(e,t){_classPrivateFieldGet(H,this).resetIncrementalData(e,_classPrivateFieldGet(q,this));return this}recordNamedData(e,t){return this}recordSimpleDataFromNamed(e,t,s){_classPrivateFieldGet(H,this).recordSimpleDataFromNamed(e,t,_classPrivateFieldGet(q,this));return this}recordFutureForcedDependency(e,t){_classPrivateFieldGet(H,this).recordFutureForcedDependency(e,_classPrivateFieldGet(q,this));return this}inheritSimpleDataAsFutureForcedDependencies(e){_classPrivateFieldGet(H,this).inheritSimpleDataAsFutureForcedDependencies(e);return this}inheritPendingDependenciesAsFutureForcedDependencies(){_classPrivateFieldGet(H,this).inheritPendingDependenciesAsFutureForcedDependencies();return this}resetBBox(e){_classPrivateFieldGet(J,this)||_classPrivateFieldGet(H,this).resetBBox(_classPrivateFieldGet(q,this));return this}recordClipBox(e,t,s,a,r,i){_classPrivateFieldGet(J,this)||_classPrivateFieldGet(H,this).recordClipBox(_classPrivateFieldGet(q,this),t,s,a,r,i);return this}recordBBox(e,t,s,a,r,i){_classPrivateFieldGet(J,this)||_classPrivateFieldGet(H,this).recordBBox(_classPrivateFieldGet(q,this),t,s,a,r,i);return this}recordCharacterBBox(e,t,s,a,r,i,n){_classPrivateFieldGet(J,this)||_classPrivateFieldGet(H,this).recordCharacterBBox(_classPrivateFieldGet(q,this),t,s,a,r,i,n);return this}recordFullPageBBox(e){_classPrivateFieldGet(J,this)||_classPrivateFieldGet(H,this).recordFullPageBBox(_classPrivateFieldGet(q,this));return this}getSimpleIndex(e){return _classPrivateFieldGet(H,this).getSimpleIndex(e)}recordDependencies(e,t){_classPrivateFieldGet(H,this).recordDependencies(_classPrivateFieldGet(q,this),t);return this}recordNamedDependency(e,t){_classPrivateFieldGet(H,this).recordNamedDependency(_classPrivateFieldGet(q,this),t);return this}recordOperation(e){_classPrivateFieldGet(H,this).recordOperation(_classPrivateFieldGet(q,this),!0);return this}recordShowTextOperation(e){_classPrivateFieldGet(H,this).recordShowTextOperation(_classPrivateFieldGet(q,this),!0);return this}bboxToClipBoxDropOperation(e){_classPrivateFieldGet(J,this)||_classPrivateFieldGet(H,this).bboxToClipBoxDropOperation(_classPrivateFieldGet(q,this),!0);return this}take(){throw new Error("Unreachable")}takeDebugMetadata(){throw new Error("Unreachable")}}const ee=["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],te=["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],se=["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],ae=["filter","fillColor","fillAlpha"],re=["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],ie=["transform"],ne=["transform","filter","fillColor"];var oe=new WeakMap,le=new WeakMap,ce=new WeakMap,de=new WeakMap,he=new WeakMap;class CanvasImagesTracker{constructor(e){_classPrivateFieldInitSpec(this,oe,void 0);_classPrivateFieldInitSpec(this,le,void 0);_classPrivateFieldInitSpec(this,ce,4);_classPrivateFieldInitSpec(this,de,0);_classPrivateFieldInitSpec(this,he,new pe._(6*_classPrivateFieldGet(ce,this)));_classPrivateFieldSet(oe,this,e.width);_classPrivateFieldSet(le,this,e.height)}record(e,t,a,r){var i;if(_classPrivateFieldGet(de,this)===_classPrivateFieldGet(ce,this)){_classPrivateFieldSet(ce,this,2*_classPrivateFieldGet(ce,this));const e=new pe._(6*_classPrivateFieldGet(ce,this));e.set(_classPrivateFieldGet(he,this));_classPrivateFieldSet(he,this,e)}const n=getCurrentTransform(e);let o;if(r[0]!==1/0){const e=s.slice();Util.axialAlignedBoundingBox([0,-a,t,0],n,e);const i=Util.intersect(r,e);if(!i)return;const[l,c,d,h]=i;if(l!==e[0]||c!==e[1]||d!==e[2]||h!==e[3]){const e=Math.atan2(n[1],n[0]),t=Math.abs(Math.sin(e)),s=Math.abs(Math.cos(e));if(t<1e-6||s<1e-6||Math.abs(t-s)<1e-6)o=[l,c,l,h,d,c];else{const e=d-l,a=h-c,r=t*t,i=s*s,n=s*t,p=i-r,f=(a*i-e*n)/p;o=[l+(a*n-e*r)/p,c,l,c+f,d,h-f]}}}if(!o){o=[0,-a,0,0,t,-a];Util.applyTransform(o,n,0);Util.applyTransform(o,n,2);Util.applyTransform(o,n,4)}o[0]/=_classPrivateFieldGet(oe,this);o[1]/=_classPrivateFieldGet(le,this);o[2]/=_classPrivateFieldGet(oe,this);o[3]/=_classPrivateFieldGet(le,this);o[4]/=_classPrivateFieldGet(oe,this);o[5]/=_classPrivateFieldGet(le,this);_classPrivateFieldGet(he,this).set(o,6*_classPrivateFieldGet(de,this));_classPrivateFieldSet(de,this,(i=_classPrivateFieldGet(de,this),i++,i))}take(){return _classPrivateFieldGet(he,this).subarray(0,6*_classPrivateFieldGet(de,this))}}var pe={_:FeatureTest.isFloat16ArraySupported?Float16Array:Float32Array};function convertBlackAndWhiteToRGBA({src:e,srcPos:t=0,dest:s,width:a,height:r,nonBlackColor:i=4294967295,inverseDecode:n=!1}){const o=FeatureTest.isLittleEndian?4278190080:255,[l,c]=n?[i,o]:[o,i],d=a>>3,h=7&a,p=l^c,f=e.length;s=new Uint32Array(s.buffer);let _=0;for(let a=0;a<r;++a){for(const a=t+d;t<a;++t,_+=8){const a=e[t];s[_]=l^-(a>>7&1)&p;s[_+1]=l^-(a>>6&1)&p;s[_+2]=l^-(a>>5&1)&p;s[_+3]=l^-(a>>4&1)&p;s[_+4]=l^-(a>>3&1)&p;s[_+5]=l^-(a>>2&1)&p;s[_+6]=l^-(a>>1&1)&p;s[_+7]=l^-(1&a)&p}if(0===h)continue;const a=t<f?e[t++]:255;for(let e=0;e<h;++e,++_)s[_]=l^-(a>>7-e&1)&p}return{srcPos:t,destPos:_}}function convertRGBToRGBA({src:e,srcPos:t=0,dest:s,destPos:a=0,width:r,height:i}){let n=0;const o=r*i*3,l=e.byteOffset+t,c=l%4==0?Math.floor(math_clamp_MathClamp(e.length-t,0,o)/4):0,d=c>0?new Uint32Array(e.buffer,l,c):null,h=FeatureTest.isLittleEndian?4278190080:255;if(FeatureTest.isLittleEndian){for(;n<c-2;n+=3,a+=4){const e=d[n],t=d[n+1],r=d[n+2];s[a]=e|h;s[a+1]=e>>>24|t<<8|h;s[a+2]=t>>>16|r<<16|h;s[a+3]=r>>>8|h}for(let r=t+4*n,i=t+o;r<i;r+=3)s[a++]=e[r]|e[r+1]<<8|e[r+2]<<16|h}else{for(;n<c-2;n+=3,a+=4){const e=d[n],t=d[n+1],r=d[n+2];s[a]=e|h;s[a+1]=e<<24|t>>>8|h;s[a+2]=t<<16|r>>>16|h;s[a+3]=r<<8|h}for(let r=t+4*n,i=t+o;r<i;r+=3)s[a++]=e[r]<<24|e[r+1]<<16|e[r+2]<<8|h}return{srcPos:t+o,destPos:a}}function webgpu_classPrivateFieldInitSpec(e,t,s){webgpu_checkPrivateRedeclaration(e,t),t.set(e,s)}function webgpu_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function webgpu_classPrivateFieldGet(e,t){return e.get(webgpu_assertClassBrand(e,t))}function webgpu_classPrivateFieldSet(e,t,s){return e.set(webgpu_assertClassBrand(e,t),s),s}function webgpu_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}var fe=new WeakMap,_e=new WeakMap,ue=new WeakMap,ve=new WeakMap,me=new WeakSet;async function _initGPU(){if(!globalThis.navigator?.gpu)return!1;try{const e=await navigator.gpu.requestAdapter();if(!e)return!1;webgpu_classPrivateFieldSet(ve,this,navigator.gpu.getPreferredCanvasFormat());webgpu_classPrivateFieldSet(_e,this,await e.requestDevice());return!0}catch{return!1}}const ge=new class WebGPU{constructor(){!function webgpu_classPrivateMethodInitSpec(e,t){webgpu_checkPrivateRedeclaration(e,t),t.add(e)}(this,me);webgpu_classPrivateFieldInitSpec(this,fe,null);webgpu_classPrivateFieldInitSpec(this,_e,null);webgpu_classPrivateFieldInitSpec(this,ue,null);webgpu_classPrivateFieldInitSpec(this,ve,null)}init(){return webgpu_classPrivateFieldGet(fe,this)||webgpu_classPrivateFieldSet(fe,this,webgpu_assertClassBrand(me,this,_initGPU).call(this))}get isReady(){return null!==webgpu_classPrivateFieldGet(_e,this)}loadMeshShader(){if(!webgpu_classPrivateFieldGet(_e,this)||webgpu_classPrivateFieldGet(ue,this))return;const e=webgpu_classPrivateFieldGet(_e,this).createShaderModule({code:"\nstruct Uniforms {\n offsetX : f32,\n offsetY : f32,\n scaleX : f32,\n scaleY : f32,\n paddedWidth : f32,\n paddedHeight : f32,\n borderSize : f32,\n _pad : f32,\n};\n\n@group(0) @binding(0) var<uniform> u : Uniforms;\n\nstruct VertexInput {\n @location(0) position : vec2<f32>,\n @location(1) color : vec4<f32>,\n};\n\nstruct VertexOutput {\n @builtin(position) position : vec4<f32>,\n @location(0) color : vec3<f32>,\n};\n\n@vertex\nfn vs_main(in : VertexInput) -> VertexOutput {\n var out : VertexOutput;\n let cx = (in.position.x + u.offsetX) * u.scaleX;\n let cy = (in.position.y + u.offsetY) * u.scaleY;\n out.position = vec4<f32>(\n ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,\n 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,\n 0.0,\n 1.0\n );\n out.color = in.color.rgb;\n return out;\n}\n\n@fragment\nfn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {\n return vec4<f32>(in.color, 1.0);\n}\n"});webgpu_classPrivateFieldSet(ue,this,webgpu_classPrivateFieldGet(_e,this).createRenderPipeline({layout:"auto",vertex:{module:e,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:e,entryPoint:"fs_main",targets:[{format:webgpu_classPrivateFieldGet(ve,this)}]},primitive:{topology:"triangle-list"}}))}draw(e,t,s,a,r,i,n,o){this.loadMeshShader();const l=webgpu_classPrivateFieldGet(_e,this),{offsetX:c,offsetY:d,scaleX:h,scaleY:p}=a,f=l.createBuffer({size:Math.max(e.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});e.byteLength>0&&l.queue.writeBuffer(f,0,e);const _=l.createBuffer({size:Math.max(t.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});t.byteLength>0&&l.queue.writeBuffer(_,0,t);const u=l.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});l.queue.writeBuffer(u,0,new Float32Array([c,d,h,p,i,n,o,0]));const v=l.createBindGroup({layout:webgpu_classPrivateFieldGet(ue,this).getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:u}}]}),m=new OffscreenCanvas(i,n),g=m.getContext("webgpu");g.configure({device:l,format:webgpu_classPrivateFieldGet(ve,this),alphaMode:r?"opaque":"premultiplied"});const F=r?{r:r[0]/255,g:r[1]/255,b:r[2]/255,a:1}:{r:0,g:0,b:0,a:0},P=l.createCommandEncoder(),y=P.beginRenderPass({colorAttachments:[{view:g.getCurrentTexture().createView(),clearValue:F,loadOp:"clear",storeOp:"store"}]});if(s>0){y.setPipeline(webgpu_classPrivateFieldGet(ue,this));y.setBindGroup(0,v);y.setVertexBuffer(0,f);y.setVertexBuffer(1,_);y.draw(s)}y.end();l.queue.submit([P.finish()]);f.destroy();_.destroy();u.destroy();return m.transferToImageBitmap()}};function initGPU(){return ge.init()}function isGPUReady(){return ge.isReady}function pattern_helper_defineProperty(e,t,s){return(t=function pattern_helper_toPropertyKey(e){var t=function pattern_helper_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Fe="Fill",Pe="Stroke",ye="Shading";function applyBoundingBox(e,t){if(!t)return;const s=t[2]-t[0],a=t[3]-t[1],r=new Path2D;r.rect(t[0],t[1],s,a);e.clip(r)}class BaseShadingPattern{constructor(){pattern_helper_defineProperty(this,"matrix",null)}isModifyingCurrentTransform(){return!1}getPattern(){unreachable("Abstract method `getPattern` called.")}}class RadialAxialShadingPattern extends BaseShadingPattern{constructor(e){super();this._type=e[1];this._bbox=e[2];this._colorStops=e[3];this._p0=e[4];this._p1=e[5];this._r0=e[6];this._r1=e[7]}isOriginBased(){return 0===this._p0[0]&&0===this._p0[1]&&(!this.isRadial()||0===this._p1[0]&&0===this._p1[1])}isRadial(){return"radial"===this._type}areConic(){if(!this.isRadial())return!1;const e=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return e+this._r1>this._r0&&e+this._r0>this._r1}_createGradient(e,t=null){let s,a=this._p0,r=this._p1;if(t){a=a.slice();r=r.slice();Util.applyTransform(a,t);Util.applyTransform(r,t)}if("axial"===this._type)s=e.createLinearGradient(a[0],a[1],r[0],r[1]);else if("radial"===this._type){let i=this._r0,n=this._r1;if(t){const e=new Float32Array(2);Util.singularValueDecompose2dScale(t,e);i*=e[0];n*=e[0]}s=e.createRadialGradient(a[0],a[1],i,r[0],r[1],n)}for(const e of this._colorStops)s.addColorStop(e[0],e[1]);return s}_createReversedGradient(e,t=null){let s=this._p1,a=this._p0;if(t){s=s.slice();a=a.slice();Util.applyTransform(s,t);Util.applyTransform(a,t)}let r=this._r1,i=this._r0;if(t){const e=new Float32Array(2);Util.singularValueDecompose2dScale(t,e);r*=e[0];i*=e[0]}const n=e.createRadialGradient(s[0],s[1],r,a[0],a[1],i),o=this._colorStops.map(([e,t])=>[1-e,t]).reverse();for(const[e,t]of o)n.addColorStop(e,t);return n}_createRasterPattern(e,t,s,a,r,i){const n=Math.ceil(a[2]-a[0])||1,o=Math.ceil(a[3]-a[1])||1,l=t.canvasFactory.create(n,o),c=l.context;c.clearRect(0,0,n,o);c.beginPath();c.rect(0,0,n,o);c.translate(-a[0],-a[1]);s=Util.transform(s,[1,0,0,1,a[0],a[1]]);c.transform(...r);applyBoundingBox(c,this._bbox);if(this.areConic()){c.fillStyle=this._createReversedGradient(c);c.fill()}c.fillStyle=this._createGradient(c);c.fill();i?.applyToCanvas(c);const d=e.createPattern(l.canvas,"no-repeat");t.canvasFactory.destroy(l);d.setTransform(new DOMMatrix(s));return d}getPattern(e,t,s,a){const r=t.current.transferMapsFallback;if(a===Pe||a===Fe){if(this.isOriginBased()&&!r){let a=Util.transform(s,t.baseTransform);this.matrix&&(a=Util.transform(a,this.matrix));const r=.001,i=Math.hypot(a[0],a[1]),n=Math.hypot(a[2],a[3]),o=(a[0]*a[2]+a[1]*a[3])/(i*n);if(Math.abs(o)<r){if(!this.isRadial())return this._createGradient(e,a);if(Math.abs(i-n)<r)return this._createGradient(e,a)}}const i=t.current.getClippedPathBoundingBox(a,getCurrentTransform(e))||[0,0,0,0],n=this.matrix?Util.transform(t.baseTransform,this.matrix):t.baseTransform;return this._createRasterPattern(e,t,s,i,n,r)}if(r&&s)return this._createRasterPattern(e,t,s,t.current.clipBox,getCurrentTransform(e),r);if(this.areConic()){e.save();applyBoundingBox(e,this._bbox);e.fillStyle=this._createReversedGradient(e);e.fillRect(-1e10,-1e10,2e10,2e10);e.restore()}applyBoundingBox(e,this._bbox);return this._createGradient(e)}}function drawTriangle(e,t,s,a,r,i,n,o){const l=t.coords,c=t.colors,d=e.data,h=4*e.width;let p;if(l[2*s+1]>l[2*a+1]){p=s;s=a;a=p;p=i;i=n;n=p}if(l[2*a+1]>l[2*r+1]){p=a;a=r;r=p;p=n;n=o;o=p}if(l[2*s+1]>l[2*a+1]){p=s;s=a;a=p;p=i;i=n;n=p}const f=(l[2*s]+t.offsetX)*t.scaleX,_=(l[2*s+1]+t.offsetY)*t.scaleY,u=(l[2*a]+t.offsetX)*t.scaleX,v=(l[2*a+1]+t.offsetY)*t.scaleY,m=(l[2*r]+t.offsetX)*t.scaleX,g=(l[2*r+1]+t.offsetY)*t.scaleY;if(_>=g)return;const F=c[4*i],P=c[4*i+1],y=c[4*i+2],b=c[4*n],k=c[4*n+1],x=c[4*n+2],C=c[4*o],S=c[4*o+1],w=c[4*o+2],M=Math.round(_),B=Math.round(g);let T,G,I,O,D,A,E,j;for(let e=M;e<=B;e++){if(e<v){const t=e<_?0:(_-e)/(_-v);T=f-(f-u)*t;G=F-(F-b)*t;I=P-(P-k)*t;O=y-(y-x)*t}else{let t;t=e>g?1:v===g?0:(v-e)/(v-g);T=u-(u-m)*t;G=b-(b-C)*t;I=k-(k-S)*t;O=x-(x-w)*t}let t;t=e<_?0:e>g?1:(_-e)/(_-g);D=f-(f-m)*t;A=F-(F-C)*t;E=P-(P-S)*t;j=y-(y-w)*t;const s=Math.round(Math.min(T,D)),a=Math.round(Math.max(T,D));let r=h*e+4*s;for(let e=s;e<=a;e++){t=(T-e)/(T-D);t<0?t=0:t>1&&(t=1);d[r++]=G-(G-A)*t|0;d[r++]=I-(I-E)*t|0;d[r++]=O-(O-j)*t|0;d[r++]=255}}}class MeshShadingPattern extends BaseShadingPattern{constructor(e){super();this._posData=e[2];this._colData=e[3];this._vertexCount=e[4];this._bounds=e[5];this._bbox=e[6];this._background=e[7];!function loadMeshShader(){ge.loadMeshShader()}()}_createMeshCanvas(e,t,s,a=null){const r=Math.floor(this._bounds[0]),i=Math.floor(this._bounds[1]),n=Math.ceil(this._bounds[2])-r,o=Math.ceil(this._bounds[3])-i,l=Math.min(Math.ceil(Math.abs(n*e[0]*1.1)),3e3)||1,c=Math.min(Math.ceil(Math.abs(o*e[1]*1.1)),3e3)||1,d=n?n/l:1,h=o?o/c:1,p={coords:this._posData,colors:this._colData,offsetX:-r,offsetY:-i,scaleX:1/d,scaleY:1/h},f=l+4,_=c+4,u=s.create(f,_);if(isGPUReady()&&this._vertexCount>48)u.context.drawImage(function drawMeshWithGPU(e,t,s,a,r,i,n,o){return ge.draw(e,t,s,a,r,i,n,o)}(this._posData,this._colData,this._vertexCount,p,t,f,_,2),0,0);else{const e=u.context.createImageData(l,c);if(t){const s=e.data;for(let e=0,a=s.length;e<a;e+=4){s[e]=t[0];s[e+1]=t[1];s[e+2]=t[2];s[e+3]=255}}for(let t=0,s=this._vertexCount;t<s;t+=3)drawTriangle(e,p,t,t+1,t+2,t,t+1,t+2);u.context.putImageData(e,2,2)}a?.applyToCanvas(u.context);return{canvas:u.canvas,offsetX:r-2*d,offsetY:i-2*h,scaleX:d,scaleY:h}}isModifyingCurrentTransform(){return!0}getPattern(e,t,s,a){applyBoundingBox(e,this._bbox);const r=new Float32Array(2);if(a===ye)Util.singularValueDecompose2dScale(getCurrentTransform(e),r);else if(this.matrix){Util.singularValueDecompose2dScale(this.matrix,r);const[e,s]=r;Util.singularValueDecompose2dScale(t.baseTransform,r);r[0]*=e;r[1]*=s}else Util.singularValueDecompose2dScale(t.baseTransform,r);const i=this._createMeshCanvas(r,a===ye?null:this._background,t.canvasFactory,t.current.transferMapsFallback);if(a!==ye){e.setTransform(...t.baseTransform);this.matrix&&e.transform(...this.matrix)}e.translate(i.offsetX,i.offsetY);e.scale(i.scaleX,i.scaleY);const n=e.createPattern(i.canvas,"no-repeat");t.canvasFactory.destroy(i);return n}}class DummyShadingPattern extends BaseShadingPattern{getPattern(){return"hotpink"}}const be=1,ke=2;class TilingPattern{constructor(e,t,s,a){this.color=e[1];this.operatorList=e[2];this.matrix=e[3];this.bbox=e[4];this.xstep=e[5];this.ystep=e[6];this.paintType=e[7];this.tilingType=e[8];this.needsIsolation=e[9]??!0;this.ctx=t;this.canvasGraphicsFactory=s;this.baseTransform=a;this.patternBaseMatrix=this.matrix?Util.transform(a,this.matrix):a}canSkipPatternCanvas([e,t,s,a]){const[r,i,n,o]=this.bbox,l=Math.abs(this.xstep),c=Math.abs(this.ystep);if(e>l+1e-6||t>c+1e-6)return null;const d=Math.floor((s-n)/l)+1,h=Math.ceil((s+e-r)/l)-1,p=Math.floor((a-o)/c)+1,f=Math.ceil((a+t-i)/c)-1;return h<=d&&f<=p?[d,p]:null}updatePatternDims(e,t){const a=s.slice();Util.axialAlignedBoundingBox(e,Util.inverseTransform(this.patternBaseMatrix),a);t[0]=a[2]-a[0];t[1]=a[3]-a[1];t[2]=a[0];t[3]=a[1]}_renderTileCanvas(e,t,s,a){const[r,i,n,o]=this.bbox,l=e.canvasFactory.create(s.size,a.size),c=l.context,d=this.canvasGraphicsFactory.createCanvasGraphics(c,t);d.groupLevel=e.groupLevel;d.current.transferMapsFallback=e.current.transferMapsFallback;this.setFillAndStrokeStyleToContext(d,this.paintType,this.color);c.translate(-s.scale*r,-a.scale*i);d.transform(0,s.scale,0,0,a.scale,0,0);c.save();d.dependencyTracker?.save();this.clipBbox(d,r,i,n,o);d.baseTransform=getCurrentTransform(d.ctx);d.executeOperatorList(this.operatorList);d.endDrawing();d.dependencyTracker?.restore();c.restore();return l}_getCombinedScales(){const e=new Float32Array(2);Util.singularValueDecompose2dScale(this.matrix,e);const[t,s]=e;Util.singularValueDecompose2dScale(this.baseTransform,e);return[t*e[0],s*e[1]]}drawPattern(e,t,s=!1,[a,r],i){const[n,o,l,c]=this.bbox,d=e.dependencyTracker;d&&(e.dependencyTracker=new CanvasNestedDependencyTracker(d,i));try{e.save();s?e.ctx.clip(t,"evenodd"):e.ctx.clip(t);e.ctx.setTransform(...this.patternBaseMatrix);e.ctx.translate(a*this.xstep,r*this.ystep);if(this.needsIsolation||1!==e.ctx.globalAlpha||"source-over"!==e.ctx.globalCompositeOperation||e.inSMaskMode){const t=l-n,s=c-o,[a,r]=this._getCombinedScales(),d=this.getSizeAndScale(t,this.ctx.canvas.width,a),h=this.getSizeAndScale(s,this.ctx.canvas.height,r),p=this._renderTileCanvas(e,i,d,h);e.ctx.drawImage(p.canvas,n,o,t,s);e.canvasFactory.destroy(p)}else{e.resetGraphicsState();this.setFillAndStrokeStyleToContext(e,this.paintType,this.color);this.clipBbox(e,n,o,l,c);e.baseTransformStack.push(e.baseTransform);e.baseTransform=getCurrentTransform(e.ctx);e.executeOperatorList(this.operatorList);e.baseTransform=e.baseTransformStack.pop()}e.restore()}finally{d&&(e.dependencyTracker=d)}}createPatternCanvas(e,t){const[s,a,r,i]=this.bbox,n=r-s,o=i-a;let{xstep:l,ystep:c}=this;l=Math.abs(l);c=Math.abs(c);info("TilingType: "+this.tilingType);const[d,h]=this._getCombinedScales();let p=n,f=o,_=!1,u=!1;Math.ceil(l*d)>=Math.ceil(n*d)?p=l:_=!0;Math.ceil(c*h)>=Math.ceil(o*h)?f=c:u=!0;const v=this.getSizeAndScale(p,this.ctx.canvas.width,d),m=this.getSizeAndScale(f,this.ctx.canvas.height,h),g=this._renderTileCanvas(e,t,v,m);if(_||u){const t=g.canvas;_&&(p=l);u&&(f=c);const r=this.getSizeAndScale(p,this.ctx.canvas.width,d),i=this.getSizeAndScale(f,this.ctx.canvas.height,h),v=r.size,m=i.size,F=e.canvasFactory.create(v,m),P=F.context,y=_?Math.min(Math.floor(n/l),Math.ceil(t.width/v)):0,b=u?Math.min(Math.floor(o/c),Math.ceil(t.height/m)):0;let k=t,x=null;if(u){x=e.canvasFactory.create(t.width,m);const s=x.context;for(let e=b;e>=0;e--)s.drawImage(t,0,m*e,t.width,m,0,0,t.width,m);k=x.canvas}for(let e=y;e>=0;e--)P.drawImage(k,v*e,0,v,m,0,0,v,m);x&&e.canvasFactory.destroy(x);e.canvasFactory.destroy(g);return{canvas:F.canvas,canvasEntry:F,scaleX:r.scale,scaleY:i.scale,offsetX:s,offsetY:a}}return{canvas:g.canvas,canvasEntry:g,scaleX:v.scale,scaleY:m.scale,offsetX:s,offsetY:a}}getSizeAndScale(e,t,s){const a=Math.max(TilingPattern.MAX_PATTERN_SIZE,t);let r=Math.ceil(e*s);r>=a?r=a:s=r/e;return{scale:s,size:r}}clipBbox(e,t,s,a,r){const i=a-t,n=r-s,o=new Path2D;o.rect(t,s,i,n);Util.axialAlignedBoundingBox([t,s,a,r],getCurrentTransform(e.ctx),e.current.minMax);e.ctx.clip(o);e.current.updateClipFromPath()}setFillAndStrokeStyleToContext(e,t,s){switch(t){case be:s="#000000";break;case ke:break;default:throw new FormatError(`Unsupported paint type: ${t}`)}const{ctx:a,current:r}=e;r.patternFill=r.patternStroke=!1;a.fillStyle=a.strokeStyle=r.transferMapsFallback?.applyToColor(s)??s;r.fillColor=r.strokeColor=s}isModifyingCurrentTransform(){return!1}getPattern(e,t,s,a,r){const i=a!==ye?Util.transform(s,this.patternBaseMatrix):s,n=this.createPatternCanvas(t,r);let o=new DOMMatrix(i);o=o.translate(n.offsetX,n.offsetY);o=o.scale(1/n.scaleX,1/n.scaleY);const l=e.createPattern(n.canvas,"repeat");t.canvasFactory.destroy(n.canvasEntry);l.setTransform(o);return l}}pattern_helper_defineProperty(TilingPattern,"MAX_PATTERN_SIZE",3e3);function canvas_classPrivateFieldInitSpec(e,t,s){canvas_checkPrivateRedeclaration(e,t),t.set(e,s)}function canvas_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function canvas_classPrivateFieldGet(e,t){return e.get(canvas_assertClassBrand(e,t))}function canvas_classPrivateFieldSet(e,t,s){return e.set(canvas_assertClassBrand(e,t),s),s}function canvas_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}function canvas_defineProperty(e,t,s){return(t=function canvas_toPropertyKey(e){var t=function canvas_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const xe=16,Ce=new Float32Array(2);function mirrorContextOperations(e,t){if(e._removeMirroring)throw new Error("Context is already forwarding operations.");const s=new Map;for(const a of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){const r=e[a];if("function"==typeof r&&"function"==typeof t[a]){s.set(a,r);e[a]=function(...e){t[a](...e);return r.apply(this,e)}}}e._removeMirroring=()=>{for(const[t,a]of s)e[t]=a;delete e._removeMirroring}}function drawImageAtIntegerCoords(e,t,s,a,r,i,n,o,l,c){const[d,h,p,f,_,u]=getCurrentTransform(e);if(0===h&&0===p){const v=n*d+_,m=Math.round(v),g=o*f+u,F=Math.round(g),P=(n+l)*d+_,y=Math.abs(Math.round(P)-m)||1,b=(o+c)*f+u,k=Math.abs(Math.round(b)-F)||1;e.setTransform(Math.sign(d),0,0,Math.sign(f),m,F);e.drawImage(t,s,a,r,i,0,0,y,k);e.setTransform(d,h,p,f,_,u);return[y,k]}if(0===d&&0===f){const v=o*p+_,m=Math.round(v),g=n*h+u,F=Math.round(g),P=(o+c)*p+_,y=Math.abs(Math.round(P)-m)||1,b=(n+l)*h+u,k=Math.abs(Math.round(b)-F)||1;e.setTransform(0,Math.sign(h),Math.sign(p),0,m,F);e.drawImage(t,s,a,r,i,0,0,k,y);e.setTransform(d,h,p,f,_,u);return[k,y]}e.drawImage(t,s,a,r,i,n,o,l,c);return[Math.hypot(d,h)*l,Math.hypot(p,f)*c]}class CanvasExtraState{constructor(e,t){canvas_defineProperty(this,"alphaIsShape",!1);canvas_defineProperty(this,"fontSize",0);canvas_defineProperty(this,"fontSizeScale",1);canvas_defineProperty(this,"textMatrix",null);canvas_defineProperty(this,"textMatrixScale",1);canvas_defineProperty(this,"fontMatrix",r);canvas_defineProperty(this,"leading",0);canvas_defineProperty(this,"x",0);canvas_defineProperty(this,"y",0);canvas_defineProperty(this,"lineX",0);canvas_defineProperty(this,"lineY",0);canvas_defineProperty(this,"charSpacing",0);canvas_defineProperty(this,"wordSpacing",0);canvas_defineProperty(this,"textHScale",1);canvas_defineProperty(this,"textRenderingMode",o);canvas_defineProperty(this,"textRise",0);canvas_defineProperty(this,"fillColor","#000000");canvas_defineProperty(this,"strokeColor","#000000");canvas_defineProperty(this,"tilingPatternDims",null);canvas_defineProperty(this,"patternFill",!1);canvas_defineProperty(this,"patternStroke",!1);canvas_defineProperty(this,"fillAlpha",1);canvas_defineProperty(this,"strokeAlpha",1);canvas_defineProperty(this,"lineWidth",1);canvas_defineProperty(this,"activeSMask",null);canvas_defineProperty(this,"transferMaps","none");canvas_defineProperty(this,"transferMapsFallback",null);canvas_defineProperty(this,"minMax",a.slice());this.clipBox=new Float32Array([0,0,e,t])}clone(){const e=Object.create(this);e.clipBox=this.clipBox.slice();e.minMax=this.minMax.slice();e.tilingPatternDims=this.tilingPatternDims?.slice();return e}getPathBoundingBox(e=Fe,t=null){const s=this.minMax.slice();if(e===Pe){t||unreachable("Stroke bounding box must include transform.");Util.singularValueDecompose2dScale(t,Ce);const e=Ce[0]*this.lineWidth/2,a=Ce[1]*this.lineWidth/2;s[0]-=e;s[1]-=a;s[2]+=e;s[3]+=a}return s}updateClipFromPath(){const e=Util.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(e){this.clipBox.set(e,0);this.minMax.set(a,0)}getClippedPathBoundingBox(e=Fe,t=null){return Util.intersect(this.clipBox,this.getPathBoundingBox(e,t))}}function putBinaryImageData(e,t){const{width:s,height:a,kind:r}=t,i=a%xe,n=(a-i)/xe,o=0===i?n:n+1,l=e.createImageData(s,xe);let c=0;const d=t.data,h=l.data;let p;if(r===f)for(p=0;p<o;p++){({srcPos:c}=convertBlackAndWhiteToRGBA({src:d,srcPos:c,dest:h,width:s,height:p<n?xe:i}));e.putImageData(l,0,p*xe)}else if(r===u){let t=0,a=s*xe*4;for(p=0;p<n;p++){h.set(d.subarray(c,c+a));c+=a;e.putImageData(l,0,t);t+=xe}if(p<o){a=s*i*4;h.set(d.subarray(c,c+a));e.putImageData(l,0,t)}}else{if(r!==_)throw new Error(`bad image kind: ${r}`);for(p=0;p<o;p++){({srcPos:c}=convertRGBToRGBA({src:d,srcPos:c,dest:new Uint32Array(h.buffer),width:s,height:p<n?xe:i}));e.putImageData(l,0,p*xe)}}}function putBinaryImageMask(e,t){if(t.bitmap){e.drawImage(t.bitmap,0,0);return}const{width:s,height:a}=t,r=a%xe,i=(a-r)/xe,n=0===r?i:i+1,o=e.createImageData(s,xe);let l=0;const c=t.data,d=o.data;for(let t=0;t<n;t++){({srcPos:l}=convertBlackAndWhiteToRGBA({src:c,srcPos:l,dest:d,width:s,height:t<i?xe:r,nonBlackColor:0}));e.putImageData(o,0,t*xe)}}function copyCtxState(e,t){const s=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(const a of s)void 0!==e[a]&&(t[a]=e[a]);if(void 0!==e.setLineDash){t.setLineDash(e.getLineDash());t.lineDashOffset=e.lineDashOffset}}function getAnnotationCanvasName(e){return e._pdfjsCanvasName??null}function resetCtxToDefault(e){e.strokeStyle=e.fillStyle="#000000";e.fillRule="nonzero";e.globalAlpha=1;e.lineWidth=1;e.lineCap="butt";e.lineJoin="miter";e.miterLimit=10;e.globalCompositeOperation="source-over";e.font="10px sans-serif";if(void 0!==e.setLineDash){e.setLineDash([]);e.lineDashOffset=0}const{filter:t}=e;"none"!==t&&""!==t&&(e.filter="none")}var Se=new WeakMap;class TransferMapsFallback{constructor(e){canvas_classPrivateFieldInitSpec(this,Se,void 0);const[t,s=t,a=t]=e,r=Util.identity0to256Map.slice();canvas_classPrivateFieldSet(Se,this,[t||r,s||r,a||r])}applyToColor(e){if("string"!=typeof e||!e.startsWith("#"))return e;const[t,s,a]=getRGBA(e),[r,i,n]=canvas_classPrivateFieldGet(Se,this);return Util.makeHexColor(r[t],i[s],n[a])}applyToImageData({data:e}){const[t,s,a]=canvas_classPrivateFieldGet(Se,this);for(let r=0,i=e.length;r<i;r+=4){e[r]=t[e[r]];e[r+1]=s[e[r+1]];e[r+2]=a[e[r+2]]}}applyToCanvas(e){const{width:t,height:s}=e.canvas,a=e.getImageData(0,0,t,s);this.applyToImageData(a);e.putImageData(a,0,0)}}function getImageSmoothingEnabled(e,t,s){if(t)return!0;Util.singularValueDecompose2dScale(e,Ce);const a=Math.fround(s*PixelsPerInch.PDF_TO_CSS_UNITS);return Ce[0]<=a&&Ce[1]<=a}const we=["butt","round","square"],Me=["miter","round","bevel"],Be={},Te={};var Ge=new WeakMap,Ie=new WeakMap,Oe=new WeakMap,De=new WeakMap,Ae=new WeakMap,Ee=new WeakMap,je=new WeakMap,Ne=new WeakMap,Re=new WeakMap,We=new WeakMap,Le=new WeakSet;class CanvasGraphics{constructor(e,t,s,a,r,{optionalContentConfig:i,markedContentStack:n=null,pixelRatio:o=OutputScale.pixelRatio},l,c,d,h){!function canvas_classPrivateMethodInitSpec(e,t){canvas_checkPrivateRedeclaration(e,t),t.add(e)}(this,Le);canvas_classPrivateFieldInitSpec(this,Ge,0);canvas_classPrivateFieldInitSpec(this,Ie,0);canvas_classPrivateFieldInitSpec(this,Oe,null);canvas_classPrivateFieldInitSpec(this,De,null);canvas_classPrivateFieldInitSpec(this,Ae,null);canvas_classPrivateFieldInitSpec(this,Ee,null);canvas_classPrivateFieldInitSpec(this,je,1);canvas_classPrivateFieldInitSpec(this,Ne,void 0);canvas_classPrivateFieldInitSpec(this,Re,null);canvas_classPrivateFieldInitSpec(this,We,[]);this.ctx=e;this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height);this.stateStack=[];this.pendingClip=null;this.pendingEOFill=!1;this.commonObjs=t;this.objs=s;this.canvasFactory=a;this.filterFactory=r;this.groupStack=[];this.baseTransform=null;this.baseTransformStack=[];this.groupLevel=0;this.smaskStack=[];this.tempSMask=null;this.smaskGroupCanvases=[];this.smaskPreparedEntry=null;this.smaskPreparedFor=null;this.smaskPreparedOffsetX=0;this.smaskPreparedOffsetY=0;this.smaskPreparedOOBAlpha=null;this.suspendedCtx=null;this.contentVisible=!0;this.markedContentStack=n||[];this.optionalContentConfig=i;this.pixelRatio=o;this.cachedPatterns=new Map;this.annotationCanvasMap=l;this.viewportScale=1;this.outputScaleX=1;this.outputScaleY=1;this.pageColors=c;this._cachedScaleForStroking=[-1,0];this._cachedBitmapsMap=new Map;this.dependencyTracker=d??null;this.imagesTracker=h??null}getObject(e,t,s=null){if("string"==typeof t){this.dependencyTracker?.recordNamedDependency(e,t);return t.startsWith("g_")?this.commonObjs.get(t):this.objs.get(t)}return s}beginDrawing({transform:e,viewport:t,transparency:s=!1,background:a=null}){const r=this.ctx.canvas.width,i=this.ctx.canvas.height,n=this.ctx.fillStyle;this.ctx.fillStyle=a||"#ffffff";this.ctx.fillRect(0,0,r,i);this.ctx.fillStyle=n;if(s){const e=this.transparentCanvasEntry=this.canvasFactory.create(r,i);this.compositeCtx=this.ctx;({canvas:this.transparentCanvas,context:this.ctx}=e);this.ctx.save();this.ctx.transform(...getCurrentTransform(this.compositeCtx))}this.ctx.save();resetCtxToDefault(this.ctx);if(e){this.ctx.transform(...e);this.outputScaleX=e[0];this.outputScaleY=e[3]}this.ctx.transform(...t.transform);this.viewportScale=t.scale;this.baseTransform=getCurrentTransform(this.ctx)}executeOperatorList(e,t,s,a,r,i){const n=e.argsArray,o=e.fnArray,l=this._pathCache;this._pathCache=e.pathCache??Xe._.getOrInsertComputed(e,makeMap);try{let l=t||0;const c=n.length;if(c===l)return l;const d=c-l>10&&"function"==typeof s,h=d?Date.now()+15:0;let p=0;const f=this.commonObjs,_=this.objs;let u,v;for(;;){if(void 0!==r){if(l===r.nextBreakPoint){r.breakIt(l,s);return l}if(r.shouldSkip(l)){if(++l===c)return l;continue}}if(!i||i(l,e)){u=o[l];v=n[l]??null;if(u!==g.dependency)null===v?this[u](l):this[u](l,...v);else for(const e of v){this.dependencyTracker?.recordNamedData(e,l);const t=e.startsWith("g_")?f:_;if(!t.has(e)){t.get(e,s,a);return l}}}l++;if(l===c)return l;if(d&&++p>10){if(Date.now()>h){s();return l}p=0}}}finally{this._pathCache=l}}endDrawing(){canvas_assertClassBrand(Le,this,_restoreInitialState).call(this);for(const e of this.smaskGroupCanvases)this.canvasFactory.destroy(e);this.smaskGroupCanvases.length=0;this._clearPreparedSMask();this.tempSMask=null;this.smaskStack.length=0;for(const e of canvas_classPrivateFieldGet(We,this))canvas_assertClassBrand(Le,this,_destroyKnockoutPools).call(this,e);canvas_classPrivateFieldGet(We,this).length=0;canvas_classPrivateFieldSet(Oe,this,null);canvas_classPrivateFieldSet(De,this,null);canvas_classPrivateFieldSet(Ae,this,null);canvas_classPrivateFieldSet(Ee,this,null);canvas_classPrivateFieldSet(je,this,1);canvas_classPrivateFieldSet(Re,this,null);canvas_classPrivateFieldSet(Ie,this,0);canvas_classPrivateFieldSet(Ge,this,0);this.cachedPatterns.clear();for(const e of this._cachedBitmapsMap.values()){for(const t of e.values())"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement&&(t.width=t.height=0);e.clear()}this._cachedBitmapsMap.clear();canvas_assertClassBrand(Le,this,_drawFilter).call(this)}_scaleImage(e,t){const s=e.width??e.displayWidth,a=e.height??e.displayHeight,r=[];let i=Math.max(Math.hypot(t[0],t[1]),1),n=Math.max(Math.hypot(t[2],t[3]),1),o=s,l=a;for(;i>2&&o>1||n>2&&l>1;){let e=o,t=l;if(i>2&&o>1){e=Math.ceil(o/2);i/=o/e}if(n>2&&l>1){t=Math.ceil(l/2);n/=l/t}r.push({newWidth:e,newHeight:t});o=e;l=t}if(0===r.length)return{img:e,paintWidth:s,paintHeight:a,tmpCanvas:null};if(1===r.length){const{newWidth:t,newHeight:i}=r[0],n=this.canvasFactory.create(t,i);n.context.drawImage(e,0,0,s,a,0,0,t,i);return{img:n.canvas,paintWidth:t,paintHeight:i,tmpCanvas:n}}let c=this.canvasFactory.create(1,1),d=this.canvasFactory.create(1,1),h=s,p=a,f=e;for(const{newWidth:e,newHeight:t}of r){this.canvasFactory.reset(d,e,t);d.context.drawImage(f,0,0,h,p,0,0,e,t);[c,d]=[d,c];f=c.canvas;h=e;p=t}this.canvasFactory.destroy(d);return{img:c.canvas,paintWidth:h,paintHeight:p,tmpCanvas:c}}_createMaskCanvas(e,t){const s=this.ctx,{width:r,height:i}=t,n=this.current.patternFill,o=n?this.current.fillColor:s.fillStyle,l=getCurrentTransform(s);let c,d,h,p;if((t.bitmap||t.data)&&t.count>1){const s=t.bitmap||t.data.buffer;d=JSON.stringify(n?l:[l.slice(0,4),o]);c=this._cachedBitmapsMap.getOrInsertComputed(s,makeMap);const a=c.get(d);if(a&&!n){const t=Math.round(Math.min(l[0],l[2])+l[4]),s=Math.round(Math.min(l[1],l[3])+l[5]);this.dependencyTracker?.recordDependencies(e,ne);return{canvas:a,offsetX:t,offsetY:s}}h=a}if(!h){p=this.canvasFactory.create(r,i);putBinaryImageMask(p.context,t)}let f=Util.transform(l,[1/r,0,0,-1/i,0,0]);f=Util.transform(f,[1,0,0,1,0,-i]);const _=a.slice();Util.axialAlignedBoundingBox([0,0,r,i],f,_);const[u,v,m,g]=_,F=Math.round(m-u)||1,P=Math.round(g-v)||1,y=this.canvasFactory.create(F,P),b=y.context,k=u,x=v;b.translate(-k,-x);b.transform(...f);let C=null;if(!h){const e=this._scaleImage(p.canvas,getCurrentTransformInverse(b));h=e.img;C=e.tmpCanvas;if(h!==p.canvas){this.canvasFactory.destroy(p);p=null}if(c&&n){c.set(d,h);C=null;p=null}}b.imageSmoothingEnabled=getImageSmoothingEnabled(getCurrentTransform(b),t.interpolate,this.pixelRatio);drawImageAtIntegerCoords(b,h,0,0,h.width,h.height,0,0,r,i);C&&this.canvasFactory.destroy(C);p&&this.canvasFactory.destroy(p);b.globalCompositeOperation="source-in";const S=Util.transform(getCurrentTransformInverse(b),[1,0,0,1,-k,-x]);b.fillStyle=n?o.getPattern(s,this,S,Fe,e):o;b.fillRect(0,0,r,i);c&&!n&&c.set(d,y.canvas);this.dependencyTracker?.recordDependencies(e,ne);return{canvas:y.canvas,canvasEntry:c&&!n?null:y,offsetX:Math.round(k),offsetY:Math.round(x)}}setLineWidth(e,t){this.dependencyTracker?.recordSimpleData("lineWidth",e);t!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1);this.current.lineWidth=t;this.ctx.lineWidth=t}setLineCap(e,t){this.dependencyTracker?.recordSimpleData("lineCap",e);this.ctx.lineCap=we[t]}setLineJoin(e,t){this.dependencyTracker?.recordSimpleData("lineJoin",e);this.ctx.lineJoin=Me[t]}setMiterLimit(e,t){this.dependencyTracker?.recordSimpleData("miterLimit",e);this.ctx.miterLimit=t}setDash(e,t,s){this.dependencyTracker?.recordSimpleData("dash",e);const a=this.ctx;if(void 0!==a.setLineDash){a.setLineDash(t);a.lineDashOffset=s}}setRenderingIntent(e,t){}setFlatness(e,t){}setGState(e,t){for(const[s,a]of t)switch(s){case"LW":this.setLineWidth(e,a);break;case"LC":this.setLineCap(e,a);break;case"LJ":this.setLineJoin(e,a);break;case"ML":this.setMiterLimit(e,a);break;case"D":this.setDash(e,a[0],a[1]);break;case"RI":this.setRenderingIntent(e,a);break;case"FL":this.setFlatness(e,a);break;case"Font":this.setFont(e,a[0],a[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",e);this.current.strokeAlpha=a;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",e);this.ctx.globalAlpha=this.current.fillAlpha=a;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",e);this.ctx.globalCompositeOperation=a;break;case"SMask":this.dependencyTracker?.recordSimpleData("SMask",e);this.current.activeSMask=a?this.tempSMask:null;this.current.activeSMask&&(this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation);this.tempSMask=null;this.checkSMaskState(e);break;case"TR":{this.dependencyTracker?.recordSimpleData("filter",e);let t=this.filterFactory.addFilter(a);this.ctx.filter=t;let s=null;if(a&&("none"===t||!FeatureTest.isCanvasFilterSupported||"none"===this.ctx.filter||""===this.ctx.filter)){this.ctx.filter=t="none";s=new TransferMapsFallback(a)}this.current.transferMaps=t;if(s||this.current.transferMapsFallback){this.current.transferMapsFallback=s;this.current.patternFill||(this.ctx.fillStyle=canvas_assertClassBrand(Le,this,_transferColor).call(this,this.current.fillColor));this.current.patternStroke||(this.ctx.strokeStyle=canvas_assertClassBrand(Le,this,_transferColor).call(this,this.current.strokeColor))}break}}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){if(this.smaskPreparedEntry){this.canvasFactory.destroy(this.smaskPreparedEntry);this.smaskPreparedEntry=null}this.smaskPreparedFor=null;this.smaskPreparedOffsetX=0;this.smaskPreparedOffsetY=0;this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(e){if(e!==this.smaskPreparedFor){this._clearPreparedSMask();this._prepareSMaskCanvas(e)}}checkSMaskState(e){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode(e):!this.current.activeSMask&&t?this.endSMaskMode():this.current.activeSMask&&t&&this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(e){const{canvas:t,subtype:s,backdrop:a,transferMap:r}=e,i="Luminosity"===s||"Alpha"===s&&r;if(!(i||"Luminosity"===s&&a)){this.smaskPreparedFor=e;return}let n;if("Luminosity"===s&&a){const[e,t,s]=getRGBA(a),i=Math.round(.3*e+.59*t+.11*s);n=r?.[i]??i}else n=r?.[0]??0;const{width:o,height:l}=this.ctx.canvas,c=o*l<4*(t.width*t.height),d=i?{url:"Alpha"===s?this.filterFactory.addAlphaFilter(r):this.filterFactory.addLuminosityFilter(r),subtype:s,transferMap:r}:null,h="Luminosity"===s?a:null;let p,f,_;if(c){p=this._bakeSMaskCanvas(t,e.offsetX,e.offsetY,o,l,h,d);f=0;_=0}else{p=this._bakeSMaskCanvas(t,0,0,t.width,t.height,h,d);f=e.offsetX;_=e.offsetY}this.smaskPreparedEntry=p;this.smaskPreparedFor=e;this.smaskPreparedOffsetX=f;this.smaskPreparedOffsetY=_;this.smaskPreparedOOBAlpha=c||0===n?null:n}_bakeSMaskCanvas(e,t,s,a,r,i,n){i||n||unreachable("_bakeSMaskCanvas with neither backdrop nor filter");const o=this.canvasFactory.create(a,r),l=o.context;l.drawImage(e,t,s);if(i){l.globalCompositeOperation="destination-atop";l.fillStyle=i;l.fillRect(0,0,a,r)}if(!n)return o;const c=this.canvasFactory.create(a,r),d=c.context;d.filter=n.url;const h=FeatureTest.isCanvasFilterSupported&&"none"!==d.filter&&""!==d.filter;d.drawImage(o.canvas,0,0);FeatureTest.isCanvasFilterSupported&&(d.filter="none");if(!h){const e=d.getImageData(0,0,a,r),{data:t}=e,{transferMap:s}=n;if("Luminosity"===n.subtype)for(let e=0,a=t.length;e<a;e+=4){const a=.3*t[e]+.59*t[e+1]+.11*t[e+2]+.5|0;t[e]=t[e+1]=t[e+2]=0;t[e+3]=s?.[a]??a}else for(let e=3,a=t.length;e<a;e+=4)t[e]=s[t[e]];d.putImageData(e,0,0)}this.canvasFactory.destroy(o);return c}beginSMaskMode(e){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const{width:t,height:s}=this.ctx.canvas,a=this.canvasFactory.create(t,s);this.smaskScratchCanvas=a;this.suspendedCtx=this.ctx;const r=this.ctx=a.context;r.setTransform(this.suspendedCtx.getTransform());copyCtxState(this.suspendedCtx,r);mirrorContextOperations(r,this.suspendedCtx);this._ensurePreparedSMask(this.current.activeSMask);this.setGState(e,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring();copyCtxState(this.ctx,this.suspendedCtx);this.ctx=this.suspendedCtx;this.suspendedCtx=null;this.canvasFactory.destroy(this.smaskScratchCanvas);this.smaskScratchCanvas=null;this._clearPreparedSMask()}compose(e){if(!this.current.activeSMask)return;e=e?[Math.floor(e[0]),Math.floor(e[1]),Math.ceil(e[2]),Math.ceil(e[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const t=this.current.activeSMask,s=this.suspendedCtx,a=canvas_classPrivateFieldGet(Ie,this)>0&&s===this.ctx;this.composeSMask(a?null:s,t,this.ctx,e);if(!a){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(e,t,s,a){const r=a[0],i=a[1],n=a[2]-r,o=a[3]-i;if(0===n||0===o)return;const l=this.smaskPreparedEntry;if(l){let e=r,a=i,c=n,d=o;const h=this.smaskPreparedOOBAlpha,p=null!==h;if(p){e=Math.max(r,t.offsetX);a=Math.max(i,t.offsetY);c=Math.min(r+n,t.offsetX+t.canvas.width)-e;d=Math.min(i+o,t.offsetY+t.canvas.height)-a}if(c>0&&d>0){const t=e-this.smaskPreparedOffsetX,r=a-this.smaskPreparedOffsetY;s.save();s.globalAlpha=1;s.setTransform(1,0,0,1,0,0);const i=new Path2D;i.rect(e,a,c,d);s.clip(i);s.globalCompositeOperation="destination-in";s.drawImage(l.canvas,t,r,c,d,e,a,c,d);s.restore()}p&&h<255&&this._applySMaskOOBAlpha(s,r,i,n,o,e,a,e+c,a+d,h)}else this.genericComposeSMask(t,s,n,o,r,i);if(e){e.save();e.globalAlpha=1;e.globalCompositeOperation=t.blendMode||"source-over";e.setTransform(1,0,0,1,0,0);e.drawImage(s.canvas,r,i,n,o,r,i,n,o);e.restore()}}_applySMaskOOBAlpha(e,t,s,a,r,i,n,o,l,c){const d=i<o&&n<l;if(d&&i===t&&n===s&&o===t+a&&l===s+r)return;const h=new Path2D;h.rect(t,s,a,r);d&&h.rect(i,n,o-i,l-n);e.save();e.globalAlpha=c/255;e.setTransform(1,0,0,1,0,0);e.clip(h,"evenodd");e.globalCompositeOperation="destination-in";e.fillStyle="#000000";e.fillRect(t,s,a,r);e.restore()}genericComposeSMask(e,t,s,a,r,i){const{context:n,offsetX:o,offsetY:l}=e;t.save();t.globalAlpha=1;t.setTransform(1,0,0,1,0,0);const c=new Path2D;c.rect(r,i,s,a);t.clip(c);t.globalCompositeOperation="destination-in";t.drawImage(n.canvas,r-o,i-l,s,a,r,i,s,a);t.restore()}save(e){this.inSMaskMode&©CtxState(this.ctx,this.suspendedCtx);this.ctx.save();const t=this.current;this.stateStack.push(t);this.current=t.clone();this.dependencyTracker?.save(e)}restore(e){this.dependencyTracker?.restore(e);if(0!==this.stateStack.length){this.current=this.stateStack.pop();this.ctx.restore();if(this.inSMaskMode){copyCtxState(this.suspendedCtx,this.ctx);this.ctx.setTransform(this.suspendedCtx.getTransform())}this.checkSMaskState(e);this.pendingClip=null;this._cachedScaleForStroking[0]=-1}else this.inSMaskMode&&this.endSMaskMode()}resetGraphicsState(){const{clipBox:e,transferMaps:t,transferMapsFallback:s}=this.current,a=this.current=new CanvasExtraState(0,0);a.clipBox=e;a.transferMaps=t;a.transferMapsFallback=s;const r=this.ctx;r.lineWidth=1;r.lineCap="butt";r.lineJoin="miter";r.miterLimit=10;if(void 0!==r.setLineDash){r.setLineDash([]);r.lineDashOffset=0}this._cachedScaleForStroking[0]=-1}transform(e,t,s,a,r,i,n){this.dependencyTracker?.recordIncrementalData("transform",e);this.ctx.transform(t,s,a,r,i,n);this._cachedScaleForStroking[0]=-1}constructPath(e,t,s,a){let r=this._pathCache.get(e);if(!a){if(!r){r=new Path2D;this._pathCache.set(e,r)}t!==g.stroke&&t!==g.closeStroke&&(this.current.tilingPatternDims=null);this[t](e,r);return}if(null!==this.dependencyTracker){const s=t===g.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(e).recordBBox(e,this.ctx,a[0]-s,a[2]+s,a[1]-s,a[3]+s).recordDependencies(e,["transform"])}if(!r){r=makePathFromDrawOPS(s[0]);this._pathCache.set(e,r)}Util.axialAlignedBoundingBox(a,getCurrentTransform(this.ctx),this.current.minMax);const i=this.current.tilingPatternDims;if(i&&t!==g.stroke&&t!==g.closeStroke&&this.current.fillColor instanceof TilingPattern){const e=Util.intersect(this.current.clipBox,this.current.minMax);e?this.current.fillColor.updatePatternDims(e,i):this.current.tilingPatternDims=null}this[t](e,r);this._pathStartIdx=e}closePath(e){this.ctx.closePath()}stroke(e,t,s=!0){const a=s&&canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.strokeAlpha),r=this.ctx,i=this.current.strokeColor;r.globalAlpha=this.current.strokeAlpha;if(this.contentVisible)if("object"==typeof i&&i?.getPattern){const s=i.isModifyingCurrentTransform()?r.getTransform():null;r.save();r.strokeStyle=i.getPattern(r,this,getCurrentTransformInverse(r),Pe,e);if(s){const e=new Path2D;e.addPath(t,r.getTransform().invertSelf().multiplySelf(s));t=e}this.rescaleAndStroke(t,!1);r.restore()}else this.rescaleAndStroke(t,!0);this.dependencyTracker?.recordDependencies(e,ee);s&&this.consumePath(e,t,this.current.getClippedPathBoundingBox(Pe,getCurrentTransform(this.ctx)));r.globalAlpha=this.current.fillAlpha;canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,a)}closeStroke(e,t){this.stroke(e,t)}fill(e,t,s=!0){const a=s&&canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),r=this.ctx,i=this.current.fillColor,n=this.current.patternFill;let o=!1;const l=this.current.getClippedPathBoundingBox();this.dependencyTracker?.recordDependencies(e,te);if(n){const n=this.current.tilingPatternDims,c=n&&i.canSkipPatternCanvas(n);if(c){const{pendingClip:r,pendingEOFill:n}=this;this.pendingClip=null;this.pendingEOFill=!1;i.drawPattern(this,t,n,c,e);this.pendingClip=r;s&&this.consumePath(e,t,l);this.current.tilingPatternDims=null;canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,a);return}const d=i.isModifyingCurrentTransform()?r.getTransform():null;this.dependencyTracker?.save(e);r.save();r.fillStyle=i.getPattern(r,this,getCurrentTransformInverse(r),Fe,e);if(d){const e=new Path2D;e.addPath(t,r.getTransform().invertSelf().multiplySelf(d));t=e}o=!0}if(this.contentVisible&&null!==l)if(this.pendingEOFill){r.fill(t,"evenodd");this.pendingEOFill=!1}else r.fill(t);if(o){r.restore();this.dependencyTracker?.restore(e)}s&&this.consumePath(e,t,l);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,a)}eoFill(e,t){this.pendingEOFill=!0;this.fill(e,t)}fillStroke(e,t){const s=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(e,t,!1);this.stroke(e,t,!1);this.consumePath(e,t);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,s)}eoFillStroke(e,t){this.pendingEOFill=!0;this.fillStroke(e,t)}closeFillStroke(e,t){this.fillStroke(e,t)}closeEOFillStroke(e,t){this.pendingEOFill=!0;this.fillStroke(e,t)}endPath(e,t){this.consumePath(e,t)}rawFillPath(e,t){const s=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha);this.ctx.fill(t);this.dependencyTracker?.recordDependencies(e,ae).recordOperation(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,s)}clip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e);this.pendingClip=Be}eoClip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e);this.pendingClip=Te}beginText(e){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(e).resetIncrementalData("sameLineText").resetIncrementalData("moveText",e)}endText(e){const t=this.pendingTextPaths,s=this.ctx;if(this.dependencyTracker){const{dependencyTracker:s}=this;void 0!==t&&s.recordFutureForcedDependency("textClip",s.getOpenMarker()).recordFutureForcedDependency("textClip",e);s.recordCloseMarker(e)}if(void 0!==t){const e=new Path2D,a=s.getTransform().invertSelf();for(const{transform:s,x:r,y:i,fontSize:n,path:o}of t)o&&e.addPath(o,new DOMMatrix(s).preMultiplySelf(a).translate(r,i).scale(n,-n));s.clip(e)}delete this.pendingTextPaths}setCharSpacing(e,t){this.dependencyTracker?.recordSimpleData("charSpacing",e);this.current.charSpacing=t}setWordSpacing(e,t){this.dependencyTracker?.recordSimpleData("wordSpacing",e);this.current.wordSpacing=t}setHScale(e,t){this.dependencyTracker?.recordSimpleData("hScale",e);this.current.textHScale=t/100}setLeading(e,t){this.dependencyTracker?.recordSimpleData("leading",e);this.current.leading=-t}setFont(e,t,s){this.dependencyTracker?.recordSimpleData("font",e).recordSimpleDataFromNamed("fontObj",t,e);const a=this.commonObjs.get(t),i=this.current;if(!a)throw new Error(`Can't find font for ${t}`);i.fontMatrix=a.fontMatrix||r;0!==i.fontMatrix[0]&&0!==i.fontMatrix[3]||warn("Invalid font matrix for font "+t);if(s<0){s=-s;i.fontDirection=-1}else i.fontDirection=1;this.current.font=a;this.current.fontSize=s;if(a.isType3Font)return;const n=a.loadedName||"sans-serif",o=a.systemFontInfo?.css||`"${n}", ${a.fallbackName}`;let l="normal";a.black?l="900":a.bold&&(l="bold");const c=a.italic?"italic":"normal",d=math_clamp_MathClamp(s,16,100);this.current.fontSizeScale=s/d;this.ctx.font=`${c} ${l} ${d}px ${o}`}setTextRenderingMode(e,t){this.dependencyTracker?.recordSimpleData("textRenderingMode",e);this.current.textRenderingMode=t}setTextRise(e,t){this.dependencyTracker?.recordSimpleData("textRise",e);this.current.textRise=t}moveText(e,t,s){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",e);this.current.x=this.current.lineX+=t;this.current.y=this.current.lineY+=s}setLeadingMoveText(e,t,s){this.setLeading(e,-s);this.moveText(e,t,s)}setTextMatrix(e,t){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",e);const{current:s}=this;s.textMatrix=t;s.textMatrixScale=Math.hypot(t[0],t[1]);s.x=s.lineX=0;s.y=s.lineY=0}nextLine(e){this.moveText(e,0,this.current.leading);this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??e)}paintChar(e,t,s,a,r,i){const n=this.ctx,d=this.current,f=d.font,_=d.textRenderingMode,u=d.fontSize/d.fontSizeScale,v=_&h,m=!!(_&p),g=d.patternFill&&!f.missingFile,F=d.patternStroke&&!f.missingFile;let P;(f.disableFontFace||m||g||F)&&!f.missingFile&&(P=f.getPathGenerator(this.commonObjs,t));if(P&&(f.disableFontFace||g||F)){n.save();n.translate(s,a);n.scale(u,-u);this.dependencyTracker?.recordCharacterBBox(e,n,f);let t;if(v===o||v===c)if(r){t=n.getTransform();n.setTransform(...r);const e=canvas_assertClassBrand(Le,this,_getScaledPath).call(this,P,t,r);n.fill(e)}else n.fill(P);if(v===l||v===c)if(i){t||=n.getTransform();n.setTransform(...i);const{a:e,b:s,c:a,d:r}=t,o=Util.inverseTransform(i),l=Util.transform([e,s,a,r,0,0],o);Util.singularValueDecompose2dScale(l,Ce);n.lineWidth*=Math.max(Ce[0],Ce[1])/u;n.stroke(canvas_assertClassBrand(Le,this,_getScaledPath).call(this,P,t,i))}else{n.lineWidth/=u;n.stroke(P)}n.restore()}else{if(v===o||v===c){n.fillText(t,s,a);this.dependencyTracker?.recordCharacterBBox(e,n,f,u,s,a,()=>n.measureText(t))}if(v===l||v===c){this.dependencyTracker&&this.dependencyTracker?.recordCharacterBBox(e,n,f,u,s,a,()=>n.measureText(t)).recordDependencies(e,ee);n.strokeText(t,s,a)}}if(m){(this.pendingTextPaths||=[]).push({transform:getCurrentTransform(n),x:s,y:a,fontSize:u,path:P});this.dependencyTracker?.recordCharacterBBox(e,n,f,u,s,a)}}get isFontSubpixelAAEnabled(){const e=this.canvasFactory.create(10,10),t=e.context;t.scale(1.5,1);t.fillText("I",0,10);const s=t.getImageData(0,0,10,10).data;this.canvasFactory.destroy(e);let a=!1;for(let e=3;e<s.length;e+=4)if(s[e]>0&&s[e]<255){a=!0;break}return shadow(this,"isFontSubpixelAAEnabled",a)}showText(e,t){if(this.dependencyTracker){this.dependencyTracker.recordDependencies(e,re).resetBBox(e);this.current.textRenderingMode&p&&this.dependencyTracker.recordFutureForcedDependency("textClip",e).inheritPendingDependenciesAsFutureForcedDependencies()}const s=this.current,a=s.font;if(a.isType3Font){const a=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,s.fillAlpha);this.showType3Text(e,t);this.dependencyTracker?.recordShowTextOperation(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,a);return}const r=s.fontSize;if(0===r){this.dependencyTracker?.recordOperation(e);return}const i=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,s.fillAlpha),n=this.ctx,d=s.fontSizeScale,f=s.charSpacing,_=s.wordSpacing,u=s.fontDirection,v=s.textHScale*u,m=t.length,g=a.vertical,F=g?1:-1,P=r*s.fontMatrix[0],y=s.textRenderingMode===o&&!a.disableFontFace&&!s.patternFill;n.save();s.textMatrix&&n.transform(...s.textMatrix);n.translate(s.x,s.y+s.textRise);u>0?n.scale(v,-1):n.scale(v,1);let b,k;const x=s.textRenderingMode&h,C=x===o||x===c,S=x===l||x===c;let w=s.lineWidth;const M=s.textMatrixScale;0===M||0===w?S&&(w=this.getSinglePixelWidth()):w/=M;if(1!==d){n.scale(d,d);w/=d}n.lineWidth=w;C&&s.patternFill&&([n.fillStyle,b]=canvas_assertClassBrand(Le,this,_getTextPattern).call(this,s.fillColor,Fe,e));S&&s.patternStroke&&([n.strokeStyle,k]=canvas_assertClassBrand(Le,this,_getTextPattern).call(this,s.strokeColor,Pe,e));if(a.isInvalidPDFjsFont){const a=[];let r=0;for(const e of t){a.push(e.unicode);r+=e.width}const o=a.join("");n.fillText(o,0,0);if(null!==this.dependencyTracker){const t=n.measureText(o);this.dependencyTracker.recordBBox(e,this.ctx,-t.actualBoundingBoxLeft,t.actualBoundingBoxRight,-t.actualBoundingBoxAscent,t.actualBoundingBoxDescent).recordShowTextOperation(e)}s.x+=r*P*v;n.restore();this.compose();canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,i);return}let B,T=0,G=null;for(B=0;B<m;++B){const i=t[B];if("number"==typeof i){T+=F*i*r/1e3;continue}let o=!1;const l=(i.isSpace?_:0)+f,c=i.fontChar,h=i.accent;let p,v,m,x=i.width;if(g){const e=i.vmetric,t=-e[1]*P,s=e[2]*P;x=-e[0];p=t/d;v=(T+s)/d;if(i.isRotated){m=n.measureText(c);const e=P/d,t=i.width/2*e,s=p+t;p=v-380*e-t;v=(m.actualBoundingBoxAscent-m.actualBoundingBoxDescent)/2-s;o=!0;n.save();n.rotate(Math.PI/2)}}else{p=T/d;v=0}const C=i.isRotated?i.width:x;let S=1;if((a.remeasure||i.isRotated)&&C>0){m??=n.measureText(c);const e=1e3*m.width/r*d;if(C<e&&this.isFontSubpixelAAEnabled){S=C/e;if(!o){o=!0;n.save()}n.scale(S,1);p/=S}else C!==e&&(p+=(C-e)/2e3*r/d)}if(o&&a.missingFile&&(b||k)){G||=new Map;[n.fillStyle,n.strokeStyle]=G.getOrInsertComputed(i.isRotated?-S:S,()=>[b?canvas_assertClassBrand(Le,this,_getTextPattern).call(this,s.fillColor,Fe,e)[0]:n.fillStyle,k?canvas_assertClassBrand(Le,this,_getTextPattern).call(this,s.strokeColor,Pe,e)[0]:n.strokeStyle])}if(this.contentVisible&&(i.isInFont||a.missingFile))if(y&&!h){n.fillText(c,p,v);this.dependencyTracker?.recordCharacterBBox(e,n,m?{bbox:null}:a,r/d,p,v,()=>m??n.measureText(c))}else{this.paintChar(e,c,p,v,b,k);if(h){const t=p+r*h.offset.x/d,s=v-r*h.offset.y/d;this.paintChar(e,h.fontChar,t,s,b,k)}}T+=g?x*P-l*u:x*P+l*u;o&&n.restore()}g?s.y-=T:s.x+=T*v;n.restore();this.compose();this.dependencyTracker?.recordShowTextOperation(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,i)}showType3Text(e,t){const s=this.ctx,a=this.current,i=a.font,n=a.fontSize,o=a.fontDirection,l=i.vertical?1:-1,c=a.charSpacing,h=a.wordSpacing,p=a.textHScale*o,f=a.fontMatrix||r,_=t.length,u=a.textRenderingMode!==d;let v,m,g,F;if(0===n)return;this._cachedScaleForStroking[0]=-1;s.save();a.textMatrix&&s.transform(...a.textMatrix);s.translate(a.x,a.y+a.textRise);s.scale(p,o);const P=this.dependencyTracker;this.dependencyTracker=P?new CanvasNestedDependencyTracker(P,e):null;try{for(v=0;v<_;++v){m=t[v];if("number"==typeof m){F=l*m*n/1e3;this.ctx.translate(F,0);a.x+=F*p;continue}const e=(m.isSpace?h:0)+c,r=i.charProcOperatorList.get(m.operatorListId);if(r){if(this.contentVisible&&u){this.save();s.scale(n,n);s.transform(...f);this.executeOperatorList(r);this.restore()}}else warn(`Type3 character "${m.operatorListId}" is not available.`);g=m.width*f[0]*n+e*o;s.translate(g,0);a.x+=g*p}}finally{P&&(this.dependencyTracker=P)}s.restore()}setCharWidth(e,t,s){}setCharWidthAndBounds(e,t,s,a,r,i,n){const o=new Path2D;o.rect(a,r,i-a,n-r);this.ctx.clip(o);this.dependencyTracker?.recordBBox(e,this.ctx,a,i,r,n).recordClipBox(e,this.ctx,a,i,r,n);this.endPath(e)}getColorN_Pattern(e,t){let s;if("TilingPattern"===t[0]){const e=this.baseTransform||getCurrentTransform(this.ctx),a={createCanvasGraphics:(e,t)=>new CanvasGraphics(e,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack,pixelRatio:this.pixelRatio},void 0,void 0,this.dependencyTracker?new CanvasNestedDependencyTracker(this.dependencyTracker,t,!0):null)};s=new TilingPattern(t,this.ctx,a,e)}else s=this._getPattern(e,t[1],t[2]);return s}setStrokeColorN(e,...t){this.dependencyTracker?.recordSimpleData("strokeColor",e);this.current.strokeColor=this.getColorN_Pattern(e,t);this.current.patternStroke=!0}setFillColorN(e,...t){this.dependencyTracker?.recordSimpleData("fillColor",e);const s=this.current.fillColor=this.getColorN_Pattern(e,t);this.current.patternFill=!0;this.current.tilingPatternDims=s instanceof TilingPattern?[0,0,0,0]:null}setStrokeRGBColor(e,t){this.dependencyTracker?.recordSimpleData("strokeColor",e);this.current.strokeColor=t;this.ctx.strokeStyle=canvas_assertClassBrand(Le,this,_transferColor).call(this,t);this.current.patternStroke=!1}setStrokeTransparent(e){this.dependencyTracker?.recordSimpleData("strokeColor",e);this.ctx.strokeStyle=this.current.strokeColor="transparent";this.current.patternStroke=!1}setFillRGBColor(e,t){this.dependencyTracker?.recordSimpleData("fillColor",e);this.current.fillColor=t;this.ctx.fillStyle=canvas_assertClassBrand(Le,this,_transferColor).call(this,t);this.current.patternFill=!1;this.current.tilingPatternDims=null}setFillTransparent(e){this.dependencyTracker?.recordSimpleData("fillColor",e);this.ctx.fillStyle=this.current.fillColor="transparent";this.current.patternFill=!1;this.current.tilingPatternDims=null}_getPattern(e,t,s=null){const a=this.cachedPatterns.getOrInsertComputed(t,()=>function getShadingPattern(e){switch(e[0]){case"RadialAxial":return new RadialAxialShadingPattern(e);case"Mesh":return new MeshShadingPattern(e);case"Dummy":return new DummyShadingPattern}throw new Error(`Unknown IR type: ${e[0]}`)}(this.getObject(e,t)));s&&(a.matrix=s);return a}shadingFill(e,t){if(!this.contentVisible)return;const s=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),r=this.ctx;this.save(e);const i=this._getPattern(e,t);r.fillStyle=i.getPattern(r,this,getCurrentTransformInverse(r),ye,e);const n=getCurrentTransformInverse(r);if(n){const{width:e,height:t}=r.canvas,s=a.slice();Util.axialAlignedBoundingBox([0,0,e,t],n,s);const[i,o,l,c]=s;this.ctx.fillRect(i,o,l-i,c-o)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.dependencyTracker?.resetBBox(e).recordFullPageBBox(e).recordDependencies(e,ie).recordDependencies(e,te).recordOperation(e);this.compose(this.current.getClippedPathBoundingBox());this.restore(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,s)}beginInlineImage(){unreachable("Should not call beginInlineImage")}beginImageData(){unreachable("Should not call beginImageData")}paintFormXObjectBegin(e,t,s){if(this.contentVisible){this.save(e);this.baseTransformStack.push(this.baseTransform);t&&this.transform(e,...t);this.baseTransform=getCurrentTransform(this.ctx);if(s){Util.axialAlignedBoundingBox(s,this.baseTransform,this.current.minMax);const[t,a,r,i]=s,n=new Path2D;n.rect(t,a,r-t,i-a);this.ctx.clip(n);this.dependencyTracker?.recordClipBox(e,this.ctx,t,r,a,i);this.endPath(e)}}}paintFormXObjectEnd(e){if(this.contentVisible){this.restore(e);this.baseTransform=this.baseTransformStack.pop()}}beginGroup(e,t){if(!this.contentVisible)return;this.save(e);const{inSMaskMode:s}=this;if(s){this.endSMaskMode();this.current.activeSMask=null}const r=this.ctx;if(!(t.needsIsolation&&(t.isolated||t.hasSoftMask)||t.knockout||t.isGray||0!==canvas_classPrivateFieldGet(Ge,this)||1!==r.globalAlpha||"source-over"!==r.globalCompositeOperation||s)){if(t.bbox){let e=new Path2D;const[s,a,i,n]=t.bbox;e.rect(s,a,i-s,n-a);if(t.matrix){const s=new Path2D;s.addPath(e,new DOMMatrix(t.matrix));e=s}r.clip(e)}this.groupStack.push(null);canvas_classPrivateFieldGet(We,this).push(null);this.groupLevel++;return}t.isolated||t.knockout||0!==canvas_classPrivateFieldGet(Ge,this)||info("TODO: Fully support non-isolated non-knockout groups.");const i=getCurrentTransform(r);t.matrix&&r.transform(...t.matrix);const n=[0,0,r.canvas.width,r.canvas.height];let o;if(t.bbox){o=a.slice();Util.axialAlignedBoundingBox(t.bbox,getCurrentTransform(r),o);o=Util.intersect(o,n)||[0,0,0,0]}else o=n;const l=Math.floor(o[0]),c=Math.floor(o[1]),d=Math.max(Math.ceil(o[2])-l,1),h=Math.max(Math.ceil(o[3])-c,1);this.current.startNewPathAndClipBox([0,0,d,h]);const p=this.canvasFactory.create(d,h);t.smask&&this.smaskGroupCanvases.push(p);const f=p.context,_=t.knockout&&!t.isolated?r:null,u=!t.isolated&&!t.knockout&&!t.smask&&t.needsIsolation&&canvas_classPrivateFieldGet(Ge,this)>0,v=t.knockout?this.canvasFactory.create(d,h):null,m=canvas_classPrivateFieldGet(Ge,this);if(t.knockout){var g;canvas_classPrivateFieldSet(Ge,this,(g=canvas_classPrivateFieldGet(Ge,this),g++,g))}else canvas_classPrivateFieldSet(Ge,this,0);f.translate(-l,-c);f.transform(...i);const F=!t.isolated&&!t.smask&&t.needsIsolation,P=F&&!s&&0===m&&!t.knockout&&!t.isGray&&t.hasSoftMask&&1===r.globalAlpha&&"source-over"===r.globalCompositeOperation&&"none"===this.current.transferMaps&&!this.current.transferMapsFallback;if(F&&(s||P)){f.save();f.setTransform(1,0,0,1,0,0);f.drawImage(r.canvas,-l,-c);f.restore()}if(t.bbox){let e=new Path2D;const[s,a,r,i]=t.bbox;e.rect(s,a,r-s,i-a);if(t.matrix){const s=new Path2D;s.addPath(e,new DOMMatrix(t.matrix));e=s}f.clip(e)}t.smask&&this.smaskStack.push({canvas:p.canvas,context:f,offsetX:l,offsetY:c,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null});if(!t.smask||this.dependencyTracker){r.setTransform(1,0,0,1,0,0);r.translate(l,c);r.save()}copyCtxState(r,f);this.ctx=f;this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(r);this.setGState(e,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]);this.groupStack.push(r);canvas_classPrivateFieldGet(We,this).push({backdropCtx:_,savedKnockoutLevel:m,offsetX:l,offsetY:c,hasInnerBackdrop:u,replaceBackdrop:P,knockoutMaskEntry:v,knockoutTempEntry:null,knockoutBackdropEntry:null});this.groupLevel++}endGroup(e,t){if(!this.contentVisible)return;this.groupLevel--;const s=this.ctx,r=this.groupStack.pop(),i=canvas_classPrivateFieldGet(We,this).pop();i&&canvas_classPrivateFieldSet(Ge,this,i.savedKnockoutLevel);if(null!==r){t.isGray&&canvas_assertClassBrand(Le,this,_convertGroupToGray).call(this,s);this.ctx=r;this.ctx.imageSmoothingEnabled=!1;this.dependencyTracker?.popBaseTransform();if(t.smask){this.tempSMask=this.smaskStack.pop();this.restore(e);if(this.dependencyTracker){this.ctx.restore();this.inSMaskMode&&this.ctx.setTransform(this.suspendedCtx.getTransform())}canvas_assertClassBrand(Le,this,_destroyKnockoutPools).call(this,i)}else{this.ctx.restore();const t=getCurrentTransform(this.ctx);this.restore(e);this.current.transferMapsFallback?.applyToCanvas(s);this.ctx.save();this.ctx.setTransform(...t);const n=a.slice();Util.axialAlignedBoundingBox([0,0,s.canvas.width,s.canvas.height],t,n);const o=canvas_classPrivateFieldGet(We,this).at(-1);if(canvas_classPrivateFieldGet(Ge,this)>0)if(i.hasInnerBackdrop){const{width:e,height:a}=s.canvas,n=this.canvasFactory.create(e,a),o=n.context;o.drawImage(r.canvas,i.offsetX,i.offsetY,e,a,0,0,e,a);o.globalCompositeOperation="source-over";o.drawImage(s.canvas,0,0);const l=canvas_assertClassBrand(Le,this,_createKnockoutMaskCanvas).call(this,s.canvas);o.globalCompositeOperation="destination-in";o.drawImage(l.canvas,0,0);const c=this.ctx.globalCompositeOperation,d=this.ctx.globalAlpha,h=this.ctx.filter;this.ctx.save();this.ctx.setTransform(...t);this.ctx.globalAlpha=1;FeatureTest.isCanvasFilterSupported&&(this.ctx.filter="none");this.ctx.globalCompositeOperation="destination-out";this.ctx.drawImage(l.canvas,0,0);this.ctx.globalCompositeOperation=c;this.ctx.globalAlpha=d;FeatureTest.isCanvasFilterSupported&&(this.ctx.filter=h??"none");this.ctx.drawImage(n.canvas,0,0);this.ctx.restore();this.canvasFactory.destroy(l);this.canvasFactory.destroy(n)}else{const e=o?.backdropCtx??null;canvas_assertClassBrand(Le,this,_compositeKnockoutSurface).call(this,this.ctx,s.canvas,{backdropCanvas:e?.canvas??null,destTransform:t,backdropOffset:e?[o.offsetX+i.offsetX,o.offsetY+i.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else{if(i.replaceBackdrop){const e=new Path2D;e.rect(0,0,s.canvas.width,s.canvas.height);this.ctx.clip(e);this.ctx.globalCompositeOperation="copy"}this.ctx.drawImage(s.canvas,0,0)}this.ctx.restore();this.canvasFactory.destroy({canvas:s.canvas,context:s});canvas_assertClassBrand(Le,this,_destroyKnockoutPools).call(this,i);this.compose(n)}}else this.restore(e)}beginAnnotation(e,t,s,a,r,i,n){canvas_assertClassBrand(Le,this,_restoreInitialState).call(this);resetCtxToDefault(this.ctx);this.ctx.save();this.save(e);this.baseTransform&&this.ctx.setTransform(...this.baseTransform);if(s){const r=s[2]-s[0],o=s[3]-s[1];if(i&&this.annotationCanvasMap){(a=a.slice())[4]-=s[0];a[5]-=s[1];Util.singularValueDecompose2dScale(getCurrentTransform(this.ctx),Ce);const{viewportScale:e}=this,i=Math.ceil(r*this.outputScaleX*e),l=Math.ceil(o*this.outputScaleY*e);this.annotationCanvas=this.canvasFactory.create(i,l);const{canvas:c,context:d}=this.annotationCanvas;if(n){const e=this.annotationCanvasMap.getOrInsertComputed(t,makeArr);!function setAnnotationCanvasName(e,t){e.setAttribute?.("data-canvas-name",t);e._pdfjsCanvasName=t}(c,n);const s=e.findIndex(e=>getAnnotationCanvasName(e)===n);-1===s?e.push(c):e[s]=c}else this.annotationCanvasMap.set(t,c);this.annotationCanvas.savedCtx=this.ctx;this.ctx=d;this.ctx.save();this.ctx.setTransform(Ce[0],0,0,-Ce[1],0,o*Ce[1]);resetCtxToDefault(this.ctx)}else{resetCtxToDefault(this.ctx);this.endPath(e);const t=new Path2D;t.rect(s[0],s[1],r,o);this.ctx.clip(t)}}this.current=new CanvasExtraState(this.ctx.canvas.width,this.ctx.canvas.height);this.baseTransformStack.push(this.baseTransform);this.transform(e,...a);this.transform(e,...r);this.baseTransform=getCurrentTransform(this.ctx)}endAnnotation(e){if(this.annotationCanvas){this.ctx.restore();canvas_assertClassBrand(Le,this,_drawFilter).call(this);this.ctx=this.annotationCanvas.savedCtx;delete this.annotationCanvas.savedCtx;delete this.annotationCanvas}this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(e,t){if(!this.contentVisible)return;const s=t.count;(t=this.getObject(e,t.data,t)).count=s;const a=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),r=this.ctx,i=this._createMaskCanvas(e,t),n=i.canvas;r.save();r.setTransform(1,0,0,1,0,0);r.drawImage(n,i.offsetX,i.offsetY);this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,i.offsetX,i.offsetX+n.width,i.offsetY,i.offsetY+n.height).recordOperation(e);r.restore();i.canvasEntry&&this.canvasFactory.destroy(i.canvasEntry);this.compose();canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,a)}paintImageMaskXObjectRepeat(e,t,s,a=0,r=0,i,n){if(!this.contentVisible)return;t=this.getObject(e,t.data,t);const o=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),l=this.ctx;l.save();const c=getCurrentTransform(l);l.transform(s,a,r,i,0,0);const d=this._createMaskCanvas(e,t);l.setTransform(1,0,0,1,d.offsetX-c[4],d.offsetY-c[5]);this.dependencyTracker?.resetBBox(e);for(let t=0,o=n.length;t<o;t+=2){const o=Util.transform(c,[s,a,r,i,n[t],n[t+1]]);l.drawImage(d.canvas,o[4],o[5]);this.dependencyTracker?.recordBBox(e,this.ctx,o[4],o[4]+d.canvas.width,o[5],o[5]+d.canvas.height)}l.restore();d.canvasEntry&&this.canvasFactory.destroy(d.canvasEntry);this.compose();this.dependencyTracker?.recordOperation(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,o)}paintImageMaskXObjectGroup(e,t){if(!this.contentVisible)return;const s=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),a=this.ctx,r=this.current.patternFill,i=r?this.current.fillColor:a.fillStyle;this.dependencyTracker?.resetBBox(e).recordDependencies(e,ne);for(const s of t){const{data:t,width:n,height:o,transform:l}=s,c=this.canvasFactory.create(n,o),d=c.context;d.save();putBinaryImageMask(d,this.getObject(e,t,s));d.globalCompositeOperation="source-in";d.fillStyle=r?i.getPattern(d,this,getCurrentTransformInverse(a),Fe,e):i;d.fillRect(0,0,n,o);d.restore();a.save();a.transform(...l);a.scale(1,-1);drawImageAtIntegerCoords(a,c.canvas,0,0,n,o,0,-1,1,1);this.canvasFactory.destroy(c);this.dependencyTracker?.recordBBox(e,a,0,n,0,o);a.restore()}this.compose();this.dependencyTracker?.recordOperation(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,s)}paintImageXObject(e,t){if(!this.contentVisible)return;const s=this.getObject(e,t);s?this.paintInlineImageXObject(e,s):warn("Dependent image isn't ready yet")}paintImageXObjectRepeat(e,t,s,a,r){if(!this.contentVisible)return;const i=this.getObject(e,t);if(!i){warn("Dependent image isn't ready yet");return}const n=i.width,o=i.height,l=[];for(let e=0,t=r.length;e<t;e+=2)l.push({transform:[s,0,0,a,r[e],r[e+1]],x:0,y:0,w:n,h:o});this.paintInlineImageXObjectGroup(e,i,l)}applyTransferMapsToCanvas(e){if("none"!==this.current.transferMaps){e.filter=this.current.transferMaps;e.drawImage(e.canvas,0,0);e.filter="none"}else this.current.transferMapsFallback?.applyToCanvas(e);return e.canvas}applyTransferMapsToBitmap(e){const{transferMaps:t,transferMapsFallback:s}=this.current;if("none"===t&&!s)return{img:e.bitmap,canvasEntry:null};const{bitmap:a,width:r,height:i}=e,n=this.canvasFactory.create(r,i),o=n.context;o.filter=t;o.drawImage(a,0,0);o.filter="none";s?.applyToCanvas(o);return{img:n.canvas,canvasEntry:n}}paintInlineImageXObject(e,t){if(!this.contentVisible)return;const s=t.width,a=t.height,r=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),i=this.ctx;this.save(e);const{filter:n}=i;"none"!==n&&""!==n&&(i.filter="none");i.scale(1/s,-1/a);let o,l=null;if(t.bitmap){const e=this.applyTransferMapsToBitmap(t);o=e.img;l=e.canvasEntry}else{const e=this.canvasFactory.create(s,a);putBinaryImageData(e.context,t);o=this.applyTransferMapsToCanvas(e.context);l=e}const c=this._scaleImage(o,getCurrentTransformInverse(i));i.imageSmoothingEnabled=getImageSmoothingEnabled(getCurrentTransform(i),t.interpolate,this.pixelRatio);if(this.dependencyTracker){this.dependencyTracker.resetBBox(e).recordBBox(e,i,0,s,-a,0).recordDependencies(e,se).recordOperation(e);this.imagesTracker?.record(i,s,a,this.dependencyTracker.clipBox)}drawImageAtIntegerCoords(i,c.img,0,0,c.paintWidth,c.paintHeight,0,-a,s,a);c.tmpCanvas&&this.canvasFactory.destroy(c.tmpCanvas);l&&this.canvasFactory.destroy(l);this.compose();this.restore(e);canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,r)}paintInlineImageXObjectGroup(e,t,s){if(!this.contentVisible)return;const a=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha),r=this.ctx;let i,n=null;if(t.bitmap&&!this.current.transferMapsFallback)i=t.bitmap;else if(t.bitmap)({img:i,canvasEntry:n}=this.applyTransferMapsToBitmap(t));else{const e=t.width,s=t.height,a=this.canvasFactory.create(e,s);putBinaryImageData(a.context,t);i=this.applyTransferMapsToCanvas(a.context);n=a}this.dependencyTracker?.resetBBox(e);for(const t of s){r.save();r.transform(...t.transform);r.scale(1,-1);drawImageAtIntegerCoords(r,i,t.x,t.y,t.w,t.h,0,-1,1,1);this.dependencyTracker?.recordBBox(e,r,0,1,-1,0);r.restore()}n&&this.canvasFactory.destroy(n);this.dependencyTracker?.recordOperation(e);this.compose();canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,a)}paintSolidColorImageMask(e){if(!this.contentVisible)return;const t=canvas_assertClassBrand(Le,this,_beginKnockoutElement).call(this,this.current.fillAlpha);this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,0,1,0,1).recordDependencies(e,te).recordOperation(e);this.ctx.fillRect(0,0,1,1);this.compose();canvas_assertClassBrand(Le,this,_endKnockoutElement).call(this,t)}markPoint(e,t){}markPointProps(e,t,s){}beginMarkedContent(e,t){this.dependencyTracker?.beginMarkedContent(e);this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e,t,s){this.dependencyTracker?.beginMarkedContent(e);"OC"===t?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(s)}):this.markedContentStack.push({visible:!0});this.contentVisible=this.isContentVisible()}endMarkedContent(e){this.dependencyTracker?.endMarkedContent(e);this.markedContentStack.pop();this.contentVisible=this.isContentVisible()}beginCompat(e){}endCompat(e){}consumePath(e,t,s){const a=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath();this.pendingClip||this.compose(s);const r=this.ctx;if(this.pendingClip){a||(this.pendingClip===Te?r.clip(t,"evenodd"):r.clip(t));this.pendingClip=null;this.dependencyTracker?.bboxToClipBoxDropOperation(e).recordFutureForcedDependency("clipPath",e)}else this.dependencyTracker?.recordOperation(e);this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){const e=getCurrentTransform(this.ctx);if(0===e[1]&&0===e[2])return 1/Math.min(Math.abs(e[0]),Math.abs(e[3]));const t=Math.abs(e[0]*e[3]-e[2]*e[1]),s=Math.hypot(e[0],e[2]),a=Math.hypot(e[1],e[3]);return Math.max(s,a)/t}getScaleForStroking(){if(-1===this._cachedScaleForStroking[0]){const{lineWidth:e}=this.current,{a:t,b:s,c:a,d:r}=this.ctx.getTransform();let i,n;if(0===s&&0===a){const s=Math.abs(t),a=Math.abs(r);if(s===a)if(0===e)i=n=1/s;else{const t=s*e;i=n=t<1?1/t:1}else if(0===e){i=1/s;n=1/a}else{const t=s*e,r=a*e;i=t<1?1/t:1;n=r<1?1/r:1}}else{const o=Math.abs(t*r-s*a),l=Math.hypot(t,s),c=Math.hypot(a,r);if(0===e){i=c/o;n=l/o}else{const t=e*o;i=c>t?c/t:1;n=l>t?l/t:1}}this._cachedScaleForStroking[0]=i;this._cachedScaleForStroking[1]=n}return this._cachedScaleForStroking}rescaleAndStroke(e,t){const{ctx:s,current:{lineWidth:a}}=this,[r,i]=this.getScaleForStroking();if(r===i){s.lineWidth=(a||1)*r;s.stroke(e);return}const n=Ue._??(Ue._=new DOMMatrix),o=s.getLineDash();t&&s.save();s.scale(r,i);n.a=1/r;n.d=1/i;const l=new Path2D;l.addPath(e,n);if(o.length>0){const e=Math.max(r,i);s.setLineDash(o.map(t=>t/e));s.lineDashOffset/=e}s.lineWidth=a||1;s.stroke(l);t&&s.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}}function _restoreInitialState(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.current.activeSMask=null;this.ctx.restore();if(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.canvasFactory.destroy(this.transparentCanvasEntry);this.transparentCanvas=null;this.transparentCanvasEntry=null}}function _drawFilter(){if(this.pageColors){const e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if("none"!==e){const t=this.ctx.filter;this.ctx.filter=e;this.ctx.drawImage(this.ctx.canvas,0,0);this.ctx.filter=t}}}function _createKnockoutMaskCanvas(e,t=null,s=1){const{width:a,height:r}=e,i=t??this.canvasFactory.create(a,r),n=i.context,o=(s=Math.round(255*s)/255)<1;o&&void 0===canvas_classPrivateFieldGet(Ne,this)&&canvas_classPrivateFieldSet(Ne,this,FeatureTest.isCanvasFilterSupported?new Map:"none");let l="none";o&&canvas_classPrivateFieldGet(Ne,this)instanceof Map&&(l=canvas_classPrivateFieldGet(Ne,this).getOrInsertComputed(s,()=>this.filterFactory.addKnockoutFilter(s)));if(!o||"none"!==l){if(t){n.save();n.setTransform(1,0,0,1,0,0);n.clearRect(0,0,a,r);n.restore()}n.filter=l;n.drawImage(e,0,0);n.filter="none";return i}const c=e.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,a,r),d=n.createImageData(a,r),h=c.data,p=d.data,f=s>0?1/s:1e6;for(let e=3,t=h.length;e<t;e+=4)p[e]=Math.min(Math.round(h[e]*f),255);n.putImageData(d,0,0);return i}function _getOrCreatePooledEntry(e,t,s,a){let r=e?.[t]??null;if(r&&(r.canvas.width!==s||r.canvas.height!==a)){this.canvasFactory.destroy(r);r=null}if(!r){r=this.canvasFactory.create(s,a);e&&(e[t]=r);return r}const i=r.context;i.save();i.setTransform(1,0,0,1,0,0);i.clearRect(0,0,s,a);i.restore();return r}function _compositeKnockoutSurface(e,t,s={}){const{backdropCanvas:a=null,destTransform:r=[1,0,0,1,0,0],backdropOffset:i=[0,0],reuseMaskEntry:n=null,poolMeta:o=null,sourceAlpha:l=1,sourceFilter:c="none",knockoutAlpha:d=1}=s,{width:h,height:p}=t,f=canvas_assertClassBrand(Le,this,_createKnockoutMaskCanvas).call(this,t,n,d),_=e.globalCompositeOperation;e.save();e.setTransform(...r);e.globalAlpha=1;FeatureTest.isCanvasFilterSupported&&(e.filter="none");e.globalCompositeOperation="destination-out";e.drawImage(f.canvas,0,0);if(a){const[t,s]=i,r=canvas_assertClassBrand(Le,this,_getOrCreatePooledEntry).call(this,o,"knockoutBackdropEntry",h,p),n=r.context;n.drawImage(a,t,s,h,p,0,0,h,p);n.globalCompositeOperation="destination-in";n.drawImage(f.canvas,0,0);n.globalCompositeOperation="source-over";e.globalCompositeOperation="destination-over";e.drawImage(r.canvas,0,0);o||this.canvasFactory.destroy(r)}e.globalCompositeOperation=_;e.globalAlpha=l;FeatureTest.isCanvasFilterSupported&&(e.filter=c??"none");e.drawImage(t,0,0);e.restore();n||this.canvasFactory.destroy(f)}function _beginKnockoutElement(e=1){var t;if(0===canvas_classPrivateFieldGet(Ge,this)||canvas_classPrivateFieldGet(Ie,this)>0||!this.contentVisible)return!1;canvas_classPrivateFieldSet(Ie,this,(t=canvas_classPrivateFieldGet(Ie,this),t++,t));canvas_classPrivateFieldSet(je,this,e);const s=canvas_classPrivateFieldGet(We,this).at(-1),{canvas:a}=this.ctx,r=canvas_assertClassBrand(Le,this,_getOrCreatePooledEntry).call(this,s,"knockoutTempEntry",a.width,a.height);canvas_classPrivateFieldSet(Oe,this,r);const i=r.context;i.save();i.setTransform(this.ctx.getTransform());copyCtxState(this.ctx,i);canvas_classPrivateFieldSet(Ee,this,i.globalCompositeOperation);i.globalCompositeOperation="source-over";mirrorContextOperations(i,this.ctx);canvas_classPrivateFieldSet(Re,this,s);canvas_classPrivateFieldSet(De,this,this.ctx);canvas_classPrivateFieldSet(Ae,this,this.suspendedCtx);this.ctx=i;this.inSMaskMode&&(this.suspendedCtx=i);return!0}function _endKnockoutElement(e){if(!e)return;const t=canvas_classPrivateFieldGet(Oe,this),s=canvas_classPrivateFieldGet(De,this),a=canvas_classPrivateFieldGet(Ae,this),r=t.context;canvas_classPrivateFieldSet(Oe,this,null);canvas_classPrivateFieldSet(De,this,null);canvas_classPrivateFieldSet(Ae,this,null);this.inSMaskMode&&this.suspendedCtx===r&&this.ctx!==r&&this.endSMaskMode();this.inSMaskMode&&(this.suspendedCtx=a);this.ctx._removeMirroring();this.ctx.globalCompositeOperation=canvas_classPrivateFieldGet(Ee,this);canvas_classPrivateFieldSet(Ee,this,null);copyCtxState(this.ctx,s);this.ctx=s;const i=canvas_classPrivateFieldGet(Re,this);canvas_classPrivateFieldSet(Re,this,null);const n=canvas_classPrivateFieldGet(je,this);canvas_classPrivateFieldSet(je,this,1);try{canvas_assertClassBrand(Le,this,_compositeKnockoutSurface).call(this,a??s,t.canvas,{backdropCanvas:i?.backdropCtx?.canvas??null,backdropOffset:i?.backdropCtx?[i.offsetX,i.offsetY]:[0,0],reuseMaskEntry:i?.knockoutMaskEntry??null,poolMeta:i,knockoutAlpha:n})}finally{var o;r.restore();canvas_classPrivateFieldSet(Ie,this,(o=canvas_classPrivateFieldGet(Ie,this),o--,o));i||this.canvasFactory.destroy(t)}}function _getScaledPath(e,t,s){const a=new Path2D;a.addPath(e,new DOMMatrix(s).invertSelf().multiplySelf(t));return a}function _getTextPattern(e,t,s){const a=this.ctx;a.save();const r=e.getPattern(a,this,getCurrentTransformInverse(a),t,s),i=getCurrentTransform(a);a.restore();return[r,i]}function _transferColor(e){return this.current.transferMapsFallback?.applyToColor(e)??e}function _convertGroupToGray(e){const{canvas:t}=e,{width:s,height:a}=t;if(FeatureTest.isCanvasFilterSupported){e.save();e.setTransform(1,0,0,1,0,0);e.filter="grayscale(1)";e.globalAlpha=1;e.globalCompositeOperation="copy";e.drawImage(t,0,0);e.restore();return}const r=e.getImageData(0,0,s,a),{data:i}=r;for(let e=0,t=i.length;e<t;e+=4){const t=.2126*i[e]+.7152*i[e+1]+.0722*i[e+2]+.5|0;i[e]=i[e+1]=i[e+2]=t}e.putImageData(r,0,0)}function _destroyKnockoutPools(e){if(e){if(e.knockoutMaskEntry){this.canvasFactory.destroy(e.knockoutMaskEntry);e.knockoutMaskEntry=null}if(e.knockoutTempEntry){this.canvasFactory.destroy(e.knockoutTempEntry);e.knockoutTempEntry=null}if(e.knockoutBackdropEntry){this.canvasFactory.destroy(e.knockoutBackdropEntry);e.knockoutBackdropEntry=null}}}var Ue={_:null},Xe={_:new WeakMap};for(const e in g)void 0!==CanvasGraphics.prototype[e]&&(CanvasGraphics.prototype[g[e]]=CanvasGraphics.prototype[e]);const ze=/\p{Cc}/u;function serializeFontFamily(e){if(function isCSSString(e){const t=e[0];if(e.length<2||'"'!==t&&"'"!==t||e.at(-1)!==t)return!1;const s=e.length-1;for(let a=1;a<s;a++){const r=e[a];if(r===t||ze.test(r))return!1;if("\\"===r&&(++a>=s||ze.test(e[a])))return!1}return!0}(e))return e;return`"${e.replaceAll(/["\\\p{Cc}]/gu,e=>'"'===e||"\\"===e?`\\${e}`:`\\${e.codePointAt(0).toString(16)} `)}"`}function font_loader_classPrivateFieldInitSpec(e,t,s){font_loader_checkPrivateRedeclaration(e,t),t.set(e,s)}function font_loader_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function font_loader_classPrivateFieldGet(e,t){return e.get(font_loader_assertClassBrand(e,t))}function font_loader_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}var Ve=new WeakMap,Ye=new WeakMap,Ke=new WeakMap,$e=new WeakSet;class FontLoader{constructor({ownerDocument:e=globalThis.document,styleElement:t=null}){!function font_loader_classPrivateMethodInitSpec(e,t){font_loader_checkPrivateRedeclaration(e,t),t.add(e)}(this,$e);font_loader_classPrivateFieldInitSpec(this,Ve,new Set);font_loader_classPrivateFieldInitSpec(this,Ye,new Set);font_loader_classPrivateFieldInitSpec(this,Ke,null);this._document=e;this.styleElement=null}addNativeFontFace(e){font_loader_classPrivateFieldGet(Ve,this).add(e);this._document.fonts.add(e)}removeNativeFontFace(e){font_loader_classPrivateFieldGet(Ve,this).delete(e);this._document.fonts.delete(e)}insertRule(e){throw new Error("Not implemented: insertRule")}clear(){for(const e of font_loader_classPrivateFieldGet(Ve,this))this._document.fonts.delete(e);font_loader_classPrivateFieldGet(Ve,this).clear();font_loader_classPrivateFieldGet(Ye,this).clear()}async loadSystemFont({systemFontInfo:e,disableFontFace:t,_inspectFont:s}){if(e&&!font_loader_classPrivateFieldGet(Ye,this).has(e.loadedName)){assert(!t,"loadSystemFont shouldn't be called when `disableFontFace` is set.");if(this.isFontLoadingAPISupported){const{loadedName:t,src:a,style:r}=e,i=new FontFace(t,a,r);this.addNativeFontFace(i);try{await i.load();font_loader_classPrivateFieldGet(Ye,this).add(t);s?.(e)}catch{warn(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`);this.removeNativeFontFace(i)}return}unreachable("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(e){if(!(e.attached||e.missingFile&&!e.systemFontInfo)){e.attached=!0;if(!e.systemFontInfo){if(this.isFontLoadingAPISupported){const t=e.createNativeFontFace();if(t){this.addNativeFontFace(t);try{await t.loaded}catch(s){warn(`Failed to load font '${t.family}': '${s}'.`);e.disableFontFace=!0;throw s}}return}throw new Error("Not implemented: DOM font loading")}await this.loadSystemFont(e)}}get isFontLoadingAPISupported(){return shadow(this,"isFontLoadingAPISupported",!!this._document?.fonts)}get isSyncFontLoadingSupported(){return shadow(this,"isSyncFontLoadingSupported",t||FeatureTest.platform.isFirefox)}}var He=new WeakMap,qe=new WeakMap;class FontFaceObject{constructor(e,t=null,s,a){font_loader_classPrivateFieldInitSpec(this,He,new Map);font_loader_classPrivateFieldInitSpec(this,qe,void 0);!function font_loader_classPrivateFieldSet(e,t,s){return e.set(font_loader_assertClassBrand(e,t),s),s}(qe,this,e);this._inspectFont=t;s&&(this.charProcOperatorList=s);a&&Object.assign(this,a)}createNativeFontFace(){const{data:e}=this;if(!e||this.disableFontFace)return null;let t;if(this.cssFontInfo){const s={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(s.style=`oblique ${this.cssFontInfo.italicAngle}deg`);t=new FontFace(serializeFontFamily(this.cssFontInfo.fontFamily),e,s)}else t=new FontFace(this.loadedName,e,{});this._inspectFont?.(this);return t}createFontFaceRule(){throw new Error("Not implemented: createFontFaceRule")}getPathGenerator(e,t){let s=font_loader_classPrivateFieldGet(He,this).get(t);if(s)return s;const a=`${this.loadedName}_path_${t}`;let r;try{r=e.get(a)}catch(e){warn(`getPathGenerator - ignoring character: "${e}".`)}s=makePathFromDrawOPS(r?.path);this.fontExtraProperties||e.delete(a);font_loader_classPrivateFieldGet(He,this).set(t,s);return s}get black(){return font_loader_classPrivateFieldGet(qe,this).black}get bold(){return font_loader_classPrivateFieldGet(qe,this).bold}get disableFontFace(){return font_loader_classPrivateFieldGet(qe,this).disableFontFace}set disableFontFace(e){shadow(this,"disableFontFace",!!e)}get fontExtraProperties(){return font_loader_classPrivateFieldGet(qe,this).fontExtraProperties}get isInvalidPDFjsFont(){return font_loader_classPrivateFieldGet(qe,this).isInvalidPDFjsFont}get isType3Font(){return font_loader_classPrivateFieldGet(qe,this).isType3Font}get italic(){return font_loader_classPrivateFieldGet(qe,this).italic}get missingFile(){return font_loader_classPrivateFieldGet(qe,this).missingFile}get remeasure(){return font_loader_classPrivateFieldGet(qe,this).remeasure}get vertical(){return font_loader_classPrivateFieldGet(qe,this).vertical}get bbox(){return font_loader_classPrivateFieldGet(qe,this).bbox}get fontMatrix(){return font_loader_classPrivateFieldGet(qe,this).fontMatrix}get fallbackName(){return font_loader_classPrivateFieldGet(qe,this).fallbackName}get loadedName(){return font_loader_classPrivateFieldGet(qe,this).loadedName}get mimetype(){return this.missingFile?null:"font/opentype"}get data(){return font_loader_classPrivateFieldGet(qe,this).data}clearData(){font_loader_classPrivateFieldGet(qe,this).clearData()}get cssFontInfo(){return font_loader_classPrivateFieldGet(qe,this).cssFontInfo}get systemFontInfo(){return font_loader_classPrivateFieldGet(qe,this).systemFontInfo}}function message_handler_classPrivateFieldInitSpec(e,t,s){message_handler_checkPrivateRedeclaration(e,t),t.set(e,s)}function message_handler_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function message_handler_classPrivateFieldGet(e,t){return e.get(message_handler_assertClassBrand(e,t))}function message_handler_classPrivateFieldSet(e,t,s){return e.set(message_handler_assertClassBrand(e,t),s),s}function message_handler_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}const Je=1,Ze=2,Qe=1,et=2,tt=3,st=4,at=5,rt=6,it=7,nt=8;function onFn(){}function wrapReason(e){if(e instanceof AbortException||e instanceof InvalidPDFException||e instanceof PasswordException||e instanceof ResponseException||e instanceof UnknownErrorException)return e;if("object"!=typeof e||null===e)return new UnknownErrorException(String(e),String(e));switch(e.name){case"AbortException":return new AbortException(e.message);case"InvalidPDFException":return new InvalidPDFException(e.message);case"PasswordException":return new PasswordException(e.message,e.code);case"ResponseException":return new ResponseException(e.message,e.status,e.missing);case"UnknownErrorException":return new UnknownErrorException(e.message,e.details)}return new UnknownErrorException(e.message,e.toString())}var ot,lt=new WeakMap,ct=new WeakMap,dt=new WeakMap,ht=new WeakMap,pt=new WeakMap,ft=new WeakMap,_t=new WeakMap,ut=new WeakMap,vt=new WeakMap,mt=new WeakMap,gt=new WeakSet;class MessageHandler{constructor(e,t,s){!function message_handler_classPrivateMethodInitSpec(e,t){message_handler_checkPrivateRedeclaration(e,t),t.add(e)}(this,gt);message_handler_classPrivateFieldInitSpec(this,lt,new Map);message_handler_classPrivateFieldInitSpec(this,ct,new Map);message_handler_classPrivateFieldInitSpec(this,dt,1);message_handler_classPrivateFieldInitSpec(this,ht,void 0);message_handler_classPrivateFieldInitSpec(this,pt,new AbortController);message_handler_classPrivateFieldInitSpec(this,ft,void 0);message_handler_classPrivateFieldInitSpec(this,_t,new Map);message_handler_classPrivateFieldInitSpec(this,ut,1);message_handler_classPrivateFieldInitSpec(this,vt,new Map);message_handler_classPrivateFieldInitSpec(this,mt,void 0);message_handler_classPrivateFieldSet(ft,this,e);message_handler_classPrivateFieldSet(mt,this,t);message_handler_classPrivateFieldSet(ht,this,s);s.addEventListener("message",message_handler_assertClassBrand(gt,this,_onMessage).bind(this),{signal:message_handler_classPrivateFieldGet(pt,this).signal})}on(e,t){const s=message_handler_classPrivateFieldGet(lt,this);if(s.has(e))throw new Error(`There is already a "${e}" handler.`);s.set(e,t)}send(e,t,s){message_handler_classPrivateFieldGet(ht,this).postMessage({sourceName:message_handler_classPrivateFieldGet(ft,this),targetName:message_handler_classPrivateFieldGet(mt,this),action:e,data:t},s)}sendWithPromise(e,t,s){var a,r;const i=(message_handler_classPrivateFieldSet(dt,this,(a=message_handler_classPrivateFieldGet(dt,this),r=a++,a)),r),n=Promise.withResolvers();message_handler_classPrivateFieldGet(ct,this).set(i,n);try{message_handler_classPrivateFieldGet(ht,this).postMessage({sourceName:message_handler_classPrivateFieldGet(ft,this),targetName:message_handler_classPrivateFieldGet(mt,this),action:e,callbackId:i,data:t},s)}catch(e){n.reject(e)}return n.promise}sendWithStream(e,t,s,a){var r,i;const n=(message_handler_classPrivateFieldSet(ut,this,(r=message_handler_classPrivateFieldGet(ut,this),i=r++,r)),i),o=message_handler_classPrivateFieldGet(ft,this),l=message_handler_classPrivateFieldGet(mt,this),c=message_handler_classPrivateFieldGet(ht,this);return new ReadableStream({start:s=>{const r=Promise.withResolvers();message_handler_classPrivateFieldGet(_t,this).set(n,{controller:s,startCall:r,pullCall:null,cancelCall:null,isClosed:!1});c.postMessage({sourceName:o,targetName:l,action:e,streamId:n,data:t,desiredSize:s.desiredSize},a);return r.promise},pull:e=>{const t=Promise.withResolvers();message_handler_classPrivateFieldGet(_t,this).get(n).pullCall=t;c.postMessage({sourceName:o,targetName:l,stream:rt,streamId:n,desiredSize:e.desiredSize});return t.promise},cancel:e=>{assert(e instanceof Error,"cancel must have a valid reason");const t=Promise.withResolvers();message_handler_classPrivateFieldGet(_t,this).get(n).cancelCall=t;message_handler_classPrivateFieldGet(_t,this).get(n).isClosed=!0;c.postMessage({sourceName:o,targetName:l,stream:Qe,streamId:n,reason:wrapReason(e)});return t.promise}},s)}destroy(){message_handler_classPrivateFieldGet(pt,this)?.abort();message_handler_classPrivateFieldSet(pt,this,null)}get destroyed(){return!message_handler_classPrivateFieldGet(pt,this)}}function _onMessage({data:e}){if(e.targetName!==message_handler_classPrivateFieldGet(ft,this))return;if(e.stream){message_handler_assertClassBrand(gt,this,_processStreamMessage).call(this,e);return}if(e.callback){const{callbackId:t,callback:s}=e,a=message_handler_classPrivateFieldGet(ct,this).get(t);if(!a)throw new Error(`Cannot resolve callback ${t}`);message_handler_classPrivateFieldGet(ct,this).delete(t);if(s===Je)a.resolve(e.data);else{if(s!==Ze)throw new Error("Unexpected callback case");a.reject(wrapReason(e.reason))}return}const t=message_handler_classPrivateFieldGet(lt,this).get(e.action);if(!t)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const s=message_handler_classPrivateFieldGet(ft,this),a=e.sourceName,r=message_handler_classPrivateFieldGet(ht,this);Promise.try(t,e.data).then(t=>{r.postMessage({sourceName:s,targetName:a,callback:Je,callbackId:e.callbackId,data:t})}).catch(t=>{r.postMessage({sourceName:s,targetName:a,callback:Ze,callbackId:e.callbackId,reason:wrapReason(t)})});return}e.streamId?message_handler_assertClassBrand(gt,this,_createStreamSink).call(this,e):t(e.data)}function _createStreamSink(e){const t=e.streamId,s=message_handler_classPrivateFieldGet(ft,this),a=e.sourceName,r=message_handler_classPrivateFieldGet(ht,this),i=message_handler_classPrivateFieldGet(vt,this),n=message_handler_classPrivateFieldGet(lt,this).get(e.action),o={enqueue(e,i=1,n){if(this.isCancelled)return;const o=this.desiredSize;this.desiredSize-=i;if(o>0&&this.desiredSize<=0){this.sinkCapability=Promise.withResolvers();this.ready=this.sinkCapability.promise}r.postMessage({sourceName:s,targetName:a,stream:st,streamId:t,chunk:e},n)},close(){if(!this.isCancelled){this.isCancelled=!0;r.postMessage({sourceName:s,targetName:a,stream:tt,streamId:t});i.delete(t)}},error(e){if(!this.isCancelled){this.isCancelled=!0;r.postMessage({sourceName:s,targetName:a,stream:at,streamId:t,reason:wrapReason(e)})}},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};o.sinkCapability.resolve();o.ready=o.sinkCapability.promise;i.set(t,o);Promise.try(n,e.data,o).then(()=>{r.postMessage({sourceName:s,targetName:a,stream:nt,streamId:t,success:!0})},e=>{r.postMessage({sourceName:s,targetName:a,stream:nt,streamId:t,reason:wrapReason(e)})})}function _processStreamMessage(e){const t=e.streamId,s=message_handler_classPrivateFieldGet(ft,this),a=e.sourceName,r=message_handler_classPrivateFieldGet(ht,this),i=message_handler_classPrivateFieldGet(_t,this).get(t),n=message_handler_classPrivateFieldGet(vt,this).get(t);switch(e.stream){case nt:e.success?i.startCall.resolve():i.startCall.reject(wrapReason(e.reason));break;case it:e.success?i.pullCall.resolve():i.pullCall.reject(wrapReason(e.reason));break;case rt:if(!n){r.postMessage({sourceName:s,targetName:a,stream:it,streamId:t,success:!0});break}n.desiredSize<=0&&e.desiredSize>0&&n.sinkCapability.resolve();n.desiredSize=e.desiredSize;Promise.try(n.onPull||onFn).then(()=>{r.postMessage({sourceName:s,targetName:a,stream:it,streamId:t,success:!0})},e=>{r.postMessage({sourceName:s,targetName:a,stream:it,streamId:t,reason:wrapReason(e)})});break;case st:assert(i,"enqueue should have stream controller");if(i.isClosed)break;i.controller.enqueue(e.chunk);break;case tt:assert(i,"close should have stream controller");if(i.isClosed)break;i.isClosed=!0;i.controller.close();message_handler_assertClassBrand(gt,this,_deleteStreamController).call(this,i,t);break;case at:assert(i,"error should have stream controller");i.controller.error(wrapReason(e.reason));message_handler_assertClassBrand(gt,this,_deleteStreamController).call(this,i,t);break;case et:e.success?i.cancelCall.resolve():i.cancelCall.reject(wrapReason(e.reason));message_handler_assertClassBrand(gt,this,_deleteStreamController).call(this,i,t);break;case Qe:if(!n)break;const o=wrapReason(e.reason);Promise.try(n.onCancel||onFn,o).then(()=>{r.postMessage({sourceName:s,targetName:a,stream:et,streamId:t,success:!0})},e=>{r.postMessage({sourceName:s,targetName:a,stream:et,streamId:t,reason:wrapReason(e)})});n.sinkCapability.reject(o);n.isCancelled=!0;message_handler_classPrivateFieldGet(vt,this).delete(t);break;default:throw new Error("Unexpected stream case")}}async function _deleteStreamController(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]);message_handler_classPrivateFieldGet(_t,this).delete(t)}function obj_bin_transform_utils_defineProperty(e,t,s){return(t=function obj_bin_transform_utils_toPropertyKey(e){var t=function obj_bin_transform_utils_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class CSS_FONT_INFO{}obj_bin_transform_utils_defineProperty(CSS_FONT_INFO,"strings",["fontFamily","fontWeight","italicAngle"]);class SYSTEM_FONT_INFO{}obj_bin_transform_utils_defineProperty(SYSTEM_FONT_INFO,"strings",["css","loadedName","baseFontName","src"]);class FONT_INFO{}ot=FONT_INFO;obj_bin_transform_utils_defineProperty(FONT_INFO,"bools",["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"]);obj_bin_transform_utils_defineProperty(FONT_INFO,"strings",["fallbackName","loadedName"]);obj_bin_transform_utils_defineProperty(FONT_INFO,"OFFSET_BBOX",Math.ceil(2*ot.bools.length/8));obj_bin_transform_utils_defineProperty(FONT_INFO,"OFFSET_FONT_MATRIX",ot.OFFSET_BBOX+1+8);obj_bin_transform_utils_defineProperty(FONT_INFO,"OFFSET_STRINGS",ot.OFFSET_FONT_MATRIX+1+48);class PATTERN_INFO{}obj_bin_transform_utils_defineProperty(PATTERN_INFO,"KIND",0);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"HAS_BBOX",1);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"HAS_BACKGROUND",2);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"SHADING_TYPE",3);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"N_COORD",4);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"N_COLOR",8);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"N_STOP",12);obj_bin_transform_utils_defineProperty(PATTERN_INFO,"N_FIGURES",16);class InfoUtils{static get decoder(){return shadow(this,"decoder",new TextDecoder)}static get encoder(){return shadow(this,"encoder",new TextEncoder)}}function obj_bin_transform_display_classPrivateMethodInitSpec(e,t){obj_bin_transform_display_checkPrivateRedeclaration(e,t),t.add(e)}function obj_bin_transform_display_classPrivateFieldInitSpec(e,t,s){obj_bin_transform_display_checkPrivateRedeclaration(e,t),t.set(e,s)}function obj_bin_transform_display_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function obj_bin_transform_display_classPrivateFieldGet(e,t){return e.get(obj_bin_transform_display_assertClassBrand(e,t))}function obj_bin_transform_display_classPrivateFieldSet(e,t,s){return e.set(obj_bin_transform_display_assertClassBrand(e,t),s),s}function obj_bin_transform_display_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}function readString(e,t,s,a=0){const{decoder:r}=InfoUtils;for(let e=0;e<s;e++)a+=t.getUint32(a)+4;const i=t.getUint32(a);return r.decode(new Uint8Array(e,a+4,i))}var Ft=new WeakMap,Pt=new WeakMap,yt=new WeakSet;class CssFontInfo{constructor(e){obj_bin_transform_display_classPrivateMethodInitSpec(this,yt);obj_bin_transform_display_classPrivateFieldInitSpec(this,Ft,void 0);obj_bin_transform_display_classPrivateFieldInitSpec(this,Pt,void 0);obj_bin_transform_display_classPrivateFieldSet(Ft,this,e);obj_bin_transform_display_classPrivateFieldSet(Pt,this,new DataView(e))}get fontFamily(){return shadow(this,"fontFamily",obj_bin_transform_display_assertClassBrand(yt,this,_readString).call(this,0))}get fontWeight(){return shadow(this,"fontWeight",obj_bin_transform_display_assertClassBrand(yt,this,_readString).call(this,1))}get italicAngle(){return shadow(this,"italicAngle",obj_bin_transform_display_assertClassBrand(yt,this,_readString).call(this,2))}}function _readString(e){assert(e<CSS_FONT_INFO.strings.length,"Invalid string index");return readString(obj_bin_transform_display_classPrivateFieldGet(Ft,this),obj_bin_transform_display_classPrivateFieldGet(Pt,this),e)}var bt=new WeakMap,kt=new WeakMap,xt=new WeakSet;class SystemFontInfo{constructor(e){obj_bin_transform_display_classPrivateMethodInitSpec(this,xt);obj_bin_transform_display_classPrivateFieldInitSpec(this,bt,void 0);obj_bin_transform_display_classPrivateFieldInitSpec(this,kt,void 0);obj_bin_transform_display_classPrivateFieldSet(bt,this,e);obj_bin_transform_display_classPrivateFieldSet(kt,this,new DataView(e))}get css(){return shadow(this,"css",obj_bin_transform_display_assertClassBrand(xt,this,_readString2).call(this,0))}get loadedName(){return shadow(this,"loadedName",obj_bin_transform_display_assertClassBrand(xt,this,_readString2).call(this,1))}get baseFontName(){return shadow(this,"baseFontName",obj_bin_transform_display_assertClassBrand(xt,this,_readString2).call(this,2))}get src(){return shadow(this,"src",obj_bin_transform_display_assertClassBrand(xt,this,_readString2).call(this,3))}get style(){let e=0;e+=4+obj_bin_transform_display_classPrivateFieldGet(kt,this).getUint32(e);return shadow(this,"style",{style:readString(obj_bin_transform_display_classPrivateFieldGet(bt,this),obj_bin_transform_display_classPrivateFieldGet(kt,this),0,e),weight:readString(obj_bin_transform_display_classPrivateFieldGet(bt,this),obj_bin_transform_display_classPrivateFieldGet(kt,this),1,e)})}}function _readString2(e){assert(e<SYSTEM_FONT_INFO.strings.length,"Invalid string index");return readString(obj_bin_transform_display_classPrivateFieldGet(bt,this),obj_bin_transform_display_classPrivateFieldGet(kt,this),e,4)}var Ct=new WeakMap,St=new WeakMap,wt=new WeakSet;class FontInfo{constructor(e){obj_bin_transform_display_classPrivateMethodInitSpec(this,wt);obj_bin_transform_display_classPrivateFieldInitSpec(this,Ct,void 0);obj_bin_transform_display_classPrivateFieldInitSpec(this,St,void 0);obj_bin_transform_display_classPrivateFieldSet(Ct,this,e);obj_bin_transform_display_classPrivateFieldSet(St,this,new DataView(e))}get black(){return shadow(this,"black",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,0))}get bold(){return shadow(this,"bold",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,1))}get disableFontFace(){return shadow(this,"disableFontFace",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,2))}get fontExtraProperties(){return shadow(this,"fontExtraProperties",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,3))}get isInvalidPDFjsFont(){return shadow(this,"isInvalidPDFjsFont",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,4))}get isType3Font(){return shadow(this,"isType3Font",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,5))}get italic(){return shadow(this,"italic",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,6))}get missingFile(){return shadow(this,"missingFile",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,7))}get remeasure(){return shadow(this,"remeasure",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,8))}get vertical(){return shadow(this,"vertical",obj_bin_transform_display_assertClassBrand(wt,this,_readBoolean).call(this,9))}get bbox(){return shadow(this,"bbox",obj_bin_transform_display_assertClassBrand(wt,this,_readArray).call(this,FONT_INFO.OFFSET_BBOX,4,"getInt16",2))}get fontMatrix(){return shadow(this,"fontMatrix",obj_bin_transform_display_assertClassBrand(wt,this,_readArray).call(this,FONT_INFO.OFFSET_FONT_MATRIX,6,"getFloat64",8))}get fallbackName(){return shadow(this,"fallbackName",obj_bin_transform_display_assertClassBrand(wt,this,_readString3).call(this,0))}get loadedName(){return shadow(this,"loadedName",obj_bin_transform_display_assertClassBrand(wt,this,_readString3).call(this,1))}get data(){const{offset:e,length:t}=obj_bin_transform_display_assertClassBrand(wt,this,_getBufferOffset).call(this,2);return t?new Uint8Array(obj_bin_transform_display_classPrivateFieldGet(Ct,this),e+4,t):void 0}clearData(){const{offset:e,length:t}=obj_bin_transform_display_assertClassBrand(wt,this,_getBufferOffset).call(this,2);if(t){obj_bin_transform_display_classPrivateFieldGet(St,this).setUint32(e,0);obj_bin_transform_display_classPrivateFieldSet(Ct,this,new Uint8Array(obj_bin_transform_display_classPrivateFieldGet(Ct,this),0,e+4).slice().buffer);obj_bin_transform_display_classPrivateFieldSet(St,this,new DataView(obj_bin_transform_display_classPrivateFieldGet(Ct,this)))}}get cssFontInfo(){const{offset:e,length:t}=obj_bin_transform_display_assertClassBrand(wt,this,_getBufferOffset).call(this,1);let s=null;if(t){const a=new Uint8Array(obj_bin_transform_display_classPrivateFieldGet(Ct,this),e+4,t).slice();s=new CssFontInfo(a.buffer)}return shadow(this,"cssFontInfo",s)}get systemFontInfo(){const{offset:e,length:t}=obj_bin_transform_display_assertClassBrand(wt,this,_getBufferOffset).call(this,0);let s=null;if(t){const a=new Uint8Array(obj_bin_transform_display_classPrivateFieldGet(Ct,this),e+4,t).slice();s=new SystemFontInfo(a.buffer)}return shadow(this,"systemFontInfo",s)}}function _readBoolean(e){assert(e<FONT_INFO.bools.length,"Invalid boolean index");const t=Math.floor(e/4),s=2*e%8,a=obj_bin_transform_display_classPrivateFieldGet(St,this).getUint8(t)>>s&3;return 0===a?void 0:2===a}function _readArray(e,t,s,a){const r=obj_bin_transform_display_classPrivateFieldGet(St,this).getUint8(e++);if(0===r)return;assert(r===t,"Invalid array length.");const i=new Array(r);for(let t=0;t<r;t++){i[t]=obj_bin_transform_display_classPrivateFieldGet(St,this)[s](e,!0);e+=a}return i}function _readString3(e){assert(e<FONT_INFO.strings.length,"Invalid string index");return readString(obj_bin_transform_display_classPrivateFieldGet(Ct,this),obj_bin_transform_display_classPrivateFieldGet(St,this),e,FONT_INFO.OFFSET_STRINGS+4)}function _getBufferOffset(e){let t=FONT_INFO.OFFSET_STRINGS;for(let s=0;s<=e;s++)t+=4+obj_bin_transform_display_classPrivateFieldGet(St,this).getUint32(t);return{offset:t,length:obj_bin_transform_display_classPrivateFieldGet(St,this).getUint32(t)}}class PatternInfo{constructor(e){this.buffer=e;this.view=new DataView(e);this.data=new Uint8Array(e)}getIR(){const e=this.view,t=this.data[PATTERN_INFO.KIND],a=!!this.data[PATTERN_INFO.HAS_BBOX],r=!!this.data[PATTERN_INFO.HAS_BACKGROUND],i=e.getUint32(PATTERN_INFO.N_COORD,!0),n=e.getUint32(PATTERN_INFO.N_COLOR,!0),o=e.getUint32(PATTERN_INFO.N_STOP,!0);let l=20;const c=new Float32Array(this.buffer,l,2*i);l+=8*i;const d=new Uint8Array(this.buffer,l,4*n);l+=4*n;const h=[];for(let t=0;t<o;++t){const t=e.getFloat32(l,!0);l+=4;const s=e.getUint32(l,!0);l+=4;h.push([t,`#${s.toString(16).padStart(6,"0")}`])}let p=null;if(a){p=[];for(let t=0;t<4;++t){p.push(e.getFloat32(l,!0));l+=4}}let f=null;if(r){f=new Uint8Array(this.buffer,l,3);l+=3}if(1===t)return["RadialAxial","axial",p,h,[c[0],c[1]],[c[2],c[3]],null,null];if(2===t)return["RadialAxial","radial",p,h,[c[0],c[1]],[c[3],c[4]],c[2],c[5]];if(3===t){const e=this.data[PATTERN_INFO.SHADING_TYPE];let t=null;if(c.length>0){t=s.slice();for(let e=0,s=c.length;e<s;e+=2)Util.pointBoundingBox(c[e],c[e+1],t)}return["Mesh",e,c,d,i,t,p,f]}throw new Error(`Unsupported pattern kind: ${t}`)}}var Mt=new WeakMap;class FontPathInfo{constructor(e){obj_bin_transform_display_classPrivateFieldInitSpec(this,Mt,void 0);obj_bin_transform_display_classPrivateFieldSet(Mt,this,e)}get path(){return FeatureTest.isFloat16ArraySupported?new Float16Array(obj_bin_transform_display_classPrivateFieldGet(Mt,this)):new Float32Array(obj_bin_transform_display_classPrivateFieldGet(Mt,this))}}function pdf_objects_classPrivateFieldInitSpec(e,t,s){(function pdf_objects_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,s)}function pdf_objects_classPrivateFieldGet(e,t){return e.get(function pdf_objects_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}(e,t))}const Bt=Symbol("INITIAL_DATA"),dataObj=()=>({...Promise.withResolvers(),data:Bt});var Tt=new WeakMap;class PDFObjects{constructor(){pdf_objects_classPrivateFieldInitSpec(this,Tt,new Map)}get(e,t=null,s=null){if(t){const a=pdf_objects_classPrivateFieldGet(Tt,this).getOrInsertComputed(e,dataObj);a.promise.then(()=>t(a.data),s);return null}const a=pdf_objects_classPrivateFieldGet(Tt,this).get(e);if(!a||a.data===Bt)throw new Error(`Requesting object that isn't resolved yet ${e}.`);return a.data}has(e){const t=pdf_objects_classPrivateFieldGet(Tt,this).get(e);return!!t&&t.data!==Bt}delete(e){const t=pdf_objects_classPrivateFieldGet(Tt,this).get(e);if(!t||t.data===Bt)return!1;pdf_objects_classPrivateFieldGet(Tt,this).delete(e);return!0}resolve(e,t=null){const s=pdf_objects_classPrivateFieldGet(Tt,this).getOrInsertComputed(e,dataObj);if(s.data!==Bt)throw new Error(`Object already resolved ${e}.`);s.data=t;s.resolve()}reject(e,t){const s=pdf_objects_classPrivateFieldGet(Tt,this).getOrInsertComputed(e,dataObj);if(s.data===Bt){s.promise.catch(()=>{});s.reject(t)}}clear(){for(const{data:e}of pdf_objects_classPrivateFieldGet(Tt,this).values())e?.bitmap?.close();pdf_objects_classPrivateFieldGet(Tt,this).clear()}*[Symbol.iterator](){for(const[e,{data:t}]of pdf_objects_classPrivateFieldGet(Tt,this))t!==Bt&&(yield[e,t])}}class ObjectHandler{constructor({messageHandler:e,commonObjs:t,fontLoader:s,pageCache:a,pdfBug:r=!1,shouldCreatePageObjs:i=!1}){this.messageHandler=e;this.commonObjs=t;this.fontLoader=s;this.pageCache=a;this.pdfBug=r;this.shouldCreatePageObjs=i}resolveCommonObject(e,t,s){if("CopyLocalImage"===t){const{imageRef:t}=s;assert(t,"The imageRef must be defined.");for(const s of this.pageCache.values()){const a=s.objs||s;for(const[,s]of a){if(s?.ref!==t)continue;if(!s.dataLen)return null;const a=structuredClone(s);this.commonObjs.resolve(e,a);return s.dataLen}}return null}switch(t){case"Font":if("error"in s){const t=s.error;warn(`Error during font loading: ${t}`);this.commonObjs.resolve(e,t);break}const a=new FontInfo(s.buffer),r=new FontFaceObject(a,null,s.charProcOperatorList,s.extra);this.fontLoader.bind(r).catch(()=>this.messageHandler.sendWithPromise("FontFallback",{id:e}).catch(t=>{warn(`FontFallback failed for "${e}": ${t}`)})).finally(()=>{r.fontExtraProperties||r.clearData();this.commonObjs.resolve(e,r)});break;case"FontPath":this.commonObjs.resolve(e,new FontPathInfo(s));break;case"Image":this.commonObjs.resolve(e,s);break;case"Pattern":const i=new PatternInfo(s);this.commonObjs.resolve(e,i.getIR());break;default:throw new Error(`Got unknown common object type ${t}`)}return null}resolveObject(e,t,s,a){let r=this.pageCache.get(t);if(!r){if(!this.shouldCreatePageObjs)return!1;r=new PDFObjects;this.pageCache.set(t,r)}const i=r.objs||r;if(i.has(e))return!1;if(0===r._intentStates?.size){a?.bitmap?.close();return!1}switch(s){case"Image":case"Pattern":i.resolve(e,a);return!0;default:throw new Error(`Got unknown object type ${s}`)}}}function canvas_factory_classPrivateFieldInitSpec(e,t,s){(function canvas_factory_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,s)}function canvas_factory_classPrivateFieldGet(e,t){return e.get(canvas_factory_assertClassBrand(e,t))}function canvas_factory_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}var Gt=new WeakMap;class BaseCanvasFactory{constructor({enableHWA:e=!1}){canvas_factory_classPrivateFieldInitSpec(this,Gt,!1);!function canvas_factory_classPrivateFieldSet(e,t,s){return e.set(canvas_factory_assertClassBrand(e,t),s),s}(Gt,this,e)}create(e,t){if(e<=0||t<=0)throw new Error("Invalid canvas size");const s=this._createCanvas(e,t);return{canvas:s,context:s.getContext("2d",{willReadFrequently:!canvas_factory_classPrivateFieldGet(Gt,this)})}}reset({canvas:e},t,s){if(!e)throw new Error("Canvas is not specified");if(t<=0||s<=0)throw new Error("Invalid canvas size");e.width=t;e.height=s}destroy(e){const{canvas:t}=e;if(!t)throw new Error("Canvas is not specified");t.width=t.height=0;e.canvas=null;e.context=null}getNoAlphaContext(e){return e.getContext("2d",{alpha:!1,willReadFrequently:!canvas_factory_classPrivateFieldGet(Gt,this)})}_createCanvas(e,t){unreachable("Abstract method `_createCanvas` called.")}}class OffscreenCanvasFactory extends BaseCanvasFactory{_createCanvas(e,t){return new OffscreenCanvas(e,t)}}const It=3285377520,Ot=4294901760,Dt=65535;class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:It;this.h2=e?4294967295&e:It}update(e){let t,s;if("string"==typeof e){t=new Uint8Array(2*e.length);s=0;for(let a=0,r=e.length;a<r;a++){const r=e.charCodeAt(a);if(r<=255)t[s++]=r;else{t[s++]=r>>>8;t[s++]=255&r}}}else{if(!ArrayBuffer.isView(e))throw new Error("Invalid data format, must be a string or TypedArray.");t=e.slice();s=t.byteLength}const a=s>>2,r=s-4*a,i=new Uint32Array(t.buffer,0,a);let n=0,o=0,l=this.h1,c=this.h2;const d=3432918353,h=461845907,p=11601,f=13715;for(let e=0;e<a;e++)if(1&e){n=i[e];n=n*d&Ot|n*p&Dt;n=n<<15|n>>>17;n=n*h&Ot|n*f&Dt;l^=n;l=l<<13|l>>>19;l=5*l+3864292196}else{o=i[e];o=o*d&Ot|o*p&Dt;o=o<<15|o>>>17;o=o*h&Ot|o*f&Dt;c^=o;c=c<<13|c>>>19;c=5*c+3864292196}n=0;switch(r){case 3:n^=t[4*a+2]<<16;case 2:n^=t[4*a+1]<<8;case 1:n^=t[4*a];n=n*d&Ot|n*p&Dt;n=n<<15|n>>>17;n=n*h&Ot|n*f&Dt;1&a?l^=n:c^=n}this.h1=l;this.h2=c}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&Ot|36045*e&Dt;t=4283543511*t&Ot|(2950163797*(t<<16|e>>>16)&Ot)>>>16;e^=t>>>1;e=444984403*e&Ot|60499*e&Dt;t=3301882366*t&Ot|(3120437893*(t<<16|e>>>16)&Ot)>>>16;e^=t>>>1;return(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}function optional_content_config_defineProperty(e,t,s){return(t=function optional_content_config_toPropertyKey(e){var t=function optional_content_config_toPrimitive(e,t){if("object"!=typeof e||!e)return e;var s;if("undefined"!=typeof Symbol&&void 0!==(s=e[Symbol.toPrimitive])){var a=s.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function optional_content_config_classPrivateFieldInitSpec(e,t,s){optional_content_config_checkPrivateRedeclaration(e,t),t.set(e,s)}function optional_content_config_checkPrivateRedeclaration(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function optional_content_config_classPrivateFieldGet(e,t){return e.get(optional_content_config_assertClassBrand(e,t))}function optional_content_config_classPrivateFieldSet(e,t,s){return e.set(optional_content_config_assertClassBrand(e,t),s),s}function optional_content_config_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}const At=Symbol("INTERNAL");var Et=new WeakMap,jt=new WeakMap,Nt=new WeakMap,Rt=new WeakMap;class OptionalContentGroup{constructor(e,{name:t,intent:s,usage:a,rbGroups:r}){optional_content_config_classPrivateFieldInitSpec(this,Et,!1);optional_content_config_classPrivateFieldInitSpec(this,jt,!1);optional_content_config_classPrivateFieldInitSpec(this,Nt,!1);optional_content_config_classPrivateFieldInitSpec(this,Rt,!0);optional_content_config_classPrivateFieldSet(Et,this,!!(e&i));optional_content_config_classPrivateFieldSet(jt,this,!!(e&n));this.name=t;this.intent=s;this.usage=a;this.rbGroups=r}get visible(){if(optional_content_config_classPrivateFieldGet(Nt,this))return optional_content_config_classPrivateFieldGet(Rt,this);if(!optional_content_config_classPrivateFieldGet(Rt,this))return!1;const{print:e,view:t}=this.usage;return optional_content_config_classPrivateFieldGet(Et,this)?"OFF"!==t?.viewState:!optional_content_config_classPrivateFieldGet(jt,this)||"OFF"!==e?.printState}_setVisible(e,t,s=!1){e!==At&&unreachable("Internal method `_setVisible` called.");optional_content_config_classPrivateFieldSet(Nt,this,s);optional_content_config_classPrivateFieldSet(Rt,this,t)}get serializable(){return{userSet:optional_content_config_classPrivateFieldGet(Nt,this),visible:optional_content_config_classPrivateFieldGet(Rt,this)}}}var Wt,Lt=new WeakMap,Ut=new WeakMap,Xt=new WeakMap,zt=new WeakMap,Vt=new WeakMap,Yt=new WeakSet;class OptionalContentConfig{constructor(e,t=i,s=null){!function optional_content_config_classPrivateMethodInitSpec(e,t){optional_content_config_checkPrivateRedeclaration(e,t),t.add(e)}(this,Yt);optional_content_config_classPrivateFieldInitSpec(this,Lt,null);optional_content_config_classPrivateFieldInitSpec(this,Ut,new Map);optional_content_config_classPrivateFieldInitSpec(this,Xt,null);optional_content_config_classPrivateFieldInitSpec(this,zt,null);optional_content_config_classPrivateFieldInitSpec(this,Vt,void 0);optional_content_config_defineProperty(this,"creator",null);optional_content_config_defineProperty(this,"name",null);optional_content_config_classPrivateFieldSet(Vt,this,e);this.renderingIntent=t;if(null!==e){this.name=e.name;this.creator=e.creator;optional_content_config_classPrivateFieldSet(zt,this,e.order);for(const s of e.groups)optional_content_config_classPrivateFieldGet(Ut,this).set(s.id,new OptionalContentGroup(t,s));if(s){s.size!==optional_content_config_classPrivateFieldGet(Ut,this).size&&unreachable("Incorrect serialized groupState.");for(const[e,t]of s)optional_content_config_classPrivateFieldGet(Ut,this).get(e)._setVisible(At,t.visible,t.userSet)}else{if("OFF"===e.baseState)for(const e of optional_content_config_classPrivateFieldGet(Ut,this).values())e._setVisible(At,!1);for(const t of e.on)optional_content_config_classPrivateFieldGet(Ut,this).get(t)._setVisible(At,!0);for(const t of e.off)optional_content_config_classPrivateFieldGet(Ut,this).get(t)._setVisible(At,!1)}optional_content_config_classPrivateFieldSet(Xt,this,this.getHash())}}isVisible(e){if(0===optional_content_config_classPrivateFieldGet(Ut,this).size)return!0;if(!e){info("Optional content group not defined.");return!0}if("OCG"===e.type){if(!optional_content_config_classPrivateFieldGet(Ut,this).has(e.id)){warn(`Optional content group not found: ${e.id}`);return!0}return optional_content_config_classPrivateFieldGet(Ut,this).get(e.id).visible}if("OCMD"===e.type){if(e.expression)return optional_content_config_assertClassBrand(Yt,this,_evaluateVisibilityExpression).call(this,e.expression);if(!e.policy||"AnyOn"===e.policy){for(const t of e.ids){if(!optional_content_config_classPrivateFieldGet(Ut,this).has(t)){warn(`Optional content group not found: ${t}`);return!0}if(optional_content_config_classPrivateFieldGet(Ut,this).get(t).visible)return!0}return!1}if("AllOn"===e.policy){for(const t of e.ids){if(!optional_content_config_classPrivateFieldGet(Ut,this).has(t)){warn(`Optional content group not found: ${t}`);return!0}if(!optional_content_config_classPrivateFieldGet(Ut,this).get(t).visible)return!1}return!0}if("AnyOff"===e.policy){for(const t of e.ids){if(!optional_content_config_classPrivateFieldGet(Ut,this).has(t)){warn(`Optional content group not found: ${t}`);return!0}if(!optional_content_config_classPrivateFieldGet(Ut,this).get(t).visible)return!0}return!1}if("AllOff"===e.policy){for(const t of e.ids){if(!optional_content_config_classPrivateFieldGet(Ut,this).has(t)){warn(`Optional content group not found: ${t}`);return!0}if(optional_content_config_classPrivateFieldGet(Ut,this).get(t).visible)return!1}return!0}warn(`Unknown optional content policy ${e.policy}.`);return!0}warn(`Unknown group type ${e.type}.`);return!0}setVisibility(e,t=!0,s=!0){throw new Error("Not implemented: setVisibility")}setOCGState({state:e,preserveRB:t}){throw new Error("Not implemented: setOCGState")}get hasInitialVisibility(){return null===optional_content_config_classPrivateFieldGet(Xt,this)||this.getHash()===optional_content_config_classPrivateFieldGet(Xt,this)}getOrder(){throw new Error("Not implemented: getOrder")}getGroup(e){return optional_content_config_classPrivateFieldGet(Ut,this).get(e)||null}getHash(){if(null!==optional_content_config_classPrivateFieldGet(Lt,this))return optional_content_config_classPrivateFieldGet(Lt,this);const e=new MurmurHash3_64;for(const[t,s]of optional_content_config_classPrivateFieldGet(Ut,this))e.update(`${t}:${s.visible}`);return optional_content_config_classPrivateFieldSet(Lt,this,e.hexdigest())}[Symbol.iterator](){return optional_content_config_classPrivateFieldGet(Ut,this).entries()}get serializable(){const e=new Map;for(const[t,s]of optional_content_config_classPrivateFieldGet(Ut,this))e.set(t,s.serializable);return{data:optional_content_config_classPrivateFieldGet(Vt,this),renderingIntent:this.renderingIntent,groupState:e}}static fromSerializable({data:e,renderingIntent:t,groupState:s}){return new OptionalContentConfig(e,t,s)}}function _evaluateVisibilityExpression(e){const t=e.length;if(t<2)return!0;const s=e[0];for(let a=1;a<t;a++){const t=e[a];let r;if(Array.isArray(t))r=optional_content_config_assertClassBrand(Yt,this,_evaluateVisibilityExpression).call(this,t);else{if(!optional_content_config_classPrivateFieldGet(Ut,this).has(t)){warn(`Optional content group not found: ${t}`);return!0}r=optional_content_config_classPrivateFieldGet(Ut,this).get(t).visible}switch(s){case"And":if(!r)return!1;break;case"Or":if(r)return!0;break;case"Not":return!r;default:return!0}}return"And"===s}class BaseFilterFactory{addFilter(e){return"none"}addHCMFilter(e,t){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addKnockoutFilter(e=0){return"none"}addHighlightHCMFilter(e,t,s,a,r){return"none"}addSelectionHCMFilter(e,t){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(e=null){return null}destroy(e=!1){}}class WorkerFilterFactory extends BaseFilterFactory{}function renderer_worker_assertClassBrand(e,t,s){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:s;throw new TypeError("Private element is not present on this object")}Wt=class RendererMessageHandler{};function _getPageObjs(e){return renderer_worker_assertClassBrand(Wt,this,ts)._.getOrInsertComputed(e,()=>new PDFObjects)}function _getOperatorList(e,t){return renderer_worker_assertClassBrand(Wt,this,ss)._.getOrInsertComputed(e,makeMap).getOrInsertComputed(t,()=>({fnArray:[],argsArray:[],pathCache:new Map}))}function _collectAnnotationBitmaps(e,t){const s=e.gfx?.annotationCanvasMap;if(!s?.size)return null;const a=[];for(const[e,r]of s)for(const s of Array.isArray(r)?r:[r]){const r=s.transferToImageBitmap();a.push([e,getAnnotationCanvasName(s),r]);t.push(r)}return a}async function _sendFrame(e,t,s){const{canvas:a,renderTaskId:r}=t;let i=null;if(0===a.width||0===a.height){if(!s)return}else if(s)i=a.transferToImageBitmap();else{const{transparentCanvas:e}=t.gfx;if(e){const t=new OffscreenCanvas(a.width,a.height),s=t.getContext("2d");s.drawImage(a,0,0);s.drawImage(e,0,0);i=t.transferToImageBitmap();t.width=t.height=0}else{i=await createImageBitmap(a);if(t.aborted){i.close();return}}}const n=i?[i]:[],o=s?renderer_worker_assertClassBrand(Wt,this,_collectAnnotationBitmaps).call(this,t,n):null;e.send("RenderFrame",{renderTaskId:r,bitmap:i,annotationBitmaps:o},n)}async function _maybeSendInterimFrame(e,t){if(!(!t.partialFrames||t.aborted||Date.now()-t.lastFrameTime<500||t.operatorListIdx===t.lastFrameIdx)){try{await renderer_worker_assertClassBrand(Wt,this,_sendFrame).call(this,e,t,!1)}catch(e){warn(`Failed to send an interim frame: ${e.message}`)}t.lastFrameTime=Date.now();t.lastFrameIdx=t.operatorListIdx}}function _cleanupPage(e){renderer_worker_assertClassBrand(Wt,this,ts)._.get(e)?.clear();renderer_worker_assertClassBrand(Wt,this,ts)._.delete(e);renderer_worker_assertClassBrand(Wt,this,ss)._.delete(e);for(const[t,s]of renderer_worker_assertClassBrand(Wt,this,as)._)s.pageProxyId===e&&renderer_worker_assertClassBrand(Wt,this,_cleanupRenderTask).call(this,t)}function _cleanupRenderTask(e,t=!1){const s=renderer_worker_assertClassBrand(Wt,this,as)._.get(e);if(s){s.aborted=!0;s.continueResolve?.();s.gfx?.endDrawing();t||renderer_worker_assertClassBrand(Wt,this,_releaseCanvases).call(this,s);renderer_worker_assertClassBrand(Wt,this,as)._.delete(e)}}function _releaseCanvases({canvas:e,gfx:t}){e.width=e.height=0;const s=t?.annotationCanvasMap;if(s){for(const e of s.values())for(const t of Array.isArray(e)?e:[e])t.width=t.height=0;s.clear()}}function _appendFromSharedOperatorList(e,t,s,a){const{operatorList:r,sharedOperatorList:i}=e,{fnArray:n,argsArray:o}=i;for(let e=r.fnArray.length;e<t;e++){r.fnArray.push(n[e]);r.argsArray.push(o[e])}if(s){const t=e.operationsFilterMask||=[];for(let e=0,a=s.length;e<a;e++)t.push(s[e])}r.lastChunk=a;e.dependencyTracker?.growOperationsCount(r.fnArray.length)}async function _executeOperatorList(e,t){const{operatorList:s,gfx:a,operationsFilterMask:r}=t,i=r?e=>r[e]:null;for(;!t.aborted;){const{promise:r,resolve:n,reject:o}=Promise.withResolvers();t.continueResolve=n;t.operatorListIdx=a.executeOperatorList(s,t.operatorListIdx,n,o,void 0,i);if(t.operatorListIdx===s.argsArray.length)return t.operatorListIdx;await renderer_worker_assertClassBrand(Wt,this,_maybeSendInterimFrame).call(this,e,t);await r;if(t.aborted)break;await renderer_worker_assertClassBrand(Wt,this,_yield).call(this)}return t.operatorListIdx}function _yield(){if(!renderer_worker_assertClassBrand(Wt,this,rs)._){rs._=renderer_worker_assertClassBrand(Wt,this,new MessageChannel);renderer_worker_assertClassBrand(Wt,this,rs)._.port1.onmessage=()=>{renderer_worker_assertClassBrand(Wt,this,is)._.shift()()}}const{promise:e,resolve:t}=Promise.withResolvers();renderer_worker_assertClassBrand(Wt,this,is)._.push(t);renderer_worker_assertClassBrand(Wt,this,rs)._.port2.postMessage(null);return e}function _setupObjectHandler(e){const t=new ObjectHandler({messageHandler:e,commonObjs:renderer_worker_assertClassBrand(Wt,this,$t)._,fontLoader:renderer_worker_assertClassBrand(Wt,this,Qt)._,pageCache:renderer_worker_assertClassBrand(Wt,this,ts)._,shouldCreatePageObjs:!0});e.on("commonobj",([e,s,a])=>{if(!renderer_worker_assertClassBrand(Wt,this,$t)._.has(e)){t.resolveCommonObject(e,s,a);"Pattern"===s&&"Mesh"===renderer_worker_assertClassBrand(Wt,this,$t)._.get(e)[0]&&(es._=renderer_worker_assertClassBrand(Wt,this,!0))}});e.on("obj",([e,s,a,r])=>{"Pattern"===a&&"Mesh"===r[0]&&(es._=renderer_worker_assertClassBrand(Wt,this,!0));t.resolveObject(e,s,a,r)});e.on("objFailed",({id:e,pageProxyId:t,reason:s})=>{const a=new Error(s);null!==t?renderer_worker_assertClassBrand(Wt,this,_getPageObjs).call(this,t).reject(e,a):renderer_worker_assertClassBrand(Wt,this,$t)._.reject(e,a)})}function _setup(e){e.on("configure",e=>{!function setVerbosityLevel(e){Number.isInteger(e)&&(x=e)}(e.verbosity);qt._=renderer_worker_assertClassBrand(Wt,this,e.enableHWA);Jt._=renderer_worker_assertClassBrand(Wt,this,e.enableWebGPU);renderer_worker_assertClassBrand(Wt,this,Jt)._&&initGPU()});renderer_worker_assertClassBrand(Wt,this,_setupObjectHandler).call(this,e);e.on("cleanupPage",({pageProxyId:e})=>{renderer_worker_assertClassBrand(Wt,this,_cleanupPage).call(this,e)});e.on("Cleanup",({keepLoadedFonts:e})=>{renderer_worker_assertClassBrand(Wt,this,$t)._.clear();e||renderer_worker_assertClassBrand(Wt,this,Qt)._.clear();renderer_worker_assertClassBrand(Wt,this,Zt)._?.destroy(!0)});e.on("CleanupRenderTask",({renderTaskId:e})=>{renderer_worker_assertClassBrand(Wt,this,_cleanupRenderTask).call(this,e)});e.on("AppendOperatorList",({pageProxyId:e,operatorListId:t,fnArray:s,argsArray:a})=>{const r=renderer_worker_assertClassBrand(Wt,this,_getOperatorList).call(this,e,t);for(let e=0,t=s.length;e<t;e++){r.fnArray.push(s[e]);r.argsArray.push(a[e])}});e.on("InitializeGraphics",async e=>{const{width:t,height:s,pageProxyId:a,operatorListId:r,renderTaskId:i,hasAnnotationCanvasMap:n=!1,transform:o,viewport:l,transparency:c,background:d,pixelRatio:h,recordOperations:p=!1,recordImages:f=!1,partialFrames:_=!1}=e,u=new OffscreenCanvas(t,s),v=renderer_worker_assertClassBrand(Wt,this,_getOperatorList).call(this,a,r),m={pageProxyId:a,renderTaskId:i,canvas:u,partialFrames:_,lastFrameTime:Date.now(),gfx:null,sharedOperatorList:v,dependencyTracker:null,imagesTracker:null,operatorList:{fnArray:[],argsArray:[],lastChunk:!1,pathCache:v.pathCache},operatorListIdx:0,lastFrameIdx:0,operationsFilterMask:null,continueResolve:null,aborted:!1};renderer_worker_assertClassBrand(Wt,this,as)._.set(i,m);try{const t=renderer_worker_assertClassBrand(Wt,this,_getPageObjs).call(this,a),s=OptionalContentConfig.fromSerializable(e.optionalContentConfig),r=renderer_worker_assertClassBrand(Wt,this,Kt)._??(Kt._=renderer_worker_assertClassBrand(Wt,this,new OffscreenCanvasFactory({enableHWA:renderer_worker_assertClassBrand(Wt,this,qt)._}))),i=renderer_worker_assertClassBrand(Wt,this,Zt)._??(Zt._=renderer_worker_assertClassBrand(Wt,this,new WorkerFilterFactory)),_=n?new Map:null,{dependencyTracker:v,imagesTracker:g}=function createCanvasTrackers(e,t,{recordOperations:s=!1,recordImages:a=!1,recordDebugMetadata:r=!1}){const i=s||a?new CanvasBBoxTracker(e,t):null;return{dependencyTracker:s?new CanvasDependencyTracker(i,r):i,imagesTracker:a?new CanvasImagesTracker(e):null}}(u,0,{recordOperations:p,recordImages:f}),F=new CanvasGraphics(r.getNoAlphaContext(u),renderer_worker_assertClassBrand(Wt,this,$t)._,t,r,i,{optionalContentConfig:s,pixelRatio:h},_,null,v,g);F.beginDrawing({transform:o,viewport:l,transparency:c,background:d});m.gfx=F;m.dependencyTracker=v;m.imagesTracker=g}catch(e){renderer_worker_assertClassBrand(Wt,this,_cleanupRenderTask).call(this,i);throw e}});e.on("ExecuteOperatorList",async t=>{const{renderTaskId:s,operatorListIdx:a,operatorListLength:r,operationsFilterMask:i,lastChunk:n}=t,o=renderer_worker_assertClassBrand(Wt,this,as)._.get(s);if(!o)return{operatorListIdx:a,aborted:!0};if(renderer_worker_assertClassBrand(Wt,this,es)._&&renderer_worker_assertClassBrand(Wt,this,Jt)._&&!isGPUReady()){await initGPU();if(o.aborted)return{operatorListIdx:a,aborted:!0}}o.operatorListIdx=a;renderer_worker_assertClassBrand(Wt,this,_appendFromSharedOperatorList).call(this,o,r,i,n);const l=await renderer_worker_assertClassBrand(Wt,this,_executeOperatorList).call(this,e,o);let c=null,d=null;if(o.operatorList.lastChunk&&l===o.operatorList.argsArray.length){c=o.dependencyTracker?.take().buffer??null;d=o.imagesTracker?.take()??null;const t=o.aborted;renderer_worker_assertClassBrand(Wt,this,_cleanupRenderTask).call(this,s,!t);if(!t)try{await renderer_worker_assertClassBrand(Wt,this,_sendFrame).call(this,e,o,!0)}finally{renderer_worker_assertClassBrand(Wt,this,_releaseCanvases).call(this,o)}}else await renderer_worker_assertClassBrand(Wt,this,_maybeSendInterimFrame).call(this,e,o);return{operatorListIdx:l,recordedBBoxesBuffer:c,imageCoordinates:d}})}function _initializeFromPort(e){const t=new MessageHandler("renderer","main",e);renderer_worker_assertClassBrand(Wt,this,_setup).call(this,t);t.on("Connect",({sourceName:t,targetName:s})=>{renderer_worker_assertClassBrand(Wt,this,_disconnect).call(this);const a=new MessageHandler(t,s,e);Ht._=renderer_worker_assertClassBrand(Wt,this,a);renderer_worker_assertClassBrand(Wt,this,_setup).call(this,a);a.on("Disconnect",()=>{renderer_worker_assertClassBrand(Wt,this,_disconnect).call(this)});renderer_worker_assertClassBrand(Wt,this,_sendReady).call(this,a)});renderer_worker_assertClassBrand(Wt,this,_sendReady).call(this,t)}function _disconnect(){if(renderer_worker_assertClassBrand(Wt,this,Ht)._){for(const e of renderer_worker_assertClassBrand(Wt,this,as)._.keys())renderer_worker_assertClassBrand(Wt,this,_cleanupRenderTask).call(this,e);for(const e of renderer_worker_assertClassBrand(Wt,this,ts)._.values())e.clear();renderer_worker_assertClassBrand(Wt,this,ts)._.clear();renderer_worker_assertClassBrand(Wt,this,ss)._.clear();es._=renderer_worker_assertClassBrand(Wt,this,!1);renderer_worker_assertClassBrand(Wt,this,$t)._.clear();renderer_worker_assertClassBrand(Wt,this,Qt)._.clear();$t._=renderer_worker_assertClassBrand(Wt,this,new PDFObjects);Qt._=renderer_worker_assertClassBrand(Wt,this,new FontLoader({ownerDocument:globalThis}));Kt._=renderer_worker_assertClassBrand(Wt,this,null);renderer_worker_assertClassBrand(Wt,this,Zt)._?.destroy();Zt._=renderer_worker_assertClassBrand(Wt,this,null);renderer_worker_assertClassBrand(Wt,this,Ht)._.send("Disconnected",null);renderer_worker_assertClassBrand(Wt,this,Ht)._.destroy();Ht._=renderer_worker_assertClassBrand(Wt,this,null)}}function _sendReady(e){const t=new Uint8Array;e.send("ready",{testObj:t,workerVersion:"6.5.1523"},[t.buffer])}var Kt={_:void 0},$t={_:new PDFObjects},Ht={_:null},qt={_:!1},Jt={_:!1},Zt={_:void 0},Qt={_:new FontLoader({ownerDocument:globalThis})},es={_:!1},ts={_:new Map},ss={_:new Map},as={_:new Map},rs={_:null},is={_:[]};"undefined"==typeof window&&!t&&"undefined"!=typeof self&&"function"==typeof self.postMessage&&"onmessage"in self&&renderer_worker_assertClassBrand(Wt,Wt,_initializeFromPort).call(Wt,self);