html2canvas-pro 2.3.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/html2canvas-pro.cjs +25 -22
- package/dist/html2canvas-pro.cjs.map +1 -1
- package/dist/html2canvas-pro.esm.js +25 -22
- package/dist/html2canvas-pro.esm.js.map +1 -1
- package/dist/html2canvas-pro.js +25 -22
- package/dist/html2canvas-pro.js.map +1 -1
- package/dist/html2canvas-pro.min.js +2 -2
- package/dist/lib/render/canvas/canvas-renderer.js +1 -1
- package/dist/lib/render/canvas/text-renderer.js +26 -20
- package/dist/types/render/canvas/text-renderer.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* html2canvas-pro 2.3.
|
|
2
|
+
* html2canvas-pro 2.3.1 <https://yorickshan.github.io/html2canvas-pro/>
|
|
3
3
|
* Copyright (c) 2024-present yorickshan and html2canvas-pro contributors
|
|
4
4
|
* Released under MIT License
|
|
5
5
|
*/
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
content: "" !important;
|
|
8
8
|
display: none !important;
|
|
9
9
|
}`,Rs=(e,t)=>{zs(e,`.${Fs}:before${Ls}
|
|
10
|
-
.${Is}:after${Ls}`,t)},zs=(e,t,n)=>{let r=e.ownerDocument;if(r){let i=r.createElement(`style`);i.textContent=t,n&&(i.nonce=n),e.appendChild(i)}},Bs=(e,t)=>{let n=e.ownerDocument.createElement(`base`);n.href=t;let r=e.getElementsByTagName(`head`).item(0);r?.insertBefore(n,r?.firstChild??null)};for(var Vs=class{static normalizeElement(e,t){let n={};return Jr(e)?(t.animationDuration.some(e=>e>0)&&(n.animationDuration=e.style.animationDuration,e.style.animationDuration=`0s`),t.transform!==null&&(n.transform=e.style.transform,e.style.transform=`translate(0, 0)`),t.rotate!==null&&(n.rotate=e.style.rotate,e.style.rotate=`0deg`,n.transform===void 0&&(n.transform=e.style.transform,e.style.transform=`translate(0, 0)`)),n):n}static restoreElement(e,t){Jr(e)&&(t.animationDuration!==void 0&&(e.style.animationDuration=t.animationDuration),t.transform!==void 0&&(e.style.transform=t.transform),t.rotate!==void 0&&(e.style.rotate=t.rotate))}},J=class{constructor(e,t,n={}){if(this.context=e,this.textNodes=[],this.elements=[],this.createsStackingContext=!1,this.createsRealStackingContext=!1,this.isListOwner=!1,this.debugRender=!1,Ss(t,3))debugger;this.styles=new _s(e,e.config.window.getComputedStyle(t,null)),n.normalizeDom!==!1&&Jr(t)&&(this.originalStyles=Vs.normalizeElement(t,this.styles),this.originalElement=t),this.bounds=o(this.context,t),Ss(t,4)&&(this.debugRender=!0)}restore(){this.originalStyles&&this.originalElement&&(Vs.restoreElement(this.originalElement,this.originalStyles),this.originalStyles=void 0,this.originalElement=void 0)}restoreTree(){this.restore();for(let e of this.elements)e.restoreTree()}},Hs=`AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=`,Us=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Ws=typeof Uint8Array>`u`?[]:new Uint8Array(256),Gs=0;Gs<Us.length;Gs++)Ws[Us.charCodeAt(Gs)]=Gs;for(var Ks=function(e){var t=e.length*.75,n=e.length,r,i=0,a,o,s,c;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);var l=typeof ArrayBuffer<`u`&&typeof Uint8Array<`u`&&Uint8Array.prototype.slice!==void 0?new ArrayBuffer(t):Array(t),u=Array.isArray(l)?l:new Uint8Array(l);for(r=0;r<n;r+=4)a=Ws[e.charCodeAt(r)],o=Ws[e.charCodeAt(r+1)],s=Ws[e.charCodeAt(r+2)],c=Ws[e.charCodeAt(r+3)],u[i++]=a<<2|o>>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},qs=function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n.push(e[r+1]<<8|e[r]);return n},Js=function(e){for(var t=e.length,n=[],r=0;r<t;r+=4)n.push(e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]);return n},Ys=5,Xs=11,Zs=2,Qs=Xs-Ys,$s=65536>>Ys,ec=(1<<Ys)-1,tc=$s+(1024>>Ys)+32,nc=65536>>Xs,rc=(1<<Qs)-1,ic=function(e,t,n){return e.slice?e.slice(t,n):new Uint16Array(Array.prototype.slice.call(e,t,n))},ac=function(e,t,n){return e.slice?e.slice(t,n):new Uint32Array(Array.prototype.slice.call(e,t,n))},oc=function(e,t){var n=Ks(e),r=Array.isArray(n)?Js(n):new Uint32Array(n),i=Array.isArray(n)?qs(n):new Uint16Array(n),a=24,o=ic(i,a/2,r[4]/2),s=r[5]===2?ic(i,(a+r[4])/2):ac(r,Math.ceil((a+r[4])/4));return new sc(r[0],r[1],r[2],r[3],o,s)},sc=function(){function e(e,t,n,r,i,a){this.initialValue=e,this.errorValue=t,this.highStart=n,this.highValueIndex=r,this.index=i,this.data=a}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>Ys],t=(t<<Zs)+(e&ec),this.data[t];if(e<=65535)return t=this.index[$s+(e-55296>>Ys)],t=(t<<Zs)+(e&ec),this.data[t];if(e<this.highStart)return t=tc-nc+(e>>Xs),t=this.index[t],t+=e>>Ys&rc,t=this.index[t],t=(t<<Zs)+(e&ec),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),cc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,lc=typeof Uint8Array>`u`?[]:new Uint8Array(256),uc=0;uc<cc.length;uc++)lc[cc.charCodeAt(uc)]=uc;var dc=1,fc=2,pc=3,mc=4,hc=5,gc=7,_c=8,vc=9,yc=10,bc=11,xc=12,Sc=13,Cc=14,wc=15,Tc=function(e){for(var t=[],n=0,r=e.length;n<r;){var i=e.charCodeAt(n++);if(i>=55296&&i<=56319&&n<r){var a=e.charCodeAt(n++);(a&64512)==56320?t.push(((i&1023)<<10)+(a&1023)+65536):(t.push(i),n--)}else t.push(i)}return t},Ec=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var n=e.length;if(!n)return``;for(var r=[],i=-1,a=``;++i<n;){var o=e[i];o<=65535?r.push(o):(o-=65536,r.push((o>>10)+55296,o%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},Dc=oc(Hs),Oc=`×`,kc=`÷`,Ac=function(e){return Dc.get(e)},jc=function(e,t,n){var r=n-2,i=t[r],a=t[n-1],o=t[n];if(a===fc&&o===pc)return Oc;if(a===fc||a===pc||a===mc||o===fc||o===pc||o===mc)return kc;if(a===_c&&[_c,vc,bc,xc].indexOf(o)!==-1||(a===bc||a===vc)&&(o===vc||o===yc)||(a===xc||a===yc)&&o===yc||o===Sc||o===hc||o===gc||a===dc)return Oc;if(a===Sc&&o===Cc){for(;i===hc;)i=t[--r];if(i===Cc)return Oc}if(a===wc&&o===wc){for(var s=0;i===wc;)s++,i=t[--r];if(s%2==0)return Oc}return kc},Mc=function(e){var t=Tc(e),n=t.length,r=0,i=0,a=t.map(Ac);return{next:function(){if(r>=n)return{done:!0,value:null};for(var e=Oc;r<n&&(e=jc(t,a,++r))===Oc;);if(e!==Oc||r===n){var o=Ec.apply(null,t.slice(i,r));return i=r,{value:o,done:!1}}return{done:!0,value:null}}}},Nc=function(e){for(var t=Mc(e),n=[],r;!(r=t.next()).done;)r.value&&n.push(r.value.slice());return n};let Pc=e=>{if(e.createRange){let t=e.createRange();if(t.getBoundingClientRect){let n=e.createElement(`boundtest`);n.style.height=`123px`,n.style.display=`block`,e.body.appendChild(n),t.selectNode(n);let r=t.getBoundingClientRect(),i=Math.round(r.height);if(e.body.removeChild(n),i===123)return!0}}return!1},Fc=e=>{let t=e.createElement(`boundtest`);t.style.width=`50px`,t.style.display=`block`,t.style.fontSize=`12px`,t.style.letterSpacing=`0px`,t.style.wordSpacing=`0px`,e.body.appendChild(t);let n=e.createRange();t.innerHTML=typeof``.repeat==`function`?`👨`.repeat(10):``;let r=t.firstChild,i=c(r.data).map(e=>l(e)),a=0,o={},s=i.every((e,t)=>{n.setStart(r,a),n.setEnd(r,a+e.length);let i=n.getBoundingClientRect();a+=e.length;let s=i.x>o.x||i.y>o.y;return o=i,t===0||s});return e.body.removeChild(t),s},Ic=()=>new Image().crossOrigin!==void 0,Lc=()=>typeof new XMLHttpRequest().responseType==`string`,Rc=e=>{let t=new Image,n=e.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return!1;t.src=`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>`;try{r.drawImage(t,0,0),n.toDataURL()}catch{return!1}return!0},zc=e=>e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255,Bc=e=>{let t=e.createElement(`canvas`);t.width=100,t.height=100;let n=t.getContext(`2d`);if(!n)return Promise.reject(Error(`Failed to get 2D rendering context`));n.fillStyle=`rgb(0, 255, 0)`,n.fillRect(0,0,100,100);let r=new Image,i=t.toDataURL();r.src=i;let a=Vc(100,100,0,0,r);return n.fillStyle=`red`,n.fillRect(0,0,100,100),Hc(a).then(t=>{n.drawImage(t,0,0);let r=n.getImageData(0,0,100,100).data;n.fillStyle=`red`,n.fillRect(0,0,100,100);let a=e.createElement(`div`);return a.style.backgroundImage=`url(${i})`,a.style.height=`100px`,zc(r)?Hc(Vc(100,100,0,0,a)):Promise.reject(Error(`ForeignObject rendering not supported`))}).then(e=>(n.drawImage(e,0,0),zc(n.getImageData(0,0,100,100).data))).catch(()=>!1)},Vc=(e,t,n,r,i)=>{let a=`http://www.w3.org/2000/svg`,o=document.createElementNS(a,`svg`),s=document.createElementNS(a,`foreignObject`);return o.setAttributeNS(null,`width`,e.toString()),o.setAttributeNS(null,`height`,t.toString()),s.setAttributeNS(null,`width`,`100%`),s.setAttributeNS(null,`height`,`100%`),s.setAttributeNS(null,`x`,n.toString()),s.setAttributeNS(null,`y`,r.toString()),s.setAttributeNS(null,`externalResourcesRequired`,`true`),o.appendChild(s),s.appendChild(i),o},Hc=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=n,r.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(new XMLSerializer().serializeToString(e))}`}),Y={get SUPPORT_RANGE_BOUNDS(){"use strict";let e=Pc(document);return Object.defineProperty(Y,"SUPPORT_RANGE_BOUNDS",{value:e}),e},get SUPPORT_WORD_BREAKING(){"use strict";let e=Y.SUPPORT_RANGE_BOUNDS&&Fc(document);return Object.defineProperty(Y,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){"use strict";let e=Rc(document);return Object.defineProperty(Y,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){"use strict";let e=typeof Array.from==`function`&&typeof window.fetch==`function`?Bc(document):Promise.resolve(!1);return Object.defineProperty(Y,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){"use strict";let e=Ic();return Object.defineProperty(Y,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){"use strict";let e=Lc();return Object.defineProperty(Y,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){"use strict";let e=`withCredentials`in new XMLHttpRequest;return Object.defineProperty(Y,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){"use strict";let e=!!(typeof Intl<`u`&&Intl.Segmenter);return Object.defineProperty(Y,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}};var Uc=class{constructor(e,t){this.text=e,this.bounds=t}};let Wc=(e,t,n,r)=>{let i=Yc(t,n),o=[],s=0;return i.forEach(t=>{if(n.textDecorationLine.length||t.trim().length>0)if(Y.SUPPORT_RANGE_BOUNDS){let n=Kc(r,s,t.length).getClientRects();if(n.length>1){let n=qc(t),i=0;n.forEach(t=>{o.push(new Uc(t,a.fromDOMRectList(e,Kc(r,i+s,t.length).getClientRects()))),i+=t.length})}else o.push(new Uc(t,a.fromDOMRectList(e,n)))}else{let n=r.splitText(t.length);o.push(new Uc(t,Gc(e,r))),r=n}else Y.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length}),o},Gc=(e,t)=>{let n=t.ownerDocument;if(n){let r=n.createElement(`html2canvaswrapper`);r.appendChild(t.cloneNode(!0));let i=t.parentNode;if(i){i.replaceChild(r,t);let n=o(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),n}}return a.EMPTY},Kc=(e,t,n)=>{let r=e.ownerDocument;if(!r)throw Error(`Node has no owner document`);let i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},qc=e=>{if(Y.SUPPORT_NATIVE_TEXT_SEGMENTATION){let t=new Intl.Segmenter(void 0,{granularity:`grapheme`});return Array.from(t.segment(e)).map(e=>e.segment)}return Nc(e)},Jc=(e,t)=>{if(Y.SUPPORT_NATIVE_TEXT_SEGMENTATION){let t=new Intl.Segmenter(void 0,{granularity:`word`});return Array.from(t.segment(e)).map(e=>e.segment)}return Zc(e,t)},Yc=(e,t)=>bo(t.writingMode)?qc(e):t.letterSpacing===0?Jc(e,t):qc(e),Xc=[32,160,4961,65792,65793,4153,4241],Zc=(e,t)=>{let n=gt(e,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===`break-word`?`break-word`:t.wordBreak}),r=[],i;for(;!(i=n.next()).done;)if(i.value){let e=c(i.value.slice()),t=``;e.forEach(e=>{Xc.indexOf(e)===-1?t+=l(e):(t.length&&r.push(t),r.push(l(e)),t=``)}),t.length&&r.push(t)}return r};var Qc=class{constructor(e,t,n){this.text=$c(t.data,n.textTransform),this.text.length!==t.data.length&&(t.data=this.text),this.textBounds=Wc(e,this.text,n,t)}};let $c=(e,t)=>{switch(t){case 1:return e.toLowerCase();case 3:return e.replace(el,tl);case 2:return e.toUpperCase();default:return e}},el=/(^|\s|:|-|\(|\))([a-z])/g,tl=(e,t,n)=>e.length>0?t+n.toUpperCase():e;var nl=class extends J{constructor(e,t){super(e,t),this.src=t.currentSrc||t.src,this.intrinsicWidth=t.naturalWidth,this.intrinsicHeight=t.naturalHeight,this.context.cache.addImage(this.src)}},rl=class extends J{constructor(e,t){super(e,t),this.canvas=t,this.intrinsicWidth=t.width,this.intrinsicHeight=t.height}},il=class extends J{constructor(e,t){super(e,t);let n=new XMLSerializer,r=o(e,t);t.setAttribute(`width`,`${r.width}px`),t.setAttribute(`height`,`${r.height}px`),this.svg=`data:image/svg+xml,${encodeURIComponent(n.serializeToString(t))}`,this.intrinsicWidth=t.width.baseVal.value,this.intrinsicHeight=t.height.baseVal.value,this.context.cache.addImage(this.svg)}},al=class extends J{constructor(e,t){super(e,t),this.value=t.value}},ol=class extends J{constructor(e,t){super(e,t),this.start=t.start,this.reversed=typeof t.reversed==`boolean`&&t.reversed===!0}};let sl=[{type:15,flags:0,unit:`px`,number:3}],cl=[{type:16,flags:0,number:50}],ll=e=>e.width>e.height?new a(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width<e.height?new a(e.left,e.top+(e.height-e.width)/2,e.width,e.width):e,ul=e=>{let t=e.type===`password`?Array(e.value.length+1).join(`•`):e.value;return t.length===0?e.placeholder||``:t},dl=e=>e.value.length===0&&!!e.placeholder,fl=707406591;var pl=class extends J{constructor(e,t){switch(super(e,t),this.type=t.type.toLowerCase(),this.checked=t.checked,this.value=ul(t),this.isPlaceholder=dl(t),(this.type===`checkbox`||this.type===`radio`)&&(this.styles.backgroundColor=3739148031,this.styles.borderTopColor=this.styles.borderRightColor=this.styles.borderBottomColor=this.styles.borderLeftColor=2779096575,this.styles.borderTopWidth=this.styles.borderRightWidth=this.styles.borderBottomWidth=this.styles.borderLeftWidth=1,this.styles.borderTopStyle=this.styles.borderRightStyle=this.styles.borderBottomStyle=this.styles.borderLeftStyle=1,this.styles.backgroundClip=[0],this.styles.backgroundOrigin=[0],this.bounds=ll(this.bounds)),this.type){case`checkbox`:this.styles.borderTopRightRadius=this.styles.borderTopLeftRadius=this.styles.borderBottomRightRadius=this.styles.borderBottomLeftRadius=sl;break;case`radio`:this.styles.borderTopRightRadius=this.styles.borderTopLeftRadius=this.styles.borderBottomRightRadius=this.styles.borderBottomLeftRadius=cl;break}}},ml=class extends J{constructor(e,t){super(e,t);let n=t.options[t.selectedIndex||0];this.value=n&&n.text||``}},hl=class extends J{constructor(e,t){super(e,t),this.value=t.value}},gl=class extends J{constructor(e,t,n){super(e,t),this.src=t.src,this.width=parseInt(t.width,10)||0,this.height=parseInt(t.height,10)||0,this.backgroundColor=this.styles.backgroundColor,this.parseTreeFn=n;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement&&this.parseTreeFn){this.tree=this.parseTreeFn(e,t.contentWindow.document.documentElement);let n=t.contentWindow.document.documentElement?Wr(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):H.TRANSPARENT,r=t.contentWindow.document.body?Wr(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):H.TRANSPARENT;this.backgroundColor=On(n)?On(r)?this.styles.backgroundColor:r:n}}catch{}}};let _l=[`OL`,`UL`,`MENU`],vl=(e,t,n,r)=>{for(let i=t.firstChild,a;i;i=a)if(a=i.nextSibling,Kr(i)&&i.data.length>0)n.textNodes.push(new Qc(e,i,n.styles));else if(Gr(i))if(si(i)&&i.assignedNodes)i.assignedNodes().forEach(t=>vl(e,t,n,r));else{let t=yl(e,i);t.styles.isVisible()&&(xl(i,t,r)?t.createsRealStackingContext=!0:Sl(t.styles)&&(t.createsStackingContext=!0),_l.indexOf(i.tagName)!==-1&&(t.isListOwner=!0),n.elements.push(t),i.shadowRoot?vl(e,i.shadowRoot,t,r):!ai(i)&&!Zr(i)&&!oi(i)&&vl(e,i,t,r))}},yl=(e,t)=>ti(t)?new nl(e,t):$r(t)?new rl(e,t):Zr(t)?new il(e,t):ci(t)?new al(e,t):li(t)?new ol(e,t):Yr(t)?new pl(e,t):oi(t)?new ml(e,t):ai(t)?new hl(e,t):ni(t)?new gl(e,t,bl):new J(e,t),bl=(e,t)=>{let n=yl(e,t);return n.createsRealStackingContext=!0,vl(e,t,n,n),n},xl=(e,t,n)=>t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Qr(e)&&n.styles.isTransparent(),Sl=e=>e.isPositioned()||e.isFloating()?!0:U(e.display,268435456)||U(e.display,33554432)||U(e.display,536870912)||U(e.display,134217728),Cl=(e,t)=>e.length===t.length&&e.some((e,n)=>e===t[n]),wl=(e,t,n,r,i)=>e.map((e,a)=>{switch(a){case 0:return e.add(t,n);case 1:return e.add(t+r,n);case 2:return e.add(t+r,n+i);case 3:return e.add(t,n+i)}return e});var X=class e{constructor(e,t){this.type=0,this.x=e,this.y=t}add(t,n){return new e(this.x+t,this.y+n)}};let Tl=(e,t,n)=>new X(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n);var El=class e{constructor(e,t,n,r){this.type=1,this.start=e,this.startControl=t,this.endControl=n,this.end=r}subdivide(t,n){let r=Tl(this.start,this.startControl,t),i=Tl(this.startControl,this.endControl,t),a=Tl(this.endControl,this.end,t),o=Tl(r,i,t),s=Tl(i,a,t),c=Tl(o,s,t);return n?new e(this.start,r,o,c):new e(c,s,a,this.end)}add(t,n){return new e(this.start.add(t,n),this.startControl.add(t,n),this.endControl.add(t,n),this.end.add(t,n))}reverse(){return new e(this.end,this.endControl,this.startControl,this.start)}};let Z=e=>e.type===1;var Dl=class{constructor(e){let t=e.styles,n=e.bounds,[r,i]=Sn(t.borderTopLeftRadius,n.width,n.height),[a,o]=Sn(t.borderTopRightRadius,n.width,n.height),[s,c]=Sn(t.borderBottomRightRadius,n.width,n.height),[l,u]=Sn(t.borderBottomLeftRadius,n.width,n.height),d=[];d.push((r+a)/n.width),d.push((l+s)/n.width),d.push((i+u)/n.height),d.push((o+c)/n.height);let f=Math.max(...d);f>1&&(r/=f,i/=f,a/=f,o/=f,s/=f,c/=f,l/=f,u/=f);let p=n.width-a,m=n.height-c,h=n.width-s,g=n.height-u,_=t.borderTopWidth,v=t.borderRightWidth,y=t.borderBottomWidth,b=t.borderLeftWidth,x=R(t.paddingTop,e.bounds.width),S=R(t.paddingRight,e.bounds.width),ee=R(t.paddingBottom,e.bounds.width),C=R(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||i>0?Q(n.left+b/3,n.top+_/3,r-b/3,i-_/3,0):new X(n.left+b/3,n.top+_/3),this.topRightBorderDoubleOuterBox=r>0||i>0?Q(n.left+p,n.top+_/3,a-v/3,o-_/3,1):new X(n.left+n.width-v/3,n.top+_/3),this.bottomRightBorderDoubleOuterBox=s>0||c>0?Q(n.left+h,n.top+m,s-v/3,c-y/3,2):new X(n.left+n.width-v/3,n.top+n.height-y/3),this.bottomLeftBorderDoubleOuterBox=l>0||u>0?Q(n.left+b/3,n.top+g,l-b/3,u-y/3,3):new X(n.left+b/3,n.top+n.height-y/3),this.topLeftBorderDoubleInnerBox=r>0||i>0?Q(n.left+b*2/3,n.top+_*2/3,r-b*2/3,i-_*2/3,0):new X(n.left+b*2/3,n.top+_*2/3),this.topRightBorderDoubleInnerBox=r>0||i>0?Q(n.left+p,n.top+_*2/3,a-v*2/3,o-_*2/3,1):new X(n.left+n.width-v*2/3,n.top+_*2/3),this.bottomRightBorderDoubleInnerBox=s>0||c>0?Q(n.left+h,n.top+m,s-v*2/3,c-y*2/3,2):new X(n.left+n.width-v*2/3,n.top+n.height-y*2/3),this.bottomLeftBorderDoubleInnerBox=l>0||u>0?Q(n.left+b*2/3,n.top+g,l-b*2/3,u-y*2/3,3):new X(n.left+b*2/3,n.top+n.height-y*2/3),this.topLeftBorderStroke=r>0||i>0?Q(n.left+b/2,n.top+_/2,r-b/2,i-_/2,0):new X(n.left+b/2,n.top+_/2),this.topRightBorderStroke=r>0||i>0?Q(n.left+p,n.top+_/2,a-v/2,o-_/2,1):new X(n.left+n.width-v/2,n.top+_/2),this.bottomRightBorderStroke=s>0||c>0?Q(n.left+h,n.top+m,s-v/2,c-y/2,2):new X(n.left+n.width-v/2,n.top+n.height-y/2),this.bottomLeftBorderStroke=l>0||u>0?Q(n.left+b/2,n.top+g,l-b/2,u-y/2,3):new X(n.left+b/2,n.top+n.height-y/2),this.topLeftBorderBox=r>0||i>0?Q(n.left,n.top,r,i,0):new X(n.left,n.top),this.topRightBorderBox=a>0||o>0?Q(n.left+p,n.top,a,o,1):new X(n.left+n.width,n.top),this.bottomRightBorderBox=s>0||c>0?Q(n.left+h,n.top+m,s,c,2):new X(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=l>0||u>0?Q(n.left,n.top+g,l,u,3):new X(n.left,n.top+n.height),this.topLeftPaddingBox=r>0||i>0?Q(n.left+b,n.top+_,Math.max(0,r-b),Math.max(0,i-_),0):new X(n.left+b,n.top+_),this.topRightPaddingBox=a>0||o>0?Q(n.left+Math.min(p,n.width-v),n.top+_,p>n.width+v?0:Math.max(0,a-v),Math.max(0,o-_),1):new X(n.left+n.width-v,n.top+_),this.bottomRightPaddingBox=s>0||c>0?Q(n.left+Math.min(h,n.width-b),n.top+Math.min(m,n.height-y),Math.max(0,s-v),Math.max(0,c-y),2):new X(n.left+n.width-v,n.top+n.height-y),this.bottomLeftPaddingBox=l>0||u>0?Q(n.left+b,n.top+Math.min(g,n.height-y),Math.max(0,l-b),Math.max(0,u-y),3):new X(n.left+b,n.top+n.height-y),this.topLeftContentBox=r>0||i>0?Q(n.left+b+C,n.top+_+x,Math.max(0,r-(b+C)),Math.max(0,i-(_+x)),0):new X(n.left+b+C,n.top+_+x),this.topRightContentBox=a>0||o>0?Q(n.left+Math.min(p,n.width+b+C),n.top+_+x,p>n.width+b+C?0:a-b+C,o-(_+x),1):new X(n.left+n.width-(v+S),n.top+_+x),this.bottomRightContentBox=s>0||c>0?Q(n.left+Math.min(h,n.width-(b+C)),n.top+Math.min(m,n.height+_+x),Math.max(0,s-(v+S)),c-(y+ee),2):new X(n.left+n.width-(v+S),n.top+n.height-(y+ee)),this.bottomLeftContentBox=l>0||u>0?Q(n.left+b+C,n.top+g,Math.max(0,l-(b+C)),u-(y+ee),3):new X(n.left+b+C,n.top+n.height-(y+ee))}};let Q=(e,t,n,r,i)=>{let a=4*((Math.sqrt(2)-1)/3),o=n*a,s=r*a,c=e+n,l=t+r;switch(i){case 0:return new El(new X(e,l),new X(e,l-s),new X(c-o,t),new X(c,t));case 1:return new El(new X(e,t),new X(e+o,t),new X(c,l-s),new X(c,l));case 2:return new El(new X(c,t),new X(c,t+s),new X(e+o,l),new X(e,l));default:return new El(new X(c,l),new X(c-o,l),new X(e,t+s),new X(e,t))}},Ol=e=>[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox],kl=e=>[e.topLeftContentBox,e.topRightContentBox,e.bottomRightContentBox,e.bottomLeftContentBox],Al=e=>[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox];var jl=class{constructor(e,t,n){this.offsetX=e,this.offsetY=t,this.matrix=n,this.type=0,this.target=6}},Ml=class{constructor(e,t){this.path=e,this.target=t,this.type=1}},Nl=class{constructor(e){this.opacity=e,this.type=2,this.target=6}},Pl=class{constructor(e){this.applyClip=e,this.type=3,this.target=6}};let Fl={[K.NORMAL]:`source-over`,[K.MULTIPLY]:`multiply`,[K.SCREEN]:`screen`,[K.OVERLAY]:`overlay`,[K.DARKEN]:`darken`,[K.LIGHTEN]:`lighten`,[K.COLOR_DODGE]:`color-dodge`,[K.COLOR_BURN]:`color-burn`,[K.HARD_LIGHT]:`hard-light`,[K.SOFT_LIGHT]:`soft-light`,[K.DIFFERENCE]:`difference`,[K.EXCLUSION]:`exclusion`,[K.HUE]:`hue`,[K.SATURATION]:`saturation`,[K.COLOR]:`color`,[K.LUMINOSITY]:`luminosity`};var Il=class{constructor(e){this.mixBlendMode=e,this.type=4,this.target=6,this.compositeOperation=Fl[e]}},Ll=class e{constructor(t){this.type=5,this.target=6;let n=e.parseDropShadow(t);this.shadow=n.shadow,this.safeFilterString=n.safeFilterString}static parseDropShadow(t){if(!t)return{safeFilterString:``};let n=e.findDropShadows(t);if(n.length===0)return{safeFilterString:t};let r=e.parseDropShadowBody(n[0].body),i=``,a=0;for(let e of n)i+=t.slice(a,e.start),a=e.end;return i+=t.slice(a),{shadow:r,safeFilterString:i.replace(/\s+/g,` `).trim()}}static findDropShadows(e){let t=[],n=/drop-shadow\(/gi,r;for(;(r=n.exec(e))!==null;){let n=r.index+12-1,i=r.index,a=1,o=n+1;for(;o<e.length&&a>0;){let t=e[o];t===`(`?a++:t===`)`&&a--,o++}if(a!==0)break;let s=e.slice(n+1,o-1);t.push({body:s,start:i,end:o})}return t}static parseDropShadowBody(t){let n=e.tokenizeFilterArgs(t.trim()),r=[],i;for(let t of n)e.isCSSLength(t)?r.push(parseFloat(t)):t&&(i=t);if(!(r.length<2||r.length>3))return{offsetX:r[0],offsetY:r[1],blur:r[2]??0,color:i??`rgba(0,0,0,1)`}}static tokenizeFilterArgs(e){let t=[],n=``,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?(r++,n+=a):a===`)`?(r--,n+=a):/\s/.test(a)?r>0?n+=a:n&&=(t.push(n),``):n+=a}return n&&t.push(n),t}static isCSSLength(e){return/^-?[\d.]+(px|em|rem|pt|cm|mm|in|pc|ex|ch|vw|vh|vmin|vmax|%)?$/i.test(e)}};let Rl=e=>e.type===0,zl=e=>e.type===1,Bl=e=>e.type===2,Vl=e=>e.type===3,Hl=e=>e.type===4,Ul=e=>e.type===5;var Wl=class{constructor(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}},Gl=class{constructor(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Dl(this.container),this.container.styles.opacity<1&&this.effects.push(new Nl(this.container.styles.opacity)),this.container.styles.rotate!==null){let e=this.container.styles.transformOrigin,t=this.container.bounds.left+R(e[0],this.container.bounds.width),n=this.container.bounds.top+R(e[1],this.container.bounds.height),r=this.container.styles.rotate*Math.PI/180,i=Math.cos(r),a=Math.sin(r),o=[i,a,-a,i,0,0];this.effects.push(new jl(t,n,o))}if(this.container.styles.transform!==null){let e=this.container.styles.transformOrigin,t=this.container.bounds.left+R(e[0],this.container.bounds.width),n=this.container.bounds.top+R(e[1],this.container.bounds.height),r=this.container.styles.transform;this.effects.push(new jl(t,n,r))}if(Kl(this.container.styles)){let e=Ol(this.curves),t=Al(this.curves);Cl(e,t)?this.effects.push(new Ml(e,6)):(this.effects.push(new Ml(e,2)),this.effects.push(new Ml(t,4)))}if(this.container.styles.clipPath.type!==0){let e=Jl(this.container.styles.clipPath,this.container.bounds);e&&this.effects.push(e)}if(this.container.styles.mixBlendMode!==K.NORMAL&&this.effects.push(new Il(this.container.styles.mixBlendMode)),this.container.styles.filter!==null&&this.effects.push(new Ll(this.container.styles.filter)),this.container.styles.zoom!==1){let e=this.container.styles.transformOrigin,t=this.container.bounds.left+R(e[0],this.container.bounds.width),n=this.container.bounds.top+R(e[1],this.container.bounds.height),r=this.container.styles.zoom,i=[r,0,0,r,0,0];this.effects.push(new jl(t,n,i))}}getEffects(e){let t=[2,3].indexOf(this.container.styles.position)===-1,n=this.parent,r=this.effects.slice(0);for(;n;){let e=n.effects.filter(e=>!zl(e));if(t||n.container.styles.position!==0||!n.parent){if(t=[2,3].indexOf(n.container.styles.position)===-1,Kl(n.container.styles)){let e=Ol(n.curves),t=Al(n.curves);Cl(e,t)||r.unshift(new Ml(t,6))}r.unshift(...e)}else r.unshift(...e);n=n.parent}return r.filter(t=>U(t.target,e))}};let Kl=e=>e.overflowX!==0||e.overflowY!==0,ql=(e,t,n,r,i)=>e===`closest-side`?Math.min(t-n,r-t):e===`farthest-side`?Math.max(t-n,r-t):R(e,i),Jl=(e,t)=>{let{left:n,top:r,width:i,height:a}=t;switch(e.type){case 1:{let t=R(e.left,i),o=R(e.top,a),s=n+t,c=r+o,l=Math.max(0,i-t-R(e.right,i)),u=Math.max(0,a-o-R(e.bottom,a));return new Pl(e=>{e.beginPath(),e.rect(s,c,l,u),e.clip()})}case 2:{let t=n+R(e.cx,i),o=r+R(e.cy,a),s;return s=e.radius===`closest-side`?Math.min(t-n,o-r,n+i-t,r+a-o):e.radius===`farthest-side`?Math.max(t-n,o-r,n+i-t,r+a-o):R(e.radius,Math.sqrt(i*i+a*a)/Math.SQRT2),new Pl(e=>{e.beginPath(),e.arc(t,o,Math.max(0,s),0,Math.PI*2),e.clip()})}case 3:{let t=n+R(e.cx,i),o=r+R(e.cy,a),s=ql(e.rx,t,n,n+i,i),c=ql(e.ry,o,r,r+a,a);return new Pl(e=>{e.beginPath(),e.ellipse(t,o,Math.max(0,s),Math.max(0,c),0,0,Math.PI*2),e.clip()})}case 4:{let t=e.points.map(([e,t])=>[n+R(e,i),r+R(t,a)]);return new Pl(e=>{if(e.beginPath(),t.length>0){e.moveTo(t[0][0],t[0][1]);for(let n=1;n<t.length;n++)e.lineTo(t[n][0],t[n][1]);e.closePath()}e.clip()})}case 5:{let{d:t}=e,i=null;return new Pl(e=>{try{i||=new Path2D(t);let a=e.getTransform();e.translate(n,r),e.clip(i),e.setTransform(a)}catch{}})}case 0:return null;default:return null}},Yl=(e,t,n,r)=>{e.container.elements.forEach(i=>{let a=i.createsRealStackingContext,o=i.createsStackingContext,s=new Gl(i,e);U(i.styles.display,2048)&&r.push(s);let c=i.isListOwner?[]:r;if(a||o){let e=a||i.styles.isPositioned()?n:t,r=new Wl(s);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){let t=i.styles.zIndex.order;if(t<0){let n=0;e.negativeZIndex.some((e,r)=>t>e.element.container.styles.zIndex.order?(n=r,!1):n>0),e.negativeZIndex.splice(n,0,r)}else if(t>0){let n=0;e.positiveZIndex.some((e,r)=>t>=e.element.container.styles.zIndex.order?(n=r+1,!1):n>0),e.positiveZIndex.splice(n,0,r)}else e.zeroOrAutoZIndexOrTransformedOrOpacity.push(r)}else i.styles.isFloating()?e.nonPositionedFloats.push(r):e.nonPositionedInlineLevel.push(r);Yl(s,r,a?r:n,c)}else i.styles.isInlineLevel()?t.inlineLevel.push(s):t.nonInlineLevel.push(s),Yl(s,t,n,c);i.isListOwner&&Xl(i,c)})},Xl=(e,t)=>{let n=e instanceof ol?e.start:1,r=e instanceof ol&&e.reversed;for(let e=0;e<t.length;e++){let i=t[e];i.container instanceof al&&typeof i.container.value==`number`&&i.container.value!==0&&(n=i.container.value),i.listValue=Di(n,i.container.styles.listStyleType,!0),n+=r?-1:1}},Zl=e=>{let t=new Gl(e,null),n=new Wl(t),r=[];return Yl(t,n,n,r),Xl(t.container,r),n},Ql=e=>{let t=e.bounds,n=e.styles;return t.add(n.borderLeftWidth,n.borderTopWidth,-(n.borderRightWidth+n.borderLeftWidth),-(n.borderTopWidth+n.borderBottomWidth))},$l=e=>{let t=e.styles,n=e.bounds,r=R(t.paddingLeft,n.width),i=R(t.paddingRight,n.width),a=R(t.paddingTop,n.width),o=R(t.paddingBottom,n.width);return n.add(r+t.borderLeftWidth,a+t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth+r+i),-(t.borderTopWidth+t.borderBottomWidth+a+o))},eu=(e,t)=>e===0?t.bounds:e===2?$l(t):Ql(t),tu=(e,t)=>e===0?t.bounds:e===2?$l(t):Ql(t),nu=(e,t,n)=>{let r=eu(ou(e.styles.backgroundOrigin,t),e),i=tu(ou(e.styles.backgroundClip,t),e),a=au(ou(e.styles.backgroundSize,t),n,r),[o,s]=a,c=Sn(ou(e.styles.backgroundPosition,t),r.width-o,r.height-s),l=su(ou(e.styles.backgroundRepeat,t),c,a,r,i),u=Math.round(r.left+c[0]),d=Math.round(r.top+c[1]);return o=Math.max(1,o),s=Math.max(1,s),[l,u,d,o,s]},ru=e=>A(e)&&e.value===`auto`,iu=e=>typeof e==`number`,au=(e,[t,n,r],i)=>{let[a,o]=e;if(!a)return[0,0];if(F(a)&&o&&F(o))return[R(a,i.width),R(o,i.height)];let s=iu(r);if(A(a)&&(a.value===`contain`||a.value===`cover`))return iu(r)?i.width/i.height<r==(a.value===`cover`)?[i.height*r,i.height]:[i.width,i.width/r]:[i.width,i.height];let c=iu(t),l=iu(n),u=c||l;if(ru(a)&&(!o||ru(o)))return c&&l?[t,n]:!s&&!u?[i.width,i.height]:u&&s?[c?t:n*r,l?n:t/r]:[c?t:i.width,l?n:i.height];if(s){let e=0,t=0;return F(a)?e=R(a,i.width):F(o)&&(t=R(o,i.height)),ru(a)?e=t*r:(!o||ru(o))&&(t=e/r),[e,t]}let d=null,f=null;if(F(a)?d=R(a,i.width):o&&F(o)&&(f=R(o,i.height)),d!==null&&(!o||ru(o))&&(f=c&&l?d/t*n:i.height),f!==null&&ru(a)&&(d=c&&l?f/n*t:i.width),d!==null&&f!==null)return[d,f];throw Error(`Unable to calculate background-size for element`)},ou=(e,t)=>{let n=e[t];return n===void 0?e[0]:n},su=(e,[t,n],[r,i],a,o)=>{switch(e){case 2:return[new X(Math.round(a.left),Math.round(a.top+n)),new X(Math.round(a.left+a.width),Math.round(a.top+n)),new X(Math.round(a.left+a.width),Math.round(i+a.top+n)),new X(Math.round(a.left),Math.round(i+a.top+n))];case 3:return[new X(Math.round(a.left+t),Math.round(a.top)),new X(Math.round(a.left+t+r),Math.round(a.top)),new X(Math.round(a.left+t+r),Math.round(a.height+a.top)),new X(Math.round(a.left+t),Math.round(a.height+a.top))];case 1:return[new X(Math.round(a.left+t),Math.round(a.top+n)),new X(Math.round(a.left+t+r),Math.round(a.top+n)),new X(Math.round(a.left+t+r),Math.round(a.top+n+i)),new X(Math.round(a.left+t),Math.round(a.top+n+i))];default:return[new X(Math.round(o.left),Math.round(o.top)),new X(Math.round(o.left+o.width),Math.round(o.top)),new X(Math.round(o.left+o.width),Math.round(o.height+o.top)),new X(Math.round(o.left),Math.round(o.height+o.top))]}},cu=`Hidden Text`;var lu=class{constructor(e){this._data={},this._document=e}parseMetrics(e,t){let n=this._document.createElement(`div`),r=this._document.createElement(`img`),i=this._document.createElement(`span`),a=this._document.body;n.style.visibility=`hidden`,n.style.fontFamily=e,n.style.fontSize=t,n.style.margin=`0`,n.style.padding=`0`,n.style.whiteSpace=`nowrap`,a.appendChild(n),r.src=`data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7`,r.width=1,r.height=1,r.style.margin=`0`,r.style.padding=`0`,r.style.verticalAlign=`baseline`,i.style.fontFamily=e,i.style.fontSize=t,i.style.margin=`0`,i.style.padding=`0`,i.appendChild(this._document.createTextNode(cu)),n.appendChild(i),n.appendChild(r);let o=r.offsetTop-i.offsetTop+2;n.removeChild(i),n.appendChild(this._document.createTextNode(cu)),n.style.lineHeight=`normal`,r.style.verticalAlign=`super`;let s=r.offsetTop-n.offsetTop+2;return a.removeChild(n),{baseline:o,middle:s}}getMetrics(e,t){let n=`${e} ${t}`;return this._data[n]===void 0&&(this._data[n]=this.parseMetrics(e,t)),this._data[n]}},uu=class{constructor(e){this.ctx=e}render(e,t){this.ctx.fillStyle=B(t.textDecorationColor||t.color);let n=1;typeof t.textDecorationThickness==`number`?n=t.textDecorationThickness:t.textDecorationThickness===`from-font`&&(n=Math.max(1,Math.floor(t.fontSize.number*.05)));let r=0;typeof t.textUnderlineOffset==`number`&&(r=t.textUnderlineOffset);let i=t.textDecorationStyle;t.textDecorationLine.forEach(t=>{let a=0;switch(t){case 1:a=e.top+e.height-n+r;break;case 2:a=e.top;break;case 3:a=e.top+(e.height/2-n/2);break;default:return}this.draw(e.left,a,e.width,n,i)})}draw(e,t,n,r,i){switch(i){case 0:this.ctx.fillRect(e,t,n,r);break;case 1:{let i=Math.max(1,r);this.ctx.fillRect(e,t,n,r),this.ctx.fillRect(e,t+r+i,n,r);break}case 2:this.drawPattern(e,t,n,r,[r,r*2]);break;case 3:this.drawPattern(e,t,n,r,[r*3,r*2]);break;case 4:this.drawWavy(e,t,n,r);break;default:this.ctx.fillRect(e,t,n,r)}}drawPattern(e,t,n,r,i){this.ctx.save(),this.ctx.beginPath(),this.ctx.setLineDash(i),this.ctx.lineWidth=r,this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.moveTo(e,t+r/2),this.ctx.lineTo(e+n,t+r/2),this.ctx.stroke(),this.ctx.restore()}drawWavy(e,t,n,r){this.ctx.save(),this.ctx.beginPath(),this.ctx.lineWidth=r,this.ctx.strokeStyle=this.ctx.fillStyle;let i=r*2,a=r*4,o=e;for(this.ctx.moveTo(o,t+r/2);o<e+n;){let s=Math.min(o+a/2,e+n);if(this.ctx.quadraticCurveTo(o+a/4,t+r/2-i,s,t+r/2),o=s,o<e+n){let s=Math.min(o+a/2,e+n);this.ctx.quadraticCurveTo(o+a/4,t+r/2+i,s,t+r/2),o=s}}this.ctx.stroke(),this.ctx.restore()}};let du=[`-apple-system`,`system-ui`],fu=/[\u2E80-\u2FFF\u3000-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFF01-\uFFEF]/,pu=e=>fu.test(e),mu=()=>{if(typeof navigator>`u`)return null;let e=navigator.userAgent,t=/iPhone|iPad|iPod/.test(e),n=/Macintosh/.test(e)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>1;if(!t&&!n)return null;for(let t of[/(?:iPhone|CPU(?:\siPhone)?)\sOS\s(\d+)[\._](\d+)/,/Version\/(\d+)\.(\d+)/]){let n=e.match(t);if(n&&n[1])return parseInt(n[1],10)}return null},hu=e=>{let t=mu();return t!==null&&t>=15&&t<17?e.map(e=>du.indexOf(e)===-1?e:`-apple-system, "Helvetica Neue", Arial, sans-serif`):e},gu=()=>(typeof window<`u`?window:void 0)?.chrome?`miter`:`round`;var _u=class{constructor(e){this.glyphWidthCache=null,this.ctx=e.ctx,this.options=e.options,this.decorationRenderer=new uu(e.ctx)}cachedMeasureText(e,t){let n=this.glyphWidthCache;n||(n=new Map,this.glyphWidthCache=n);let r=e+t,i=n.get(r);return i===void 0&&(i=this.ctx.measureText(e).width,n.set(r,i)),i}iterateLettersWithLetterSpacing(e,t,n,r,i){if(bo(r)){this.iterateVerticalGlyphs(e,t,n,r,i);return}let a=qc(e.text),o=e.bounds.top+n,s=this.ctx.font,c=e.bounds.left;for(let e of a){if(pu(e)){let t=this.ctx.textBaseline;this.ctx.textBaseline=`ideographic`,i(e,c,o),this.ctx.textBaseline=t}else i(e,c,o);c+=this.cachedMeasureText(e,s)+t}}iterateVerticalGlyphs(e,t,n,r,i){let a=qc(e.text),o=this.ctx.font,s=r===4?-Math.PI/2:Math.PI/2,c=e.bounds.top;for(let l=0;l<a.length;){let u=a[l];if(!(xo(r)||!pu(u)&&u.trim().length>0)){let r=this.ctx.textBaseline;pu(u)&&(this.ctx.textBaseline=`ideographic`),i(u,e.bounds.left,c+n),this.ctx.textBaseline=r,c+=this.cachedMeasureText(u,o)+t,l++;continue}let d=l;for(;l<a.length;){let e=a[l];if(!xo(r)&&!pu(e)&&e.trim().length===0)break;if(xo(r)||!pu(e)&&e.trim().length>0)l++;else break}this.ctx.save(),this.ctx.translate(e.bounds.left+n,c),this.ctx.rotate(s);let f=0;for(let e=d;e<l;e++)i(a[e],0,f),f+=this.cachedMeasureText(a[e],o)+t;this.ctx.restore(),c+=f}}renderTextWithLetterSpacing(e,t,n,r=0){this.renderFillText(e,t,n,r)}canRenderWholeText(e,t){return e===0&&!bo(t)}renderFillText(e,t,n,r){this.canRenderWholeText(t,r)?this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+n):this.iterateLettersWithLetterSpacing(e,t,n,r,(e,t,n)=>{this.ctx.fillText(e,t,n)})}renderStrokeText(e,t,n,r){this.canRenderWholeText(t,r)?this.ctx.strokeText(e.text,e.bounds.left,e.bounds.top+n):this.iterateLettersWithLetterSpacing(e,t,n,r,(e,t,n)=>{this.ctx.strokeText(e,t,n)})}renderTextStrokeWithStyle(e,t){!t.webkitTextStrokeWidth||!e.text.trim().length||(this.ctx.strokeStyle=B(t.webkitTextStrokeColor),this.ctx.lineWidth=t.webkitTextStrokeWidth,this.ctx.lineJoin=gu(),this.renderStrokeText(e,t.letterSpacing,t.fontSize.number,t.writingMode),this.ctx.strokeStyle=``,this.ctx.lineWidth=0,this.ctx.lineJoin=`miter`)}renderTextFillWithShadows(e,t){this.ctx.fillStyle=B(t.color),this.renderTextWithLetterSpacing(e,t.letterSpacing,t.fontSize.number,t.writingMode);let n=t.textShadow;n.length&&e.text.trim().length&&(n.slice(0).reverse().forEach(n=>{this.ctx.shadowColor=B(n.color),this.ctx.shadowOffsetX=n.offsetX.number*this.options.scale,this.ctx.shadowOffsetY=n.offsetY.number*this.options.scale,this.ctx.shadowBlur=n.blur.number,this.renderTextWithLetterSpacing(e,t.letterSpacing,t.fontSize.number,t.writingMode)}),this.ctx.shadowColor=``,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.ctx.shadowBlur=0)}renderTextBoundWithPaintOrder(e,t,n){n.forEach(n=>{switch(n){case 0:this.ctx.fillStyle=B(t.color),this.renderTextWithLetterSpacing(e,t.letterSpacing,t.fontSize.number,t.writingMode);break;case 1:this.renderTextStrokeWithStyle(e,t);break}})}renderTextDecoration(e,t){this.decorationRenderer.render(e,t)}truncateTextWithEllipsis(e,t,n){let r=this.ctx.measureText(`…`).width,i=qc(e);if(n===0){let e=e=>this.ctx.measureText(i.slice(0,e).join(``)).width+r<=t,n=0,a=i.length;for(;n<a;){let t=n+a+1>>1;e(t)?n=t:a=t-1}return i.slice(0,n).join(``)+`…`}else{let e=this.ctx.font,a=r,o=[];for(let r of i){let i=this.cachedMeasureText(r,e);if(a+i>t)break;o.push(r),a+=i+n}return o.join(``)+`…`}}createFontStyle(e){let t=e.fontVariant.filter(e=>e===`normal`||e===`small-caps`).join(``),n=hu(e.fontFamily).join(`, `),r=O(e.fontSize)?`${e.fontSize.number}${e.fontSize.unit}`:`${e.fontSize.number}px`;return[[e.fontStyle,t,e.fontWeight,r,n].join(` `),n,r]}renderLineClampedText(e,t,n,r){let i=t.fontSize.number*1.5,a=[],o=[],s=e.textBounds[0].bounds.top;e.textBounds.forEach(e=>{Math.abs(e.bounds.top-s)>=i*.5?(o.length>0&&a.push(o),o=[e],s=e.bounds.top):o.push(e)}),o.length>0&&a.push(o);let c=t.webkitLineClamp;if(a.length<=c)return!1;for(let e=0;e<c-1;e++)a[e].forEach(e=>this.renderTextBoundWithPaintOrder(e,t,n));let l=a[c-1];if(l?.length&&r){let e=l.map(e=>e.text).join(``),i=l[0],a=r.width-(i.bounds.left-r.left),o=new Uc(this.truncateTextWithEllipsis(e,a,t.letterSpacing),i.bounds);for(let e of n)e===0?(this.ctx.fillStyle=B(t.color),this.renderTextWithLetterSpacing(o,t.letterSpacing,t.fontSize.number,t.writingMode)):e===1&&this.renderTextStrokeWithStyle(o,t)}return!0}renderEllipsisText(e,t,n,r){let i=t.fontSize.number*1.5,a=e.textBounds[0].bounds.top;if(!e.textBounds.every(e=>Math.abs(e.bounds.top-a)<i*.5))return!1;let o=e.textBounds.map(e=>e.text).join(``).replace(/\s+/g,` `).trim();if(this.ctx.measureText(o).width<=r.width)return!1;let s=new Uc(this.truncateTextWithEllipsis(o,r.width,t.letterSpacing),e.textBounds[0].bounds);for(let e of n)e===0?this.renderTextFillWithShadows(s,t):e===1&&this.renderTextStrokeWithStyle(s,t);return!0}async renderTextNode(e,t,n){this.glyphWidthCache=null,this.ctx.font=this.createFontStyle(t)[0],this.ctx.direction=t.direction===1?`rtl`:`ltr`,this.ctx.textAlign=`left`,this.ctx.textBaseline=`alphabetic`;let r=t.paintOrder;t.webkitLineClamp>0&&t.display&2&&t.overflowY===1&&e.textBounds.length>0&&this.renderLineClampedText(e,t,r,n)||t.textOverflow===1&&n&&t.overflowX===1&&e.textBounds.length>0&&this.renderEllipsisText(e,t,r,n)||e.textBounds.forEach(e=>{r.forEach(n=>{n===0?(this.renderTextFillWithShadows(e,t),t.textDecorationLine.length&&this.renderTextDecoration(e.bounds,t)):n===1&&this.renderTextStrokeWithStyle(e,t)})})}};let vu=(e,t)=>{t.forEach((t,n)=>{let r=Z(t)?t.start:t;n===0?e.moveTo(r.x,r.y):e.lineTo(r.x,r.y),Z(t)&&e.bezierCurveTo(t.startControl.x,t.startControl.y,t.endControl.x,t.endControl.y,t.end.x,t.end.y)})},yu=(e,t)=>{e.beginPath(),vu(e,t),e.closePath()};var bu=class{constructor(e){this.maxSize=e,this._map=new Map}get(e){if(!this._map.has(e))return;let t=this._map.get(e);return this._map.delete(e),this._map.set(e,t),t}set(e,t){if(this._map.has(e))this._map.delete(e);else if(this._map.size>=this.maxSize){let e=this._map.keys().next().value;e!==void 0&&this._map.delete(e)}this._map.set(e,t)}get size(){return this._map.size}clear(){this._map.clear()}},xu=class{constructor(e){this.patternCache=new bu(50),this.ctx=e.ctx,this.context=e.context,this.canvas=e.canvas}async renderBackgroundImage(e){let t=e.styles.backgroundImage.length-1,n=e.styles.backgroundBlendMode,r=0;for(let i of e.styles.backgroundImage.slice(0).reverse()){if(r>0){let e=n[r]??n[0]??`normal`;e!==`normal`&&(this.ctx.save(),this.ctx.globalCompositeOperation=e)}i.type===0?await this.renderBackgroundURLImage(e,i,t):Xi(i)?this.renderLinearGradient(e,i,t):Qi(i)?this.renderRepeatingLinearGradient(e,i,t):Zi(i)&&this.renderRadialGradient(e,i,t),r>0&&(n[r]??n[0]??`normal`)!==`normal`&&this.ctx.restore(),t--,r++}}async renderBackgroundURLImage(e,t,n){let r,i=t.url;try{r=await this.context.cache.match(i)}catch(e){this.context.logger.error(`Error loading background-image ${i}`),this.context.onError?.(e instanceof Error?e:Error(String(e)))}if(r){let t=isNaN(r.width)||r.width===0?1:r.width,a=isNaN(r.height)||r.height===0?1:r.height,[o,s,c,l,u]=nu(e,n,[t,a,t/a]),d=ou(e.styles.backgroundRepeat,n),f=d===1?`no-repeat`:d===2?`repeat-x`:d===3?`repeat-y`:`repeat`,p=`${i}|${Math.round(l)}x${Math.round(u)}|${e.styles.imageRendering}|${f}`,m=this.patternCache.get(p);if(!m){let t=this.resizeImage(r,l,u,e.styles.imageRendering);m=this.ctx.createPattern(t,f),this.patternCache.set(p,m)}this.renderRepeat(o,m,s,c)}}renderRepeatingLinearGradient(e,t,n){let[r,i,a,o,s]=nu(e,n,[null,null,null]),[c,l,u,d,f]=Ni(t.angle,o,s),p=ji(t.stops,c||1),m=p[p.length-1],h=p[0],g=m.stop-h.stop;if(g<=0){this.renderLinearGradient(e,t,n);return}let _=u-l,v=f-d,y=g/(Math.sqrt(_*_+v*v)||1),b=l,x=d,S=l+_*y,ee=d+v*y,C=this.canvas.ownerDocument??document,te=`rlg|${t.angle}|${Math.round(g)}|${JSON.stringify(t.stops)}`,ne=this.patternCache.get(te);if(!ne){let e=C.createElement(`canvas`),t=Math.max(1,Math.ceil(g));e.width=t,e.height=t;let n=e.getContext(`2d`);if(!n)return;let r=n.createLinearGradient(b-i,x-a,S-i,ee-a);p.forEach(e=>{r.addColorStop((e.stop-h.stop)/g,B(e.color))}),n.fillStyle=r,n.fillRect(0,0,t,t),t>0&&(ne=this.ctx.createPattern(e,`repeat`),this.patternCache.set(te,ne))}ne&&this.renderRepeat(r,ne,i,a)}renderLinearGradient(e,t,n){let[r,i,a,o,s]=nu(e,n,[null,null,null]),[c,l,u,d,f]=Ni(t.angle,o,s),p=`lg|${t.angle}|${Math.round(o)}x${Math.round(s)}|${JSON.stringify(t.stops)}`,m=this.patternCache.get(p);if(!m){let e=(this.canvas.ownerDocument??document).createElement(`canvas`);e.width=o,e.height=s;let n=e.getContext(`2d`);if(!n)return;let r=n.createLinearGradient(l,d,u,f);ji(t.stops,c||1).forEach(e=>r.addColorStop(e.stop,B(e.color))),n.fillStyle=r,n.fillRect(0,0,o,s),o>0&&s>0&&(m=this.ctx.createPattern(e,`repeat`),this.patternCache.set(p,m))}m&&this.renderRepeat(r,m,i,a)}renderRadialGradient(e,t,n){let[r,i,a,o,s]=nu(e,n,[null,null,null]),c=t.position.length===0?[xn]:t.position,l=R(c[0],o),u=R(c[c.length-1],s),[d,f]=Fi(t,l,u,o,s);if((d===0||f===0)&&(d=Math.max(d,.01),f=Math.max(f,.01)),d>0&&f>0){let e=`rg|${Math.round(l)}x${Math.round(u)}|${Math.round(d)}x${Math.round(f)}|${JSON.stringify(t.stops)}`,n=this.patternCache.get(e);if(!n){let r=this.canvas.ownerDocument??document,i=Math.ceil(Math.max(d,f)*2),a=r.createElement(`canvas`);a.width=i,a.height=i;let o=a.getContext(`2d`);if(o){let r=Math.max(d,f),i=o.createRadialGradient(r,r,0,r,r,r);ji(t.stops,r*2).forEach(e=>i.addColorStop(e.stop,B(e.color))),o.fillStyle=i,d!==f&&o.scale(1,f/d),o.fillRect(0,0,r*2,r*2),n=this.ctx.createPattern(a,`no-repeat`),this.patternCache.set(e,n)}}n&&(this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.translate(i+l-Math.max(d,f),a+u-Math.max(d,f)),this.ctx.fillStyle=n,this.ctx.fillRect(0,0,Math.max(d,f)*2,Math.max(d,f)*2),this.ctx.restore())}}renderRepeat(e,t,n,r){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(n,r),this.ctx.fill(),this.ctx.translate(-n,-r)}resizeImage(e,t,n,r){let i=(this.canvas.ownerDocument??document).createElement(`canvas`);i.width=Math.max(1,t),i.height=Math.max(1,n);let a=i.getContext(`2d`);return a?(r===2||r===1?(this.context.logger.debug(`Disabling image smoothing for background image due to CSS image-rendering`),a.imageSmoothingEnabled=!1):r===3?(this.context.logger.debug(`Enabling image smoothing for background image due to CSS image-rendering: smooth`),a.imageSmoothingEnabled=!0):a.imageSmoothingEnabled=this.ctx.imageSmoothingEnabled,this.ctx.imageSmoothingQuality&&(a.imageSmoothingQuality=this.ctx.imageSmoothingQuality),a.drawImage(e,0,0,e.width,e.height,0,0,t,n),i):e}path(e){yu(this.ctx,e)}};let Su=(e,t)=>{switch(t){case 0:return $(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return $(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return $(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return $(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},Cu=(e,t)=>{switch(t){case 0:return $(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return $(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return $(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return $(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},wu=(e,t)=>{switch(t){case 0:return $(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return $(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return $(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return $(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},Tu=(e,t)=>{switch(t){case 0:return Eu(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return Eu(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return Eu(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return Eu(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},Eu=(e,t)=>{let n=[];return Z(e)?n.push(e.subdivide(.5,!1)):n.push(e),Z(t)?n.push(t.subdivide(.5,!0)):n.push(t),n},$=(e,t,n,r)=>{let i=[];return Z(e)?i.push(e.subdivide(.5,!1)):i.push(e),Z(n)?i.push(n.subdivide(.5,!0)):i.push(n),Z(r)?i.push(r.subdivide(.5,!0).reverse()):i.push(r),Z(t)?i.push(t.subdivide(.5,!1).reverse()):i.push(t),i};var Du=class{constructor(e,t){this.ctx=e.ctx,this.pathCallbacks=t}async renderSolidBorder(e,t,n){this.pathCallbacks.path(Su(n,t)),this.ctx.fillStyle=B(e),this.ctx.fill()}async renderDoubleBorder(e,t,n,r){if(t<3){await this.renderSolidBorder(e,n,r);return}let i=Cu(r,n);this.pathCallbacks.path(i),this.ctx.fillStyle=B(e),this.ctx.fill();let a=wu(r,n);this.pathCallbacks.path(a),this.ctx.fill()}async renderDashedDottedBorder(e,t,n,r,i){this.ctx.save();let a=Tu(r,n),o=Su(r,n);i===2&&(this.pathCallbacks.path(o),this.ctx.clip());let s,c,l,u;Z(o[0])?(s=o[0].start.x,c=o[0].start.y):(s=o[0].x,c=o[0].y),Z(o[1])?(l=o[1].end.x,u=o[1].end.y):(l=o[1].x,u=o[1].y);let d;d=Math.abs(n===0||n===2?s-l:c-u),this.ctx.beginPath(),i===3?this.pathCallbacks.formatPath(a):this.pathCallbacks.formatPath(o.slice(0,2));let f=t<3?t*3:t*2,p=t<3?t*2:t;i===3&&(f=t,p=t);let m=!0;if(d<=f*2)m=!1;else if(d<=f*2+p){let e=d/(2*f+p);f*=e,p*=e}else{let e=Math.floor((d+p)/(f+p)),t=(d-e*f)/(e-1),n=(d-(e+1)*f)/e;p=n<=0||Math.abs(p-t)<Math.abs(p-n)?t:n}if(m&&(i===3?this.ctx.setLineDash([0,f+p]):this.ctx.setLineDash([f,p])),i===3?(this.ctx.lineCap=`round`,this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=B(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2){if(Z(o[0])){let e=o[3],t=o[0];this.ctx.beginPath(),this.pathCallbacks.formatPath([new X(e.end.x,e.end.y),new X(t.start.x,t.start.y)]),this.ctx.stroke()}if(Z(o[1])){let e=o[1],t=o[2];this.ctx.beginPath(),this.pathCallbacks.formatPath([new X(e.end.x,e.end.y),new X(t.start.x,t.start.y)]),this.ctx.stroke()}}this.ctx.restore()}},Ou=class{constructor(e){this.ctx=e}renderBorderImage(e,t,n,r,i,a,o,s){let c=t.naturalWidth||t.width,l=t.naturalHeight||t.height;if(c<=0||l<=0)return;let u=Math.min(n.unit===`percent`?n.top/100*l:Math.min(n.top,l),l),d=Math.min(n.unit===`percent`?n.right/100*c:Math.min(n.right,c),c),f=Math.min(n.unit===`percent`?n.bottom/100*l:Math.min(n.bottom,l),l),p=Math.min(n.unit===`percent`?n.left/100*c:Math.min(n.left,c),c),{left:m,top:h,width:g,height:_}=e;if(g<=0||_<=0)return;let v=Math.min(i,_),y=Math.min(a,g),b=Math.min(o,_-v),x=Math.min(s,g-y);this.drawRegion(t,0,0,p,u,m,h,x,v),this.drawRegion(t,c-d,0,d,u,m+g-y,h,y,v),this.drawRegion(t,c-d,l-f,d,f,m+g-y,h+_-b,y,b),this.drawRegion(t,0,l-f,p,f,m,h+_-b,x,b);let S=[{sx:p,sy:0,sw:c-p-d,sh:u,dx:m+x,dy:h,dw:g-x-y,dh:v,repeat:r.horizontal},{sx:c-d,sy:u,sw:d,sh:l-u-f,dx:m+g-y,dy:h+v,dw:y,dh:_-v-b,repeat:r.vertical},{sx:p,sy:l-f,sw:c-p-d,sh:f,dx:m+x,dy:h+_-b,dw:g-x-y,dh:b,repeat:r.horizontal},{sx:0,sy:u,sw:p,sh:l-u-f,dx:m,dy:h+v,dw:x,dh:_-v-b,repeat:r.vertical}];for(let e of S){if(e.sw<=0||e.sh<=0||e.dw<=0||e.dh<=0)continue;let n=e.dw>=e.dh;e.repeat===0?this.ctx.drawImage(t,e.sx,e.sy,e.sw,e.sh,e.dx,e.dy,e.dw,e.dh):(e.repeat===1||e.repeat===2)&&this.drawRepeatedEdge(t,e,n,e.repeat===2)}if(n.fill){let e=p,n=u,r=c-p-d,i=l-u-f,a=m+x,o=h+v,s=g-x-y,S=_-v-b;this.drawRegion(t,e,n,r,i,a,o,s,S)}}drawRegion(e,t,n,r,i,a,o,s,c){r>0&&i>0&&s>0&&c>0&&this.ctx.drawImage(e,t,n,r,i,a,o,s,c)}drawRepeatedEdge(e,t,n,r){let i=n?t.sw:t.sh,a=n?t.dw:t.dh;if(i<=0||a<=0)return;let o,s;r?(s=Math.max(1,Math.round(a/i)),o=a/s):(o=i,s=Math.ceil(a/o)),this.ctx.save(),this.ctx.beginPath(),this.ctx.rect(t.dx,t.dy,t.dw,t.dh),this.ctx.clip();for(let r=0;r<s;r++){let i=r*o,s=a-i,c=Math.min(o,s);if(c<=0)break;n?this.ctx.drawImage(e,t.sx,t.sy,t.sw,t.sh,t.dx+i,t.dy,c,t.dh):this.ctx.drawImage(e,t.sx,t.sy,t.sw,t.sh,t.dx,t.dy+i,t.dw,c)}this.ctx.restore()}},ku=class{constructor(e,t){this.activeEffects=[],this.didSave=!1,this.saveAtDepth=-1,this.ctx=e.ctx,this.pathCallback=t}applyEffects(e){for(;this.activeEffects.length;)this.popEffect();this.didSave=!1,this.saveAtDepth=-1;let t=e=>Rl(e)||zl(e)||Vl(e),n=e.reduceRight((e,n,r)=>e===-1?t(n)?r:-1:e,-1);for(let r=0;r<e.length;r++){let i=e[r];t(i)&&(this.didSave||=(this.ctx.save(),!0),r===n&&(this.saveAtDepth=this.activeEffects.length)),this.applyEffect(i)}}applyEffect(e){Rl(e)?(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)):zl(e)?(this.pathCallback.path(e.path),this.ctx.clip()):Vl(e)?e.applyClip(this.ctx):Bl(e)?this.ctx.globalAlpha*=e.opacity:Hl(e)?this.ctx.globalCompositeOperation=e.compositeOperation:Ul(e)&&(this.ctx.filter=e.safeFilterString||`none`,e.shadow&&(this.ctx.shadowOffsetX=e.shadow.offsetX,this.ctx.shadowOffsetY=e.shadow.offsetY,this.ctx.shadowBlur=e.shadow.blur,this.ctx.shadowColor=e.shadow.color)),this.activeEffects.push(e)}popEffect(){this.activeEffects.length!==0&&(this.didSave&&this.activeEffects.length-1===this.saveAtDepth&&(this.ctx.restore(),this.didSave=!1,this.saveAtDepth=-1),this.activeEffects.pop(),!this.didSave&&this.activeEffects.length===0&&(this.ctx.globalAlpha=1,this.ctx.globalCompositeOperation=`source-over`,this.ctx.filter=`none`,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.ctx.shadowBlur=0,this.ctx.shadowColor=`rgba(0, 0, 0, 0)`))}getActiveEffectCount(){return this.activeEffects.length}hasActiveEffects(){return this.activeEffects.length>0}};let Au=(e,t,n,r,i)=>{let a=0,o=0,s=e,c=t,l=n.left,u=n.top,d=n.width,f=n.height,p=d/f,m=s/c,h=i?R(i[0],1):.5,g=i?R(i[1],1):.5;return r===2?m>p?(f=d/m,u+=(n.height-f)*g):(d=f*m,l+=(n.width-d)*h):r===4?m>p?(s=c*p,a+=(e-s)*h):(c=s/p,o+=(t-c)*g):r===8?(s>d?(a+=(s-d)*h,s=d):(l+=(d-s)*h,d=s),c>f?(o+=(c-f)*g,c=f):(u+=(f-c)*g,f=c)):r===16&&((m>p?d:f*m)<(s>d?s:d)?m>p?(f=d/m,u+=(n.height-f)*g):(d=f*m,l+=(n.width-d)*h):(s>d?(a+=(s-d)*h,s=d):(l+=(d-s)*h,d=s),c>f?(o+=(c-f)*g,c=f):(u+=(f-c)*g,f=c))),{sx:a,sy:o,sw:s,sh:c,dx:l,dy:u,dw:d,dh:f}};async function ju(e,t,n,r,i,a,o,s){if(i instanceof nl)try{let n=await t.cache.match(i.src),r=e.imageSmoothingEnabled;o.imageRendering===2||o.imageRendering===1?e.imageSmoothingEnabled=!1:o.imageRendering===3&&(e.imageSmoothingEnabled=!0),s(i,a,n),e.imageSmoothingEnabled=r}catch(e){t.logger.error(`Error loading image ${i.src}`),t.onError?.(e instanceof Error?e:Error(String(e)))}if(i instanceof rl&&s(i,a,i.canvas),i instanceof il)try{s(i,a,await t.cache.match(i.svg))}catch(e){t.logger.error(`Error loading svg ${i.svg.substring(0,255)}`),t.onError?.(e instanceof Error?e:Error(String(e)))}if(i instanceof gl&&i.tree){let a=await r(t,{scale:n.scale,backgroundColor:i.backgroundColor,x:0,y:0,width:i.width,height:i.height}).render(i.tree);i.width&&i.height&&e.drawImage(a,0,0,i.width,i.height,i.bounds.left,i.bounds.top,i.bounds.width,i.bounds.height)}}function Mu(e,t,n,r,i,a){if(i instanceof pl){let t=Math.min(i.bounds.width,i.bounds.height);i.type===`checkbox`&&i.checked?(e.save(),r([new X(i.bounds.left+t*.39363,i.bounds.top+t*.79),new X(i.bounds.left+t*.16,i.bounds.top+t*.5549),new X(i.bounds.left+t*.27347,i.bounds.top+t*.44071),new X(i.bounds.left+t*.39694,i.bounds.top+t*.5649),new X(i.bounds.left+t*.72983,i.bounds.top+t*.23),new X(i.bounds.left+t*.84,i.bounds.top+t*.34085),new X(i.bounds.left+t*.39363,i.bounds.top+t*.79)]),e.fillStyle=B(fl),e.fill(),e.restore()):i.type===`radio`&&i.checked&&(e.save(),e.beginPath(),e.arc(i.bounds.left+t/2,i.bounds.top+t/2,t/4,0,Math.PI*2,!0),e.fillStyle=B(fl),e.fill(),e.restore())}if(Pu(i)&&i.value.length){let[o,s,c]=n.createFontStyle(a),{baseline:l}=t.getMetrics(s,c);e.font=o,e.fillStyle=i instanceof pl&&i.isPlaceholder?B(1970632191):B(a.color),e.textBaseline=`alphabetic`,e.textAlign=Fu(i.styles.textAlign);let u=$l(i),d=0;switch(i.styles.textAlign){case 1:d+=u.width/2;break;case 2:d+=u.width;break}let f=0;if(i instanceof pl){let e=R(a.fontSize,0);f=(u.height-e)/2}let p=u.add(d,f,0,0);e.save(),r([new X(u.left,u.top),new X(u.left+u.width,u.top),new X(u.left+u.width,u.top+u.height),new X(u.left,u.top+u.height)]),e.clip(),n.renderTextWithLetterSpacing(new Uc(i.value,p),a.letterSpacing,l,a.writingMode),e.restore(),e.textBaseline=`alphabetic`,e.textAlign=`left`}}async function Nu(e,t,n,r,i,o){if(U(i.styles.display,2048)){if(i.styles.listStyleImage!==null){let n=i.styles.listStyleImage;if(n.type===0){let r=n.url;try{let n=await t.cache.match(r);e.drawImage(n,i.bounds.left-(n.width+10),i.bounds.top)}catch(e){t.logger.error(`Error loading list-style-image ${r}`),t.onError?.(e instanceof Error?e:Error(String(e)))}}}else if(r.listValue&&i.styles.listStyleType!==-1){let[t]=n.createFontStyle(o);e.font=t,e.fillStyle=B(o.color),e.textBaseline=`middle`,e.textAlign=`right`;let s=new a(i.bounds.left,i.bounds.top+R(i.styles.paddingTop,i.bounds.width),i.bounds.width,Ka(o.lineHeight,o.fontSize.number)/2+1);n.renderTextWithLetterSpacing(new Uc(r.listValue,s),o.letterSpacing,Ka(o.lineHeight,o.fontSize.number)/2+2,o.writingMode),e.textBaseline=`bottom`,e.textAlign=`left`}}}let Pu=e=>e instanceof hl||e instanceof ml||e instanceof pl&&e.type!==`radio`&&e.type!==`checkbox`,Fu=e=>{switch(e){case 1:return`center`;case 2:return`right`;default:return`left`}};var Iu=class e{constructor(e,t){this.context=e,this.options=t,this.canvas=t.canvas?t.canvas:document.createElement(`canvas`);let n=this.canvas.getContext(`2d`);if(!n)throw Error(`Failed to get 2D rendering context from canvas`);this.ctx=n,t.canvas||(this.canvas.width=Math.floor(t.width*t.scale),this.canvas.height=Math.floor(t.height*t.scale),this.canvas.style.width=`${t.width}px`,this.canvas.style.height=`${t.height}px`),this.fontMetrics=new lu(document),this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-t.x,-t.y),this.ctx.textBaseline=`bottom`,t.imageSmoothing!==void 0&&(this.ctx.imageSmoothingEnabled=t.imageSmoothing),t.imageSmoothingQuality&&(this.ctx.imageSmoothingQuality=t.imageSmoothingQuality),this.backgroundRenderer=new xu({ctx:this.ctx,context:this.context,canvas:this.canvas,options:{width:t.width,height:t.height,scale:t.scale}}),this.borderRenderer=new Du({ctx:this.ctx},{path:e=>this.path(e),formatPath:e=>this.formatPath(e)}),this.borderImageRenderer=new Ou(this.ctx),this.effectsRenderer=new ku({ctx:this.ctx},{path:e=>this.path(e)}),this.textRenderer=new _u({ctx:this.ctx,context:this.context,options:{scale:t.scale}}),this.context.logger.debug(`Canvas renderer initialized (${t.width}x${t.height}) with scale ${t.scale}`)}async renderStack(e){e.element.container.styles.isVisible()&&await this.renderStackContent(e)}async renderNode(e){if(e.container.debugRender)debugger;e.container.styles.isVisible()&&(await this.renderNodeBackgroundAndBorders(e),await this.renderNodeContent(e))}renderReplacedElement(e,t,n){let r=n.naturalWidth||e.intrinsicWidth,i=n.naturalHeight||e.intrinsicHeight;if(n&&r>0&&i>0){let a=$l(e),o=Al(t);this.path(o),this.ctx.save(),this.ctx.clip();let{sx:s,sy:c,sw:l,sh:u,dx:d,dy:f,dw:p,dh:m}=Au(r,i,a,e.styles.objectFit,e.styles.objectPosition);this.ctx.drawImage(n,s,c,l,u,d,f,p,m),this.ctx.restore()}}async renderNodeContent(t){this.effectsRenderer.applyEffects(t.getEffects(4));let n=t.container,r=t.curves,i=n.styles,a=$l(n);for(let e of n.textNodes)await this.textRenderer.renderTextNode(e,i,a);await ju(this.ctx,this.context,{scale:this.options.scale,backgroundColor:this.options.backgroundColor,x:this.options.x,y:this.options.y,width:this.options.width,height:this.options.height},(t,n)=>new e(t,n),n,r,i,(e,t,n)=>this.renderReplacedElement(e,t,n)),Mu(this.ctx,this.fontMetrics,this.textRenderer,this.path.bind(this),n,i),await Nu(this.ctx,this.context,this.textRenderer,t,n,i)}async renderStackContent(e){if(e.element.container.debugRender)debugger;let t=this.options.signal;await this.renderNodeBackgroundAndBorders(e.element);for(let n of e.negativeZIndex){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderNodeContent(e.element);for(let t of e.nonInlineLevel)await this.renderNode(t);for(let n of e.nonPositionedFloats){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}for(let n of e.nonPositionedInlineLevel){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}for(let t of e.inlineLevel)await this.renderNode(t);for(let n of e.zeroOrAutoZIndexOrTransformedOrOpacity){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}for(let n of e.positiveZIndex){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}}mask(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.options.width,0),this.ctx.lineTo(this.options.width,this.options.height),this.ctx.lineTo(0,this.options.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()}path(e){yu(this.ctx,e)}formatPath(e){vu(this.ctx,e)}async renderNodeBackgroundAndBorders(e){this.effectsRenderer.applyEffects(e.getEffects(2));let t=e.container.styles,n=!On(t.backgroundColor)||t.backgroundImage.length,r=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Lu(ou(t.backgroundClip,0),e.curves);if((n||t.boxShadow.length)&&(this.ctx.save(),this.path(i),this.ctx.clip(),On(t.backgroundColor)||(this.ctx.fillStyle=B(t.backgroundColor),this.ctx.fill()),await this.backgroundRenderer.renderBackgroundImage(e.container),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(t=>{this.ctx.save();let n=Ol(e.curves),r=t.inset?0:1e4,i=wl(n,-r+(t.inset?1:-1)*t.spread.number,(t.inset?1:-1)*t.spread.number,t.spread.number*(t.inset?-2:2),t.spread.number*(t.inset?-2:2));t.inset?(this.path(n),this.ctx.clip(),this.mask(i)):(this.mask(n),this.ctx.clip(),this.path(i)),this.ctx.shadowOffsetX=t.offsetX.number+r,this.ctx.shadowOffsetY=t.offsetY.number,this.ctx.shadowColor=B(t.color),this.ctx.shadowBlur=t.blur.number,this.ctx.fillStyle=t.inset?B(t.color):`rgba(0,0,0,1)`,this.ctx.fill(),this.ctx.restore()})),t.borderImageSource){let n=t.borderImageSource;if(n.type===0){let r=n.url;try{let n=await this.context.cache.match(r);if(n){let r=e.container.bounds;this.borderImageRenderer.renderBorderImage(r,n,t.borderImageSlice,t.borderImageRepeat,Math.max(0,t.borderTopWidth),Math.max(0,t.borderRightWidth),Math.max(0,t.borderBottomWidth),Math.max(0,t.borderLeftWidth))}}catch{this.context.logger.error(`Error loading border-image ${r}`)}}return}let a=0;for(let t of r)t.style!==0&&!On(t.color)&&t.width>0&&(t.style===2?await this.borderRenderer.renderDashedDottedBorder(t.color,t.width,a,e.curves,2):t.style===3?await this.borderRenderer.renderDashedDottedBorder(t.color,t.width,a,e.curves,3):t.style===4?await this.borderRenderer.renderDoubleBorder(t.color,t.width,a,e.curves):await this.borderRenderer.renderSolidBorder(t.color,a,e.curves)),a++}async render(e){this.options.backgroundColor&&(this.ctx.fillStyle=B(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height));let t=Zl(e);return await this.renderStack(t),this.effectsRenderer.applyEffects([]),this.canvas}};let Lu=(e,t)=>{switch(e){case 0:return Ol(t);case 2:return kl(t);default:return Al(t)}};var Ru=class{constructor(e,t){this.context=e,this.options=t,this.canvas=t.canvas?t.canvas:document.createElement(`canvas`);let n=this.canvas.getContext(`2d`);if(!n)throw Error(`Failed to get 2D rendering context from canvas`);this.ctx=n,this.canvas.width=Math.floor(t.width*t.scale),this.canvas.height=Math.floor(t.height*t.scale),this.canvas.style.width=`${t.width}px`,this.canvas.style.height=`${t.height}px`,this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-t.x,-t.y),this.context.logger.debug(`EXPERIMENTAL ForeignObject renderer initialized (${t.width}x${t.height} at ${t.x},${t.y}) with scale ${t.scale}`)}async render(e){if(this.options.signal?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);let t=await Hc(Vc(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e));return this.options.backgroundColor&&(this.ctx.fillStyle=B(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),this.canvas}},zu=class{static{this.instances={}}constructor({id:e,enabled:t}){this.id=e,this.enabled=t,this.start=Date.now()}debug(...e){this.enabled&&(typeof window<`u`&&window.console&&typeof console.debug==`function`?console.debug(this.id,`${this.getTime()}ms`,...e):this.info(...e))}getTime(){return Date.now()-this.start}info(...e){this.enabled&&typeof window<`u`&&window.console&&typeof console.info==`function`&&console.info(this.id,`${this.getTime()}ms`,...e)}warn(...e){this.enabled&&(typeof window<`u`&&window.console&&typeof console.warn==`function`?console.warn(this.id,`${this.getTime()}ms`,...e):this.info(...e))}error(...e){this.enabled&&(typeof window<`u`&&window.console&&typeof console.error==`function`?console.error(this.id,`${this.getTime()}ms`,...e):this.info(...e))}},Bu=class{constructor(e,t){if(this.context=e,this._options=t,this._cache=new Map,this._pendingOperations=new Map,this._deferMode=!1,this._collectedUrls=new Set,this.maxSize=t.maxCacheSize??100,this.maxSize<1)throw Error(`Cache maxSize must be at least 1`);this.maxSize>1e4&&this.context.logger.warn(`Cache maxSize ${this.maxSize} is very large and may cause memory issues. Consider using a smaller value (recommended: 100-1000).`)}startDefer(){this._deferMode=!0}async preloadAll(e=10){this._deferMode=!1;let t=Array.from(this._collectedUrls);if(this._collectedUrls.clear(),t.length===0)return;let n=Math.max(1,Math.min(e,100));this.context.logger.debug(`Preloading ${t.length} image(s) with concurrency ${n}`);for(let e=0;e<t.length;e+=n){let r=t.slice(e,e+n).map(e=>this._addImageWithPending(e));await Promise.allSettled(r)}}addImage(e){if(this._deferMode)return!this.has(e)&&(qu(e)||Wu(e))&&this._collectedUrls.add(e),Promise.resolve();let t=this._pendingOperations.get(e);if(t)return t;if(this.has(e)){let t=this._cache.get(e);return this._cache.delete(e),this._cache.set(e,t),Promise.resolve()}return qu(e)||Wu(e)?this._addImageWithPending(e):Promise.resolve()}_addImageWithPending(e){let t=this._pendingOperations.get(e);if(t)return t;let n=this._addImageInternal(e);return this._pendingOperations.set(e,n),n.finally(()=>{this._pendingOperations.delete(e)}),n}async _addImageInternal(e){let t=this._options.imageTimeout??15e3,n=this.withTimeout(this.loadImage(e),t,`Timed out (${t}ms) loading image`);n.catch(t=>{this.context.logger.error(`Failed to load image ${e}: ${t instanceof Error?t.message:`Unknown error`}`)}),this.set(e,n)}withTimeout(e,t,n){if(t<=0)return e;let r,i=new Promise((e,i)=>{r=setTimeout(()=>i(Error(n)),t)});return Promise.race([e,i]).finally(()=>{r!==void 0&&clearTimeout(r)})}match(e){let t=this._cache.get(e);if(t)return this._cache.delete(e),this._cache.set(e,t),t.value}set(e,t){if(this._cache.has(e))this._cache.delete(e);else if(this._cache.size>=this.maxSize){let e=this._cache.keys().next().value;e!==void 0&&(this._cache.delete(e),this.context.logger.debug(`Cache: Evicted LRU entry: ${e}`))}this._cache.set(e,{value:t})}size(){return this._cache.size}getMaxSize(){return this.maxSize}clear(){this._cache.clear()}async loadImage(e){let t=this.context.originChecker,n=e=>t.isSameOrigin(e),r=typeof this._options.customIsSameOrigin==`function`?await this._options.customIsSameOrigin(e,n):n(e),i=!Gu(e)&&this._options.useCORS===!0&&Y.SUPPORT_CORS_IMAGES&&!r,a=!Gu(e)&&!r&&!qu(e)&&typeof this._options.proxy==`string`&&Y.SUPPORT_CORS_XHR&&!i;if(!r&&this._options.allowTaint===!1&&!Gu(e)&&!qu(e)&&!a&&!i)return;let o=e;return a&&(o=await this.proxy(o)),this.context.logger.debug(`Added image ${e.substring(0,256)}`),await new Promise((e,t)=>{let n=new Image;n.onload=()=>e(n),n.onerror=t,(Ku(o)||i)&&(n.crossOrigin=`anonymous`),n.src=o,n.complete===!0&&setTimeout(()=>e(n),500)})}has(e){return this._cache.has(e)}keys(){return Promise.resolve(Array.from(this._cache.keys()))}proxy(e){let t=this._options.proxy;if(!t)throw Error(`No proxy defined`);let n=e.substring(0,256);return new Promise((r,i)=>{let a=Y.SUPPORT_RESPONSE_TYPE?`blob`:`text`,o=new XMLHttpRequest;o.onload=()=>{if(o.status===200)if(a===`text`)r(o.response);else{let e=new FileReader;e.addEventListener(`load`,()=>r(e.result),!1),e.addEventListener(`error`,e=>i(e),!1),e.readAsDataURL(o.response)}else i(`Failed to proxy resource ${n} with status code ${o.status}`)},o.onerror=i;let s=t.indexOf(`?`)>-1?`&`:`?`;if(o.open(`GET`,`${t}${s}url=${encodeURIComponent(e)}&responseType=${a}`),a!==`text`&&o instanceof XMLHttpRequest&&(o.responseType=a),this._options.imageTimeout){let e=this._options.imageTimeout;o.timeout=e,o.ontimeout=()=>i(`Timed out (${e}ms) proxying ${n}`)}o.send()})}};let Vu=/^data:image\/svg\+xml/i,Hu=/^data:image\/.*;base64,/i,Uu=/^data:image\/.*/i,Wu=e=>Y.SUPPORT_SVG_DRAWING||!Ju(e),Gu=e=>Uu.test(e),Ku=e=>Hu.test(e),qu=e=>e.substring(0,4)===`blob`,Ju=e=>e.slice(-3).toLowerCase()===`svg`||Vu.test(e);var Yu=class{constructor(e){if(!e||!e.document)throw Error(`Valid window object required for OriginChecker`);if(!e.location||!e.location.href)throw Error(`Window object must have valid location`);this.link=e.document.createElement(`a`),this.origin=this.getOrigin(e.location.href)}getOrigin(e){return this.link.href=e,this.link.href=this.link.href,this.link.protocol+this.link.hostname+this.link.port}isSameOrigin(e){return this.getOrigin(e)===this.origin}getContextOrigin(){return this.origin}},Xu=class e{static{this.instanceCount=1}constructor(t,n,r){this.windowBounds=n,this.instanceName=`#${e.instanceCount++}`,this.config=r,this.logger=new zu({id:this.instanceName,enabled:t.logging}),this.originChecker=new Yu(r.window),this.cache=t.cache??r.cache??new Bu(this,t),this.onError=t.onError}};let Zu=e=>{if(e?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`)},Qu=e=>{[`scale`,`width`,`height`,`imageTimeout`,`x`,`y`,`windowWidth`,`windowHeight`,`scrollX`,`scrollY`].forEach(t=>{let n=e[t];if(n!=null&&typeof n!=`number`){let r=Number(n);Number.isNaN(r)||(e[t]=r)}})},$u=e=>({allowTaint:e.allowTaint??!1,imageTimeout:e.imageTimeout??15e3,proxy:e.proxy,useCORS:e.useCORS??!1,customIsSameOrigin:e.customIsSameOrigin,maxCacheSize:e.maxCacheSize}),ed=(e,t,n)=>({logging:e.logging??!0,cache:e.cache??t.cache,...n}),td=(e,t)=>{let n=t;return{windowWidth:e.windowWidth??n.innerWidth??800,windowHeight:e.windowHeight??n.innerHeight??600,scrollX:e.scrollX??n.pageXOffset??0,scrollY:e.scrollY??n.pageYOffset??0}},nd=(e,t,n)=>({allowTaint:e.allowTaint??!1,onclone:e.onclone,ignoreElements:e.ignoreElements,iframeContainer:e.iframeContainer,inlineImages:n,copyStyles:n,cspNonce:e.cspNonce??t.cspNonce}),rd=(e,t,n,r,i,a,o)=>({canvas:e.canvas,backgroundColor:t,signal:e.signal,scale:e.scale??o??1,x:(e.x??0)+n,y:(e.y??0)+r,width:e.width??Math.ceil(i),height:e.height??Math.ceil(a),imageSmoothing:e.imageSmoothing,imageSmoothingQuality:e.imageSmoothingQuality}),id=(e,t,n)=>{let r=t.ownerDocument,i=r.documentElement?Wr(e,getComputedStyle(r.documentElement).backgroundColor):H.TRANSPARENT,a=r.body?Wr(e,getComputedStyle(r.body).backgroundColor):H.TRANSPARENT,o=typeof n==`string`?Wr(e,n):n===null?H.TRANSPARENT:4294967295;return t===r.documentElement?On(i)?On(a)?o:a:i:o},ad=async(e,t,n)=>{if(Qu(t),!t.skipValidation){let n=t.validator||r(),i=n.validateElement(e);if(!i.valid)throw Error(i.error);let a=n.validateOptions(t);if(!a.valid)throw Error(`Invalid options: ${a.error}`)}if(!e||typeof e!=`object`)throw Error(`Invalid element provided as first argument`);let c=e.ownerDocument;if(!c)throw Error(`Element is not attached to a Document`);let l=c.defaultView;if(!l)throw Error(`Document is not attached to a Window`);let u=ed(t,n,$u(t)),d=td(t,l),f=new a(d.scrollX,d.scrollY,d.windowWidth,d.windowHeight),p=new Xu(u,f,n),m=t.enablePerformanceMonitoring??t.logging??!1,h=new i(p,m);h.start(`total`,{width:d.windowWidth,height:d.windowHeight});let g=t.signal;Zu(g);let _=t.foreignObjectRendering??!1,v=nd(t,n,_);p.logger.debug(`Starting document clone with size ${f.width}x${f.height} scrolled to ${-f.left},${-f.top}`),h.start(`clone`);let y=new Ts(p,e,v),b=y.clonedReferenceElement;if(!b)throw Error(`Unable to find element in cloned iframe`);let x=await y.toIFrame(c,f);h.end(`clone`),g?.aborted&&((t.removeContainer??!0)&&Ts.destroy(x),Zu(g));let{width:S,height:ee,left:C,top:te}=Qr(b)||Xr(b)?s(b.ownerDocument):o(p,b),ne=id(p,b,t.backgroundColor),re=rd(t,ne,C,te,S,ee,l.devicePixelRatio??1),ie,ae;try{return _?(p.logger.debug(`Document cloned, using foreign object rendering`),h.start(`render-foreignobject`),ie=await new Ru(p,re).render(b),h.end(`render-foreignobject`)):(p.logger.debug(`Document cloned, element located at ${C},${te} with size ${S}x${ee} using computed rendering`),p.logger.debug(`Starting DOM parsing`),h.start(`parse`),Zu(g),p.cache.startDefer(),ae=bl(p,b),h.end(`parse`),h.start(`preload`),await p.cache.preloadAll(),h.end(`preload`),ne===ae.styles.backgroundColor&&(ae.styles.backgroundColor=H.TRANSPARENT),p.logger.debug(`Starting renderer for element at ${re.x},${re.y} with size ${re.width}x${re.height}`),h.start(`render`),Zu(g),ie=await new Iu(p,re).render(ae),h.end(`render`)),h.start(`cleanup`),(t.removeContainer??!0)&&(Ts.destroy(x)||p.logger.error(`Cannot detach cloned iframe as it is not in the DOM anymore`)),h.end(`cleanup`),h.end(`total`),p.logger.debug(`Finished rendering`),m&&h.logSummary(),ie}finally{ae&&ae.restoreTree()}},od=(e,n={},r)=>ad(e,n,r||t.fromElement(e,{cspNonce:n.cspNonce,cache:n.cache}));e.Html2CanvasConfig=t,e.PerformanceMonitor=i,e.Validator=n,e.createDefaultValidator=r,e.default=od,e.html2canvas=od}),typeof window<`u`&&window.html2canvas&&window.html2canvas.default&&(window.html2canvas=window.html2canvas.default);
|
|
10
|
+
.${Is}:after${Ls}`,t)},zs=(e,t,n)=>{let r=e.ownerDocument;if(r){let i=r.createElement(`style`);i.textContent=t,n&&(i.nonce=n),e.appendChild(i)}},Bs=(e,t)=>{let n=e.ownerDocument.createElement(`base`);n.href=t;let r=e.getElementsByTagName(`head`).item(0);r?.insertBefore(n,r?.firstChild??null)};for(var Vs=class{static normalizeElement(e,t){let n={};return Jr(e)?(t.animationDuration.some(e=>e>0)&&(n.animationDuration=e.style.animationDuration,e.style.animationDuration=`0s`),t.transform!==null&&(n.transform=e.style.transform,e.style.transform=`translate(0, 0)`),t.rotate!==null&&(n.rotate=e.style.rotate,e.style.rotate=`0deg`,n.transform===void 0&&(n.transform=e.style.transform,e.style.transform=`translate(0, 0)`)),n):n}static restoreElement(e,t){Jr(e)&&(t.animationDuration!==void 0&&(e.style.animationDuration=t.animationDuration),t.transform!==void 0&&(e.style.transform=t.transform),t.rotate!==void 0&&(e.style.rotate=t.rotate))}},J=class{constructor(e,t,n={}){if(this.context=e,this.textNodes=[],this.elements=[],this.createsStackingContext=!1,this.createsRealStackingContext=!1,this.isListOwner=!1,this.debugRender=!1,Ss(t,3))debugger;this.styles=new _s(e,e.config.window.getComputedStyle(t,null)),n.normalizeDom!==!1&&Jr(t)&&(this.originalStyles=Vs.normalizeElement(t,this.styles),this.originalElement=t),this.bounds=o(this.context,t),Ss(t,4)&&(this.debugRender=!0)}restore(){this.originalStyles&&this.originalElement&&(Vs.restoreElement(this.originalElement,this.originalStyles),this.originalStyles=void 0,this.originalElement=void 0)}restoreTree(){this.restore();for(let e of this.elements)e.restoreTree()}},Hs=`AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=`,Us=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,Ws=typeof Uint8Array>`u`?[]:new Uint8Array(256),Gs=0;Gs<Us.length;Gs++)Ws[Us.charCodeAt(Gs)]=Gs;for(var Ks=function(e){var t=e.length*.75,n=e.length,r,i=0,a,o,s,c;e[e.length-1]===`=`&&(t--,e[e.length-2]===`=`&&t--);var l=typeof ArrayBuffer<`u`&&typeof Uint8Array<`u`&&Uint8Array.prototype.slice!==void 0?new ArrayBuffer(t):Array(t),u=Array.isArray(l)?l:new Uint8Array(l);for(r=0;r<n;r+=4)a=Ws[e.charCodeAt(r)],o=Ws[e.charCodeAt(r+1)],s=Ws[e.charCodeAt(r+2)],c=Ws[e.charCodeAt(r+3)],u[i++]=a<<2|o>>4,u[i++]=(o&15)<<4|s>>2,u[i++]=(s&3)<<6|c&63;return l},qs=function(e){for(var t=e.length,n=[],r=0;r<t;r+=2)n.push(e[r+1]<<8|e[r]);return n},Js=function(e){for(var t=e.length,n=[],r=0;r<t;r+=4)n.push(e[r+3]<<24|e[r+2]<<16|e[r+1]<<8|e[r]);return n},Ys=5,Xs=11,Zs=2,Qs=Xs-Ys,$s=65536>>Ys,ec=(1<<Ys)-1,tc=$s+(1024>>Ys)+32,nc=65536>>Xs,rc=(1<<Qs)-1,ic=function(e,t,n){return e.slice?e.slice(t,n):new Uint16Array(Array.prototype.slice.call(e,t,n))},ac=function(e,t,n){return e.slice?e.slice(t,n):new Uint32Array(Array.prototype.slice.call(e,t,n))},oc=function(e,t){var n=Ks(e),r=Array.isArray(n)?Js(n):new Uint32Array(n),i=Array.isArray(n)?qs(n):new Uint16Array(n),a=24,o=ic(i,a/2,r[4]/2),s=r[5]===2?ic(i,(a+r[4])/2):ac(r,Math.ceil((a+r[4])/4));return new sc(r[0],r[1],r[2],r[3],o,s)},sc=function(){function e(e,t,n,r,i,a){this.initialValue=e,this.errorValue=t,this.highStart=n,this.highValueIndex=r,this.index=i,this.data=a}return e.prototype.get=function(e){var t;if(e>=0){if(e<55296||e>56319&&e<=65535)return t=this.index[e>>Ys],t=(t<<Zs)+(e&ec),this.data[t];if(e<=65535)return t=this.index[$s+(e-55296>>Ys)],t=(t<<Zs)+(e&ec),this.data[t];if(e<this.highStart)return t=tc-nc+(e>>Xs),t=this.index[t],t+=e>>Ys&rc,t=this.index[t],t=(t<<Zs)+(e&ec),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),cc=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,lc=typeof Uint8Array>`u`?[]:new Uint8Array(256),uc=0;uc<cc.length;uc++)lc[cc.charCodeAt(uc)]=uc;var dc=1,fc=2,pc=3,mc=4,hc=5,gc=7,_c=8,vc=9,yc=10,bc=11,xc=12,Sc=13,Cc=14,wc=15,Tc=function(e){for(var t=[],n=0,r=e.length;n<r;){var i=e.charCodeAt(n++);if(i>=55296&&i<=56319&&n<r){var a=e.charCodeAt(n++);(a&64512)==56320?t.push(((i&1023)<<10)+(a&1023)+65536):(t.push(i),n--)}else t.push(i)}return t},Ec=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,e);var n=e.length;if(!n)return``;for(var r=[],i=-1,a=``;++i<n;){var o=e[i];o<=65535?r.push(o):(o-=65536,r.push((o>>10)+55296,o%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},Dc=oc(Hs),Oc=`×`,kc=`÷`,Ac=function(e){return Dc.get(e)},jc=function(e,t,n){var r=n-2,i=t[r],a=t[n-1],o=t[n];if(a===fc&&o===pc)return Oc;if(a===fc||a===pc||a===mc||o===fc||o===pc||o===mc)return kc;if(a===_c&&[_c,vc,bc,xc].indexOf(o)!==-1||(a===bc||a===vc)&&(o===vc||o===yc)||(a===xc||a===yc)&&o===yc||o===Sc||o===hc||o===gc||a===dc)return Oc;if(a===Sc&&o===Cc){for(;i===hc;)i=t[--r];if(i===Cc)return Oc}if(a===wc&&o===wc){for(var s=0;i===wc;)s++,i=t[--r];if(s%2==0)return Oc}return kc},Mc=function(e){var t=Tc(e),n=t.length,r=0,i=0,a=t.map(Ac);return{next:function(){if(r>=n)return{done:!0,value:null};for(var e=Oc;r<n&&(e=jc(t,a,++r))===Oc;);if(e!==Oc||r===n){var o=Ec.apply(null,t.slice(i,r));return i=r,{value:o,done:!1}}return{done:!0,value:null}}}},Nc=function(e){for(var t=Mc(e),n=[],r;!(r=t.next()).done;)r.value&&n.push(r.value.slice());return n};let Pc=e=>{if(e.createRange){let t=e.createRange();if(t.getBoundingClientRect){let n=e.createElement(`boundtest`);n.style.height=`123px`,n.style.display=`block`,e.body.appendChild(n),t.selectNode(n);let r=t.getBoundingClientRect(),i=Math.round(r.height);if(e.body.removeChild(n),i===123)return!0}}return!1},Fc=e=>{let t=e.createElement(`boundtest`);t.style.width=`50px`,t.style.display=`block`,t.style.fontSize=`12px`,t.style.letterSpacing=`0px`,t.style.wordSpacing=`0px`,e.body.appendChild(t);let n=e.createRange();t.innerHTML=typeof``.repeat==`function`?`👨`.repeat(10):``;let r=t.firstChild,i=c(r.data).map(e=>l(e)),a=0,o={},s=i.every((e,t)=>{n.setStart(r,a),n.setEnd(r,a+e.length);let i=n.getBoundingClientRect();a+=e.length;let s=i.x>o.x||i.y>o.y;return o=i,t===0||s});return e.body.removeChild(t),s},Ic=()=>new Image().crossOrigin!==void 0,Lc=()=>typeof new XMLHttpRequest().responseType==`string`,Rc=e=>{let t=new Image,n=e.createElement(`canvas`),r=n.getContext(`2d`);if(!r)return!1;t.src=`data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>`;try{r.drawImage(t,0,0),n.toDataURL()}catch{return!1}return!0},zc=e=>e[0]===0&&e[1]===255&&e[2]===0&&e[3]===255,Bc=e=>{let t=e.createElement(`canvas`);t.width=100,t.height=100;let n=t.getContext(`2d`);if(!n)return Promise.reject(Error(`Failed to get 2D rendering context`));n.fillStyle=`rgb(0, 255, 0)`,n.fillRect(0,0,100,100);let r=new Image,i=t.toDataURL();r.src=i;let a=Vc(100,100,0,0,r);return n.fillStyle=`red`,n.fillRect(0,0,100,100),Hc(a).then(t=>{n.drawImage(t,0,0);let r=n.getImageData(0,0,100,100).data;n.fillStyle=`red`,n.fillRect(0,0,100,100);let a=e.createElement(`div`);return a.style.backgroundImage=`url(${i})`,a.style.height=`100px`,zc(r)?Hc(Vc(100,100,0,0,a)):Promise.reject(Error(`ForeignObject rendering not supported`))}).then(e=>(n.drawImage(e,0,0),zc(n.getImageData(0,0,100,100).data))).catch(()=>!1)},Vc=(e,t,n,r,i)=>{let a=`http://www.w3.org/2000/svg`,o=document.createElementNS(a,`svg`),s=document.createElementNS(a,`foreignObject`);return o.setAttributeNS(null,`width`,e.toString()),o.setAttributeNS(null,`height`,t.toString()),s.setAttributeNS(null,`width`,`100%`),s.setAttributeNS(null,`height`,`100%`),s.setAttributeNS(null,`x`,n.toString()),s.setAttributeNS(null,`y`,r.toString()),s.setAttributeNS(null,`externalResourcesRequired`,`true`),o.appendChild(s),s.appendChild(i),o},Hc=e=>new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=n,r.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(new XMLSerializer().serializeToString(e))}`}),Y={get SUPPORT_RANGE_BOUNDS(){"use strict";let e=Pc(document);return Object.defineProperty(Y,"SUPPORT_RANGE_BOUNDS",{value:e}),e},get SUPPORT_WORD_BREAKING(){"use strict";let e=Y.SUPPORT_RANGE_BOUNDS&&Fc(document);return Object.defineProperty(Y,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){"use strict";let e=Rc(document);return Object.defineProperty(Y,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){"use strict";let e=typeof Array.from==`function`&&typeof window.fetch==`function`?Bc(document):Promise.resolve(!1);return Object.defineProperty(Y,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){"use strict";let e=Ic();return Object.defineProperty(Y,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){"use strict";let e=Lc();return Object.defineProperty(Y,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){"use strict";let e=`withCredentials`in new XMLHttpRequest;return Object.defineProperty(Y,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){"use strict";let e=!!(typeof Intl<`u`&&Intl.Segmenter);return Object.defineProperty(Y,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}};var Uc=class{constructor(e,t){this.text=e,this.bounds=t}};let Wc=(e,t,n,r)=>{let i=Yc(t,n),o=[],s=0;return i.forEach(t=>{if(n.textDecorationLine.length||t.trim().length>0)if(Y.SUPPORT_RANGE_BOUNDS){let n=Kc(r,s,t.length).getClientRects();if(n.length>1){let n=qc(t),i=0;n.forEach(t=>{o.push(new Uc(t,a.fromDOMRectList(e,Kc(r,i+s,t.length).getClientRects()))),i+=t.length})}else o.push(new Uc(t,a.fromDOMRectList(e,n)))}else{let n=r.splitText(t.length);o.push(new Uc(t,Gc(e,r))),r=n}else Y.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length}),o},Gc=(e,t)=>{let n=t.ownerDocument;if(n){let r=n.createElement(`html2canvaswrapper`);r.appendChild(t.cloneNode(!0));let i=t.parentNode;if(i){i.replaceChild(r,t);let n=o(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),n}}return a.EMPTY},Kc=(e,t,n)=>{let r=e.ownerDocument;if(!r)throw Error(`Node has no owner document`);let i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},qc=e=>{if(Y.SUPPORT_NATIVE_TEXT_SEGMENTATION){let t=new Intl.Segmenter(void 0,{granularity:`grapheme`});return Array.from(t.segment(e)).map(e=>e.segment)}return Nc(e)},Jc=(e,t)=>{if(Y.SUPPORT_NATIVE_TEXT_SEGMENTATION){let t=new Intl.Segmenter(void 0,{granularity:`word`});return Array.from(t.segment(e)).map(e=>e.segment)}return Zc(e,t)},Yc=(e,t)=>bo(t.writingMode)?qc(e):t.letterSpacing===0?Jc(e,t):qc(e),Xc=[32,160,4961,65792,65793,4153,4241],Zc=(e,t)=>{let n=gt(e,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===`break-word`?`break-word`:t.wordBreak}),r=[],i;for(;!(i=n.next()).done;)if(i.value){let e=c(i.value.slice()),t=``;e.forEach(e=>{Xc.indexOf(e)===-1?t+=l(e):(t.length&&r.push(t),r.push(l(e)),t=``)}),t.length&&r.push(t)}return r};var Qc=class{constructor(e,t,n){this.text=$c(t.data,n.textTransform),this.text.length!==t.data.length&&(t.data=this.text),this.textBounds=Wc(e,this.text,n,t)}};let $c=(e,t)=>{switch(t){case 1:return e.toLowerCase();case 3:return e.replace(el,tl);case 2:return e.toUpperCase();default:return e}},el=/(^|\s|:|-|\(|\))([a-z])/g,tl=(e,t,n)=>e.length>0?t+n.toUpperCase():e;var nl=class extends J{constructor(e,t){super(e,t),this.src=t.currentSrc||t.src,this.intrinsicWidth=t.naturalWidth,this.intrinsicHeight=t.naturalHeight,this.context.cache.addImage(this.src)}},rl=class extends J{constructor(e,t){super(e,t),this.canvas=t,this.intrinsicWidth=t.width,this.intrinsicHeight=t.height}},il=class extends J{constructor(e,t){super(e,t);let n=new XMLSerializer,r=o(e,t);t.setAttribute(`width`,`${r.width}px`),t.setAttribute(`height`,`${r.height}px`),this.svg=`data:image/svg+xml,${encodeURIComponent(n.serializeToString(t))}`,this.intrinsicWidth=t.width.baseVal.value,this.intrinsicHeight=t.height.baseVal.value,this.context.cache.addImage(this.svg)}},al=class extends J{constructor(e,t){super(e,t),this.value=t.value}},ol=class extends J{constructor(e,t){super(e,t),this.start=t.start,this.reversed=typeof t.reversed==`boolean`&&t.reversed===!0}};let sl=[{type:15,flags:0,unit:`px`,number:3}],cl=[{type:16,flags:0,number:50}],ll=e=>e.width>e.height?new a(e.left+(e.width-e.height)/2,e.top,e.height,e.height):e.width<e.height?new a(e.left,e.top+(e.height-e.width)/2,e.width,e.width):e,ul=e=>{let t=e.type===`password`?Array(e.value.length+1).join(`•`):e.value;return t.length===0?e.placeholder||``:t},dl=e=>e.value.length===0&&!!e.placeholder,fl=707406591;var pl=class extends J{constructor(e,t){switch(super(e,t),this.type=t.type.toLowerCase(),this.checked=t.checked,this.value=ul(t),this.isPlaceholder=dl(t),(this.type===`checkbox`||this.type===`radio`)&&(this.styles.backgroundColor=3739148031,this.styles.borderTopColor=this.styles.borderRightColor=this.styles.borderBottomColor=this.styles.borderLeftColor=2779096575,this.styles.borderTopWidth=this.styles.borderRightWidth=this.styles.borderBottomWidth=this.styles.borderLeftWidth=1,this.styles.borderTopStyle=this.styles.borderRightStyle=this.styles.borderBottomStyle=this.styles.borderLeftStyle=1,this.styles.backgroundClip=[0],this.styles.backgroundOrigin=[0],this.bounds=ll(this.bounds)),this.type){case`checkbox`:this.styles.borderTopRightRadius=this.styles.borderTopLeftRadius=this.styles.borderBottomRightRadius=this.styles.borderBottomLeftRadius=sl;break;case`radio`:this.styles.borderTopRightRadius=this.styles.borderTopLeftRadius=this.styles.borderBottomRightRadius=this.styles.borderBottomLeftRadius=cl;break}}},ml=class extends J{constructor(e,t){super(e,t);let n=t.options[t.selectedIndex||0];this.value=n&&n.text||``}},hl=class extends J{constructor(e,t){super(e,t),this.value=t.value}},gl=class extends J{constructor(e,t,n){super(e,t),this.src=t.src,this.width=parseInt(t.width,10)||0,this.height=parseInt(t.height,10)||0,this.backgroundColor=this.styles.backgroundColor,this.parseTreeFn=n;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement&&this.parseTreeFn){this.tree=this.parseTreeFn(e,t.contentWindow.document.documentElement);let n=t.contentWindow.document.documentElement?Wr(e,getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):H.TRANSPARENT,r=t.contentWindow.document.body?Wr(e,getComputedStyle(t.contentWindow.document.body).backgroundColor):H.TRANSPARENT;this.backgroundColor=On(n)?On(r)?this.styles.backgroundColor:r:n}}catch{}}};let _l=[`OL`,`UL`,`MENU`],vl=(e,t,n,r)=>{for(let i=t.firstChild,a;i;i=a)if(a=i.nextSibling,Kr(i)&&i.data.length>0)n.textNodes.push(new Qc(e,i,n.styles));else if(Gr(i))if(si(i)&&i.assignedNodes)i.assignedNodes().forEach(t=>vl(e,t,n,r));else{let t=yl(e,i);t.styles.isVisible()&&(xl(i,t,r)?t.createsRealStackingContext=!0:Sl(t.styles)&&(t.createsStackingContext=!0),_l.indexOf(i.tagName)!==-1&&(t.isListOwner=!0),n.elements.push(t),i.shadowRoot?vl(e,i.shadowRoot,t,r):!ai(i)&&!Zr(i)&&!oi(i)&&vl(e,i,t,r))}},yl=(e,t)=>ti(t)?new nl(e,t):$r(t)?new rl(e,t):Zr(t)?new il(e,t):ci(t)?new al(e,t):li(t)?new ol(e,t):Yr(t)?new pl(e,t):oi(t)?new ml(e,t):ai(t)?new hl(e,t):ni(t)?new gl(e,t,bl):new J(e,t),bl=(e,t)=>{let n=yl(e,t);return n.createsRealStackingContext=!0,vl(e,t,n,n),n},xl=(e,t,n)=>t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||Qr(e)&&n.styles.isTransparent(),Sl=e=>e.isPositioned()||e.isFloating()?!0:U(e.display,268435456)||U(e.display,33554432)||U(e.display,536870912)||U(e.display,134217728),Cl=(e,t)=>e.length===t.length&&e.some((e,n)=>e===t[n]),wl=(e,t,n,r,i)=>e.map((e,a)=>{switch(a){case 0:return e.add(t,n);case 1:return e.add(t+r,n);case 2:return e.add(t+r,n+i);case 3:return e.add(t,n+i)}return e});var X=class e{constructor(e,t){this.type=0,this.x=e,this.y=t}add(t,n){return new e(this.x+t,this.y+n)}};let Tl=(e,t,n)=>new X(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n);var El=class e{constructor(e,t,n,r){this.type=1,this.start=e,this.startControl=t,this.endControl=n,this.end=r}subdivide(t,n){let r=Tl(this.start,this.startControl,t),i=Tl(this.startControl,this.endControl,t),a=Tl(this.endControl,this.end,t),o=Tl(r,i,t),s=Tl(i,a,t),c=Tl(o,s,t);return n?new e(this.start,r,o,c):new e(c,s,a,this.end)}add(t,n){return new e(this.start.add(t,n),this.startControl.add(t,n),this.endControl.add(t,n),this.end.add(t,n))}reverse(){return new e(this.end,this.endControl,this.startControl,this.start)}};let Z=e=>e.type===1;var Dl=class{constructor(e){let t=e.styles,n=e.bounds,[r,i]=Sn(t.borderTopLeftRadius,n.width,n.height),[a,o]=Sn(t.borderTopRightRadius,n.width,n.height),[s,c]=Sn(t.borderBottomRightRadius,n.width,n.height),[l,u]=Sn(t.borderBottomLeftRadius,n.width,n.height),d=[];d.push((r+a)/n.width),d.push((l+s)/n.width),d.push((i+u)/n.height),d.push((o+c)/n.height);let f=Math.max(...d);f>1&&(r/=f,i/=f,a/=f,o/=f,s/=f,c/=f,l/=f,u/=f);let p=n.width-a,m=n.height-c,h=n.width-s,g=n.height-u,_=t.borderTopWidth,v=t.borderRightWidth,y=t.borderBottomWidth,b=t.borderLeftWidth,x=R(t.paddingTop,e.bounds.width),S=R(t.paddingRight,e.bounds.width),ee=R(t.paddingBottom,e.bounds.width),C=R(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=r>0||i>0?Q(n.left+b/3,n.top+_/3,r-b/3,i-_/3,0):new X(n.left+b/3,n.top+_/3),this.topRightBorderDoubleOuterBox=r>0||i>0?Q(n.left+p,n.top+_/3,a-v/3,o-_/3,1):new X(n.left+n.width-v/3,n.top+_/3),this.bottomRightBorderDoubleOuterBox=s>0||c>0?Q(n.left+h,n.top+m,s-v/3,c-y/3,2):new X(n.left+n.width-v/3,n.top+n.height-y/3),this.bottomLeftBorderDoubleOuterBox=l>0||u>0?Q(n.left+b/3,n.top+g,l-b/3,u-y/3,3):new X(n.left+b/3,n.top+n.height-y/3),this.topLeftBorderDoubleInnerBox=r>0||i>0?Q(n.left+b*2/3,n.top+_*2/3,r-b*2/3,i-_*2/3,0):new X(n.left+b*2/3,n.top+_*2/3),this.topRightBorderDoubleInnerBox=r>0||i>0?Q(n.left+p,n.top+_*2/3,a-v*2/3,o-_*2/3,1):new X(n.left+n.width-v*2/3,n.top+_*2/3),this.bottomRightBorderDoubleInnerBox=s>0||c>0?Q(n.left+h,n.top+m,s-v*2/3,c-y*2/3,2):new X(n.left+n.width-v*2/3,n.top+n.height-y*2/3),this.bottomLeftBorderDoubleInnerBox=l>0||u>0?Q(n.left+b*2/3,n.top+g,l-b*2/3,u-y*2/3,3):new X(n.left+b*2/3,n.top+n.height-y*2/3),this.topLeftBorderStroke=r>0||i>0?Q(n.left+b/2,n.top+_/2,r-b/2,i-_/2,0):new X(n.left+b/2,n.top+_/2),this.topRightBorderStroke=r>0||i>0?Q(n.left+p,n.top+_/2,a-v/2,o-_/2,1):new X(n.left+n.width-v/2,n.top+_/2),this.bottomRightBorderStroke=s>0||c>0?Q(n.left+h,n.top+m,s-v/2,c-y/2,2):new X(n.left+n.width-v/2,n.top+n.height-y/2),this.bottomLeftBorderStroke=l>0||u>0?Q(n.left+b/2,n.top+g,l-b/2,u-y/2,3):new X(n.left+b/2,n.top+n.height-y/2),this.topLeftBorderBox=r>0||i>0?Q(n.left,n.top,r,i,0):new X(n.left,n.top),this.topRightBorderBox=a>0||o>0?Q(n.left+p,n.top,a,o,1):new X(n.left+n.width,n.top),this.bottomRightBorderBox=s>0||c>0?Q(n.left+h,n.top+m,s,c,2):new X(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=l>0||u>0?Q(n.left,n.top+g,l,u,3):new X(n.left,n.top+n.height),this.topLeftPaddingBox=r>0||i>0?Q(n.left+b,n.top+_,Math.max(0,r-b),Math.max(0,i-_),0):new X(n.left+b,n.top+_),this.topRightPaddingBox=a>0||o>0?Q(n.left+Math.min(p,n.width-v),n.top+_,p>n.width+v?0:Math.max(0,a-v),Math.max(0,o-_),1):new X(n.left+n.width-v,n.top+_),this.bottomRightPaddingBox=s>0||c>0?Q(n.left+Math.min(h,n.width-b),n.top+Math.min(m,n.height-y),Math.max(0,s-v),Math.max(0,c-y),2):new X(n.left+n.width-v,n.top+n.height-y),this.bottomLeftPaddingBox=l>0||u>0?Q(n.left+b,n.top+Math.min(g,n.height-y),Math.max(0,l-b),Math.max(0,u-y),3):new X(n.left+b,n.top+n.height-y),this.topLeftContentBox=r>0||i>0?Q(n.left+b+C,n.top+_+x,Math.max(0,r-(b+C)),Math.max(0,i-(_+x)),0):new X(n.left+b+C,n.top+_+x),this.topRightContentBox=a>0||o>0?Q(n.left+Math.min(p,n.width+b+C),n.top+_+x,p>n.width+b+C?0:a-b+C,o-(_+x),1):new X(n.left+n.width-(v+S),n.top+_+x),this.bottomRightContentBox=s>0||c>0?Q(n.left+Math.min(h,n.width-(b+C)),n.top+Math.min(m,n.height+_+x),Math.max(0,s-(v+S)),c-(y+ee),2):new X(n.left+n.width-(v+S),n.top+n.height-(y+ee)),this.bottomLeftContentBox=l>0||u>0?Q(n.left+b+C,n.top+g,Math.max(0,l-(b+C)),u-(y+ee),3):new X(n.left+b+C,n.top+n.height-(y+ee))}};let Q=(e,t,n,r,i)=>{let a=4*((Math.sqrt(2)-1)/3),o=n*a,s=r*a,c=e+n,l=t+r;switch(i){case 0:return new El(new X(e,l),new X(e,l-s),new X(c-o,t),new X(c,t));case 1:return new El(new X(e,t),new X(e+o,t),new X(c,l-s),new X(c,l));case 2:return new El(new X(c,t),new X(c,t+s),new X(e+o,l),new X(e,l));default:return new El(new X(c,l),new X(c-o,l),new X(e,t+s),new X(e,t))}},Ol=e=>[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox],kl=e=>[e.topLeftContentBox,e.topRightContentBox,e.bottomRightContentBox,e.bottomLeftContentBox],Al=e=>[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox];var jl=class{constructor(e,t,n){this.offsetX=e,this.offsetY=t,this.matrix=n,this.type=0,this.target=6}},Ml=class{constructor(e,t){this.path=e,this.target=t,this.type=1}},Nl=class{constructor(e){this.opacity=e,this.type=2,this.target=6}},Pl=class{constructor(e){this.applyClip=e,this.type=3,this.target=6}};let Fl={[K.NORMAL]:`source-over`,[K.MULTIPLY]:`multiply`,[K.SCREEN]:`screen`,[K.OVERLAY]:`overlay`,[K.DARKEN]:`darken`,[K.LIGHTEN]:`lighten`,[K.COLOR_DODGE]:`color-dodge`,[K.COLOR_BURN]:`color-burn`,[K.HARD_LIGHT]:`hard-light`,[K.SOFT_LIGHT]:`soft-light`,[K.DIFFERENCE]:`difference`,[K.EXCLUSION]:`exclusion`,[K.HUE]:`hue`,[K.SATURATION]:`saturation`,[K.COLOR]:`color`,[K.LUMINOSITY]:`luminosity`};var Il=class{constructor(e){this.mixBlendMode=e,this.type=4,this.target=6,this.compositeOperation=Fl[e]}},Ll=class e{constructor(t){this.type=5,this.target=6;let n=e.parseDropShadow(t);this.shadow=n.shadow,this.safeFilterString=n.safeFilterString}static parseDropShadow(t){if(!t)return{safeFilterString:``};let n=e.findDropShadows(t);if(n.length===0)return{safeFilterString:t};let r=e.parseDropShadowBody(n[0].body),i=``,a=0;for(let e of n)i+=t.slice(a,e.start),a=e.end;return i+=t.slice(a),{shadow:r,safeFilterString:i.replace(/\s+/g,` `).trim()}}static findDropShadows(e){let t=[],n=/drop-shadow\(/gi,r;for(;(r=n.exec(e))!==null;){let n=r.index+12-1,i=r.index,a=1,o=n+1;for(;o<e.length&&a>0;){let t=e[o];t===`(`?a++:t===`)`&&a--,o++}if(a!==0)break;let s=e.slice(n+1,o-1);t.push({body:s,start:i,end:o})}return t}static parseDropShadowBody(t){let n=e.tokenizeFilterArgs(t.trim()),r=[],i;for(let t of n)e.isCSSLength(t)?r.push(parseFloat(t)):t&&(i=t);if(!(r.length<2||r.length>3))return{offsetX:r[0],offsetY:r[1],blur:r[2]??0,color:i??`rgba(0,0,0,1)`}}static tokenizeFilterArgs(e){let t=[],n=``,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?(r++,n+=a):a===`)`?(r--,n+=a):/\s/.test(a)?r>0?n+=a:n&&=(t.push(n),``):n+=a}return n&&t.push(n),t}static isCSSLength(e){return/^-?[\d.]+(px|em|rem|pt|cm|mm|in|pc|ex|ch|vw|vh|vmin|vmax|%)?$/i.test(e)}};let Rl=e=>e.type===0,zl=e=>e.type===1,Bl=e=>e.type===2,Vl=e=>e.type===3,Hl=e=>e.type===4,Ul=e=>e.type===5;var Wl=class{constructor(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}},Gl=class{constructor(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Dl(this.container),this.container.styles.opacity<1&&this.effects.push(new Nl(this.container.styles.opacity)),this.container.styles.rotate!==null){let e=this.container.styles.transformOrigin,t=this.container.bounds.left+R(e[0],this.container.bounds.width),n=this.container.bounds.top+R(e[1],this.container.bounds.height),r=this.container.styles.rotate*Math.PI/180,i=Math.cos(r),a=Math.sin(r),o=[i,a,-a,i,0,0];this.effects.push(new jl(t,n,o))}if(this.container.styles.transform!==null){let e=this.container.styles.transformOrigin,t=this.container.bounds.left+R(e[0],this.container.bounds.width),n=this.container.bounds.top+R(e[1],this.container.bounds.height),r=this.container.styles.transform;this.effects.push(new jl(t,n,r))}if(Kl(this.container.styles)){let e=Ol(this.curves),t=Al(this.curves);Cl(e,t)?this.effects.push(new Ml(e,6)):(this.effects.push(new Ml(e,2)),this.effects.push(new Ml(t,4)))}if(this.container.styles.clipPath.type!==0){let e=Jl(this.container.styles.clipPath,this.container.bounds);e&&this.effects.push(e)}if(this.container.styles.mixBlendMode!==K.NORMAL&&this.effects.push(new Il(this.container.styles.mixBlendMode)),this.container.styles.filter!==null&&this.effects.push(new Ll(this.container.styles.filter)),this.container.styles.zoom!==1){let e=this.container.styles.transformOrigin,t=this.container.bounds.left+R(e[0],this.container.bounds.width),n=this.container.bounds.top+R(e[1],this.container.bounds.height),r=this.container.styles.zoom,i=[r,0,0,r,0,0];this.effects.push(new jl(t,n,i))}}getEffects(e){let t=[2,3].indexOf(this.container.styles.position)===-1,n=this.parent,r=this.effects.slice(0);for(;n;){let e=n.effects.filter(e=>!zl(e));if(t||n.container.styles.position!==0||!n.parent){if(t=[2,3].indexOf(n.container.styles.position)===-1,Kl(n.container.styles)){let e=Ol(n.curves),t=Al(n.curves);Cl(e,t)||r.unshift(new Ml(t,6))}r.unshift(...e)}else r.unshift(...e);n=n.parent}return r.filter(t=>U(t.target,e))}};let Kl=e=>e.overflowX!==0||e.overflowY!==0,ql=(e,t,n,r,i)=>e===`closest-side`?Math.min(t-n,r-t):e===`farthest-side`?Math.max(t-n,r-t):R(e,i),Jl=(e,t)=>{let{left:n,top:r,width:i,height:a}=t;switch(e.type){case 1:{let t=R(e.left,i),o=R(e.top,a),s=n+t,c=r+o,l=Math.max(0,i-t-R(e.right,i)),u=Math.max(0,a-o-R(e.bottom,a));return new Pl(e=>{e.beginPath(),e.rect(s,c,l,u),e.clip()})}case 2:{let t=n+R(e.cx,i),o=r+R(e.cy,a),s;return s=e.radius===`closest-side`?Math.min(t-n,o-r,n+i-t,r+a-o):e.radius===`farthest-side`?Math.max(t-n,o-r,n+i-t,r+a-o):R(e.radius,Math.sqrt(i*i+a*a)/Math.SQRT2),new Pl(e=>{e.beginPath(),e.arc(t,o,Math.max(0,s),0,Math.PI*2),e.clip()})}case 3:{let t=n+R(e.cx,i),o=r+R(e.cy,a),s=ql(e.rx,t,n,n+i,i),c=ql(e.ry,o,r,r+a,a);return new Pl(e=>{e.beginPath(),e.ellipse(t,o,Math.max(0,s),Math.max(0,c),0,0,Math.PI*2),e.clip()})}case 4:{let t=e.points.map(([e,t])=>[n+R(e,i),r+R(t,a)]);return new Pl(e=>{if(e.beginPath(),t.length>0){e.moveTo(t[0][0],t[0][1]);for(let n=1;n<t.length;n++)e.lineTo(t[n][0],t[n][1]);e.closePath()}e.clip()})}case 5:{let{d:t}=e,i=null;return new Pl(e=>{try{i||=new Path2D(t);let a=e.getTransform();e.translate(n,r),e.clip(i),e.setTransform(a)}catch{}})}case 0:return null;default:return null}},Yl=(e,t,n,r)=>{e.container.elements.forEach(i=>{let a=i.createsRealStackingContext,o=i.createsStackingContext,s=new Gl(i,e);U(i.styles.display,2048)&&r.push(s);let c=i.isListOwner?[]:r;if(a||o){let e=a||i.styles.isPositioned()?n:t,r=new Wl(s);if(i.styles.isPositioned()||i.styles.opacity<1||i.styles.isTransformed()){let t=i.styles.zIndex.order;if(t<0){let n=0;e.negativeZIndex.some((e,r)=>t>e.element.container.styles.zIndex.order?(n=r,!1):n>0),e.negativeZIndex.splice(n,0,r)}else if(t>0){let n=0;e.positiveZIndex.some((e,r)=>t>=e.element.container.styles.zIndex.order?(n=r+1,!1):n>0),e.positiveZIndex.splice(n,0,r)}else e.zeroOrAutoZIndexOrTransformedOrOpacity.push(r)}else i.styles.isFloating()?e.nonPositionedFloats.push(r):e.nonPositionedInlineLevel.push(r);Yl(s,r,a?r:n,c)}else i.styles.isInlineLevel()?t.inlineLevel.push(s):t.nonInlineLevel.push(s),Yl(s,t,n,c);i.isListOwner&&Xl(i,c)})},Xl=(e,t)=>{let n=e instanceof ol?e.start:1,r=e instanceof ol&&e.reversed;for(let e=0;e<t.length;e++){let i=t[e];i.container instanceof al&&typeof i.container.value==`number`&&i.container.value!==0&&(n=i.container.value),i.listValue=Di(n,i.container.styles.listStyleType,!0),n+=r?-1:1}},Zl=e=>{let t=new Gl(e,null),n=new Wl(t),r=[];return Yl(t,n,n,r),Xl(t.container,r),n},Ql=e=>{let t=e.bounds,n=e.styles;return t.add(n.borderLeftWidth,n.borderTopWidth,-(n.borderRightWidth+n.borderLeftWidth),-(n.borderTopWidth+n.borderBottomWidth))},$l=e=>{let t=e.styles,n=e.bounds,r=R(t.paddingLeft,n.width),i=R(t.paddingRight,n.width),a=R(t.paddingTop,n.width),o=R(t.paddingBottom,n.width);return n.add(r+t.borderLeftWidth,a+t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth+r+i),-(t.borderTopWidth+t.borderBottomWidth+a+o))},eu=(e,t)=>e===0?t.bounds:e===2?$l(t):Ql(t),tu=(e,t)=>e===0?t.bounds:e===2?$l(t):Ql(t),nu=(e,t,n)=>{let r=eu(ou(e.styles.backgroundOrigin,t),e),i=tu(ou(e.styles.backgroundClip,t),e),a=au(ou(e.styles.backgroundSize,t),n,r),[o,s]=a,c=Sn(ou(e.styles.backgroundPosition,t),r.width-o,r.height-s),l=su(ou(e.styles.backgroundRepeat,t),c,a,r,i),u=Math.round(r.left+c[0]),d=Math.round(r.top+c[1]);return o=Math.max(1,o),s=Math.max(1,s),[l,u,d,o,s]},ru=e=>A(e)&&e.value===`auto`,iu=e=>typeof e==`number`,au=(e,[t,n,r],i)=>{let[a,o]=e;if(!a)return[0,0];if(F(a)&&o&&F(o))return[R(a,i.width),R(o,i.height)];let s=iu(r);if(A(a)&&(a.value===`contain`||a.value===`cover`))return iu(r)?i.width/i.height<r==(a.value===`cover`)?[i.height*r,i.height]:[i.width,i.width/r]:[i.width,i.height];let c=iu(t),l=iu(n),u=c||l;if(ru(a)&&(!o||ru(o)))return c&&l?[t,n]:!s&&!u?[i.width,i.height]:u&&s?[c?t:n*r,l?n:t/r]:[c?t:i.width,l?n:i.height];if(s){let e=0,t=0;return F(a)?e=R(a,i.width):F(o)&&(t=R(o,i.height)),ru(a)?e=t*r:(!o||ru(o))&&(t=e/r),[e,t]}let d=null,f=null;if(F(a)?d=R(a,i.width):o&&F(o)&&(f=R(o,i.height)),d!==null&&(!o||ru(o))&&(f=c&&l?d/t*n:i.height),f!==null&&ru(a)&&(d=c&&l?f/n*t:i.width),d!==null&&f!==null)return[d,f];throw Error(`Unable to calculate background-size for element`)},ou=(e,t)=>{let n=e[t];return n===void 0?e[0]:n},su=(e,[t,n],[r,i],a,o)=>{switch(e){case 2:return[new X(Math.round(a.left),Math.round(a.top+n)),new X(Math.round(a.left+a.width),Math.round(a.top+n)),new X(Math.round(a.left+a.width),Math.round(i+a.top+n)),new X(Math.round(a.left),Math.round(i+a.top+n))];case 3:return[new X(Math.round(a.left+t),Math.round(a.top)),new X(Math.round(a.left+t+r),Math.round(a.top)),new X(Math.round(a.left+t+r),Math.round(a.height+a.top)),new X(Math.round(a.left+t),Math.round(a.height+a.top))];case 1:return[new X(Math.round(a.left+t),Math.round(a.top+n)),new X(Math.round(a.left+t+r),Math.round(a.top+n)),new X(Math.round(a.left+t+r),Math.round(a.top+n+i)),new X(Math.round(a.left+t),Math.round(a.top+n+i))];default:return[new X(Math.round(o.left),Math.round(o.top)),new X(Math.round(o.left+o.width),Math.round(o.top)),new X(Math.round(o.left+o.width),Math.round(o.height+o.top)),new X(Math.round(o.left),Math.round(o.height+o.top))]}},cu=`Hidden Text`;var lu=class{constructor(e){this._data={},this._document=e}parseMetrics(e,t){let n=this._document.createElement(`div`),r=this._document.createElement(`img`),i=this._document.createElement(`span`),a=this._document.body;n.style.visibility=`hidden`,n.style.fontFamily=e,n.style.fontSize=t,n.style.margin=`0`,n.style.padding=`0`,n.style.whiteSpace=`nowrap`,a.appendChild(n),r.src=`data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7`,r.width=1,r.height=1,r.style.margin=`0`,r.style.padding=`0`,r.style.verticalAlign=`baseline`,i.style.fontFamily=e,i.style.fontSize=t,i.style.margin=`0`,i.style.padding=`0`,i.appendChild(this._document.createTextNode(cu)),n.appendChild(i),n.appendChild(r);let o=r.offsetTop-i.offsetTop+2;n.removeChild(i),n.appendChild(this._document.createTextNode(cu)),n.style.lineHeight=`normal`,r.style.verticalAlign=`super`;let s=r.offsetTop-n.offsetTop+2;return a.removeChild(n),{baseline:o,middle:s}}getMetrics(e,t){let n=`${e} ${t}`;return this._data[n]===void 0&&(this._data[n]=this.parseMetrics(e,t)),this._data[n]}},uu=class{constructor(e){this.ctx=e}render(e,t){this.ctx.fillStyle=B(t.textDecorationColor||t.color);let n=1;typeof t.textDecorationThickness==`number`?n=t.textDecorationThickness:t.textDecorationThickness===`from-font`&&(n=Math.max(1,Math.floor(t.fontSize.number*.05)));let r=0;typeof t.textUnderlineOffset==`number`&&(r=t.textUnderlineOffset);let i=t.textDecorationStyle;t.textDecorationLine.forEach(t=>{let a=0;switch(t){case 1:a=e.top+e.height-n+r;break;case 2:a=e.top;break;case 3:a=e.top+(e.height/2-n/2);break;default:return}this.draw(e.left,a,e.width,n,i)})}draw(e,t,n,r,i){switch(i){case 0:this.ctx.fillRect(e,t,n,r);break;case 1:{let i=Math.max(1,r);this.ctx.fillRect(e,t,n,r),this.ctx.fillRect(e,t+r+i,n,r);break}case 2:this.drawPattern(e,t,n,r,[r,r*2]);break;case 3:this.drawPattern(e,t,n,r,[r*3,r*2]);break;case 4:this.drawWavy(e,t,n,r);break;default:this.ctx.fillRect(e,t,n,r)}}drawPattern(e,t,n,r,i){this.ctx.save(),this.ctx.beginPath(),this.ctx.setLineDash(i),this.ctx.lineWidth=r,this.ctx.strokeStyle=this.ctx.fillStyle,this.ctx.moveTo(e,t+r/2),this.ctx.lineTo(e+n,t+r/2),this.ctx.stroke(),this.ctx.restore()}drawWavy(e,t,n,r){this.ctx.save(),this.ctx.beginPath(),this.ctx.lineWidth=r,this.ctx.strokeStyle=this.ctx.fillStyle;let i=r*2,a=r*4,o=e;for(this.ctx.moveTo(o,t+r/2);o<e+n;){let s=Math.min(o+a/2,e+n);if(this.ctx.quadraticCurveTo(o+a/4,t+r/2-i,s,t+r/2),o=s,o<e+n){let s=Math.min(o+a/2,e+n);this.ctx.quadraticCurveTo(o+a/4,t+r/2+i,s,t+r/2),o=s}}this.ctx.stroke(),this.ctx.restore()}};let du=[`-apple-system`,`system-ui`],fu=/[\u2E80-\u2FFF\u3000-\u30FF\u3400-\u4DBF\u4E00-\u9FFF\uAC00-\uD7AF\uF900-\uFAFF\uFF01-\uFFEF]/,pu=e=>fu.test(e),mu=()=>{if(typeof navigator>`u`)return null;let e=navigator.userAgent,t=/iPhone|iPad|iPod/.test(e),n=/Macintosh/.test(e)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>1;if(!t&&!n)return null;for(let t of[/(?:iPhone|CPU(?:\siPhone)?)\sOS\s(\d+)[\._](\d+)/,/Version\/(\d+)\.(\d+)/]){let n=e.match(t);if(n&&n[1])return parseInt(n[1],10)}return null},hu=e=>{let t=mu();return t!==null&&t>=15&&t<17?e.map(e=>du.indexOf(e)===-1?e:`-apple-system, "Helvetica Neue", Arial, sans-serif`):e},gu=()=>(typeof window<`u`?window:void 0)?.chrome?`miter`:`round`;var _u=class{constructor(e){this.glyphWidthCache=null,this.ctx=e.ctx,this.fontMetrics=e.fontMetrics,this.options=e.options,this.decorationRenderer=new uu(e.ctx)}cachedMeasureText(e,t){let n=this.glyphWidthCache;n||(n=new Map,this.glyphWidthCache=n);let r=e+t,i=n.get(r);return i===void 0&&(i=this.ctx.measureText(e).width,n.set(r,i)),i}iterateLettersWithLetterSpacing(e,t,n,r,i){if(bo(r)){this.iterateVerticalGlyphs(e,t,n,r,i);return}let a=qc(e.text),o=e.bounds.top+n,s=this.ctx.font,c=e.bounds.left;for(let e of a){if(pu(e)){let t=this.ctx.textBaseline;this.ctx.textBaseline=`ideographic`,i(e,c,o),this.ctx.textBaseline=t}else i(e,c,o);c+=this.cachedMeasureText(e,s)+t}}iterateVerticalGlyphs(e,t,n,r,i){let a=qc(e.text),o=this.ctx.font,s=r===4?-Math.PI/2:Math.PI/2,c=e.bounds.top;for(let l=0;l<a.length;){let u=a[l];if(!(xo(r)||!pu(u)&&u.trim().length>0)){let r=this.ctx.textBaseline;pu(u)&&(this.ctx.textBaseline=`ideographic`),i(u,e.bounds.left,c+n),this.ctx.textBaseline=r,c+=this.cachedMeasureText(u,o)+t,l++;continue}let d=l;for(;l<a.length;){let e=a[l];if(!xo(r)&&!pu(e)&&e.trim().length===0)break;if(xo(r)||!pu(e)&&e.trim().length>0)l++;else break}this.ctx.save(),this.ctx.translate(e.bounds.left+n,c),this.ctx.rotate(s);let f=0;for(let e=d;e<l;e++)i(a[e],0,f),f+=this.cachedMeasureText(a[e],o)+t;this.ctx.restore(),c+=f}}renderTextWithLetterSpacing(e,t,n,r=0){this.renderFillText(e,t,n,r)}canRenderWholeText(e,t){return e===0&&!bo(t)}renderFillText(e,t,n,r){this.canRenderWholeText(t,r)?this.ctx.fillText(e.text,e.bounds.left,e.bounds.top+n):this.iterateLettersWithLetterSpacing(e,t,n,r,(e,t,n)=>{this.ctx.fillText(e,t,n)})}renderStrokeText(e,t,n,r){this.canRenderWholeText(t,r)?this.ctx.strokeText(e.text,e.bounds.left,e.bounds.top+n):this.iterateLettersWithLetterSpacing(e,t,n,r,(e,t,n)=>{this.ctx.strokeText(e,t,n)})}renderTextStrokeWithStyle(e,t,n){!t.webkitTextStrokeWidth||!e.text.trim().length||(this.ctx.strokeStyle=B(t.webkitTextStrokeColor),this.ctx.lineWidth=t.webkitTextStrokeWidth,this.ctx.lineJoin=gu(),this.renderStrokeText(e,t.letterSpacing,n,t.writingMode),this.ctx.strokeStyle=``,this.ctx.lineWidth=0,this.ctx.lineJoin=`miter`)}renderTextFillWithShadows(e,t,n){this.ctx.fillStyle=B(t.color),this.renderTextWithLetterSpacing(e,t.letterSpacing,n,t.writingMode);let r=t.textShadow;r.length&&e.text.trim().length&&(r.slice(0).reverse().forEach(r=>{this.ctx.shadowColor=B(r.color),this.ctx.shadowOffsetX=r.offsetX.number*this.options.scale,this.ctx.shadowOffsetY=r.offsetY.number*this.options.scale,this.ctx.shadowBlur=r.blur.number,this.renderTextWithLetterSpacing(e,t.letterSpacing,n,t.writingMode)}),this.ctx.shadowColor=``,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.ctx.shadowBlur=0)}renderTextBoundWithPaintOrder(e,t,n,r){n.forEach(n=>{switch(n){case 0:this.ctx.fillStyle=B(t.color),this.renderTextWithLetterSpacing(e,t.letterSpacing,r,t.writingMode);break;case 1:this.renderTextStrokeWithStyle(e,t,r);break}})}renderTextDecoration(e,t){this.decorationRenderer.render(e,t)}truncateTextWithEllipsis(e,t,n){let r=this.ctx.measureText(`…`).width,i=qc(e);if(n===0){let e=e=>this.ctx.measureText(i.slice(0,e).join(``)).width+r<=t,n=0,a=i.length;for(;n<a;){let t=n+a+1>>1;e(t)?n=t:a=t-1}return i.slice(0,n).join(``)+`…`}else{let e=this.ctx.font,a=r,o=[];for(let r of i){let i=this.cachedMeasureText(r,e);if(a+i>t)break;o.push(r),a+=i+n}return o.join(``)+`…`}}createFontStyle(e){let t=e.fontVariant.filter(e=>e===`normal`||e===`small-caps`).join(``),n=hu(e.fontFamily).join(`, `),r=O(e.fontSize)?`${e.fontSize.number}${e.fontSize.unit}`:`${e.fontSize.number}px`;return[[e.fontStyle,t,e.fontWeight,r,n].join(` `),n,r]}renderLineClampedText(e,t,n,r,i){let a=t.fontSize.number*1.5,o=[],s=[],c=e.textBounds[0].bounds.top;e.textBounds.forEach(e=>{Math.abs(e.bounds.top-c)>=a*.5?(s.length>0&&o.push(s),s=[e],c=e.bounds.top):s.push(e)}),s.length>0&&o.push(s);let l=t.webkitLineClamp;if(o.length<=l)return!1;for(let e=0;e<l-1;e++)o[e].forEach(e=>this.renderTextBoundWithPaintOrder(e,t,n,r));let u=o[l-1];if(u?.length&&i){let e=u.map(e=>e.text).join(``),a=u[0],o=i.width-(a.bounds.left-i.left),s=new Uc(this.truncateTextWithEllipsis(e,o,t.letterSpacing),a.bounds);for(let e of n)e===0?(this.ctx.fillStyle=B(t.color),this.renderTextWithLetterSpacing(s,t.letterSpacing,r,t.writingMode)):e===1&&this.renderTextStrokeWithStyle(s,t,r)}return!0}renderEllipsisText(e,t,n,r,i){let a=t.fontSize.number*1.5,o=e.textBounds[0].bounds.top;if(!e.textBounds.every(e=>Math.abs(e.bounds.top-o)<a*.5))return!1;let s=e.textBounds.map(e=>e.text).join(``).replace(/\s+/g,` `).trim();if(this.ctx.measureText(s).width<=i.width)return!1;let c=new Uc(this.truncateTextWithEllipsis(s,i.width,t.letterSpacing),e.textBounds[0].bounds);for(let e of n)e===0?this.renderTextFillWithShadows(c,t,r):e===1&&this.renderTextStrokeWithStyle(c,t,r);return!0}async renderTextNode(e,t,n){this.glyphWidthCache=null;let[r,i,a]=this.createFontStyle(t);this.ctx.font=r,this.ctx.direction=t.direction===1?`rtl`:`ltr`,this.ctx.textAlign=`left`,this.ctx.textBaseline=`alphabetic`;let o=t.paintOrder,{baseline:s}=this.fontMetrics.getMetrics(i,a);t.webkitLineClamp>0&&t.display&2&&t.overflowY===1&&e.textBounds.length>0&&this.renderLineClampedText(e,t,o,s,n)||t.textOverflow===1&&n&&t.overflowX===1&&e.textBounds.length>0&&this.renderEllipsisText(e,t,o,s,n)||e.textBounds.forEach(e=>{o.forEach(n=>{n===0?(this.renderTextFillWithShadows(e,t,s),t.textDecorationLine.length&&this.renderTextDecoration(e.bounds,t)):n===1&&this.renderTextStrokeWithStyle(e,t,s)})})}};let vu=(e,t)=>{t.forEach((t,n)=>{let r=Z(t)?t.start:t;n===0?e.moveTo(r.x,r.y):e.lineTo(r.x,r.y),Z(t)&&e.bezierCurveTo(t.startControl.x,t.startControl.y,t.endControl.x,t.endControl.y,t.end.x,t.end.y)})},yu=(e,t)=>{e.beginPath(),vu(e,t),e.closePath()};var bu=class{constructor(e){this.maxSize=e,this._map=new Map}get(e){if(!this._map.has(e))return;let t=this._map.get(e);return this._map.delete(e),this._map.set(e,t),t}set(e,t){if(this._map.has(e))this._map.delete(e);else if(this._map.size>=this.maxSize){let e=this._map.keys().next().value;e!==void 0&&this._map.delete(e)}this._map.set(e,t)}get size(){return this._map.size}clear(){this._map.clear()}},xu=class{constructor(e){this.patternCache=new bu(50),this.ctx=e.ctx,this.context=e.context,this.canvas=e.canvas}async renderBackgroundImage(e){let t=e.styles.backgroundImage.length-1,n=e.styles.backgroundBlendMode,r=0;for(let i of e.styles.backgroundImage.slice(0).reverse()){if(r>0){let e=n[r]??n[0]??`normal`;e!==`normal`&&(this.ctx.save(),this.ctx.globalCompositeOperation=e)}i.type===0?await this.renderBackgroundURLImage(e,i,t):Xi(i)?this.renderLinearGradient(e,i,t):Qi(i)?this.renderRepeatingLinearGradient(e,i,t):Zi(i)&&this.renderRadialGradient(e,i,t),r>0&&(n[r]??n[0]??`normal`)!==`normal`&&this.ctx.restore(),t--,r++}}async renderBackgroundURLImage(e,t,n){let r,i=t.url;try{r=await this.context.cache.match(i)}catch(e){this.context.logger.error(`Error loading background-image ${i}`),this.context.onError?.(e instanceof Error?e:Error(String(e)))}if(r){let t=isNaN(r.width)||r.width===0?1:r.width,a=isNaN(r.height)||r.height===0?1:r.height,[o,s,c,l,u]=nu(e,n,[t,a,t/a]),d=ou(e.styles.backgroundRepeat,n),f=d===1?`no-repeat`:d===2?`repeat-x`:d===3?`repeat-y`:`repeat`,p=`${i}|${Math.round(l)}x${Math.round(u)}|${e.styles.imageRendering}|${f}`,m=this.patternCache.get(p);if(!m){let t=this.resizeImage(r,l,u,e.styles.imageRendering);m=this.ctx.createPattern(t,f),this.patternCache.set(p,m)}this.renderRepeat(o,m,s,c)}}renderRepeatingLinearGradient(e,t,n){let[r,i,a,o,s]=nu(e,n,[null,null,null]),[c,l,u,d,f]=Ni(t.angle,o,s),p=ji(t.stops,c||1),m=p[p.length-1],h=p[0],g=m.stop-h.stop;if(g<=0){this.renderLinearGradient(e,t,n);return}let _=u-l,v=f-d,y=g/(Math.sqrt(_*_+v*v)||1),b=l,x=d,S=l+_*y,ee=d+v*y,C=this.canvas.ownerDocument??document,te=`rlg|${t.angle}|${Math.round(g)}|${JSON.stringify(t.stops)}`,ne=this.patternCache.get(te);if(!ne){let e=C.createElement(`canvas`),t=Math.max(1,Math.ceil(g));e.width=t,e.height=t;let n=e.getContext(`2d`);if(!n)return;let r=n.createLinearGradient(b-i,x-a,S-i,ee-a);p.forEach(e=>{r.addColorStop((e.stop-h.stop)/g,B(e.color))}),n.fillStyle=r,n.fillRect(0,0,t,t),t>0&&(ne=this.ctx.createPattern(e,`repeat`),this.patternCache.set(te,ne))}ne&&this.renderRepeat(r,ne,i,a)}renderLinearGradient(e,t,n){let[r,i,a,o,s]=nu(e,n,[null,null,null]),[c,l,u,d,f]=Ni(t.angle,o,s),p=`lg|${t.angle}|${Math.round(o)}x${Math.round(s)}|${JSON.stringify(t.stops)}`,m=this.patternCache.get(p);if(!m){let e=(this.canvas.ownerDocument??document).createElement(`canvas`);e.width=o,e.height=s;let n=e.getContext(`2d`);if(!n)return;let r=n.createLinearGradient(l,d,u,f);ji(t.stops,c||1).forEach(e=>r.addColorStop(e.stop,B(e.color))),n.fillStyle=r,n.fillRect(0,0,o,s),o>0&&s>0&&(m=this.ctx.createPattern(e,`repeat`),this.patternCache.set(p,m))}m&&this.renderRepeat(r,m,i,a)}renderRadialGradient(e,t,n){let[r,i,a,o,s]=nu(e,n,[null,null,null]),c=t.position.length===0?[xn]:t.position,l=R(c[0],o),u=R(c[c.length-1],s),[d,f]=Fi(t,l,u,o,s);if((d===0||f===0)&&(d=Math.max(d,.01),f=Math.max(f,.01)),d>0&&f>0){let e=`rg|${Math.round(l)}x${Math.round(u)}|${Math.round(d)}x${Math.round(f)}|${JSON.stringify(t.stops)}`,n=this.patternCache.get(e);if(!n){let r=this.canvas.ownerDocument??document,i=Math.ceil(Math.max(d,f)*2),a=r.createElement(`canvas`);a.width=i,a.height=i;let o=a.getContext(`2d`);if(o){let r=Math.max(d,f),i=o.createRadialGradient(r,r,0,r,r,r);ji(t.stops,r*2).forEach(e=>i.addColorStop(e.stop,B(e.color))),o.fillStyle=i,d!==f&&o.scale(1,f/d),o.fillRect(0,0,r*2,r*2),n=this.ctx.createPattern(a,`no-repeat`),this.patternCache.set(e,n)}}n&&(this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.translate(i+l-Math.max(d,f),a+u-Math.max(d,f)),this.ctx.fillStyle=n,this.ctx.fillRect(0,0,Math.max(d,f)*2,Math.max(d,f)*2),this.ctx.restore())}}renderRepeat(e,t,n,r){this.path(e),this.ctx.fillStyle=t,this.ctx.translate(n,r),this.ctx.fill(),this.ctx.translate(-n,-r)}resizeImage(e,t,n,r){let i=(this.canvas.ownerDocument??document).createElement(`canvas`);i.width=Math.max(1,t),i.height=Math.max(1,n);let a=i.getContext(`2d`);return a?(r===2||r===1?(this.context.logger.debug(`Disabling image smoothing for background image due to CSS image-rendering`),a.imageSmoothingEnabled=!1):r===3?(this.context.logger.debug(`Enabling image smoothing for background image due to CSS image-rendering: smooth`),a.imageSmoothingEnabled=!0):a.imageSmoothingEnabled=this.ctx.imageSmoothingEnabled,this.ctx.imageSmoothingQuality&&(a.imageSmoothingQuality=this.ctx.imageSmoothingQuality),a.drawImage(e,0,0,e.width,e.height,0,0,t,n),i):e}path(e){yu(this.ctx,e)}};let Su=(e,t)=>{switch(t){case 0:return $(e.topLeftBorderBox,e.topLeftPaddingBox,e.topRightBorderBox,e.topRightPaddingBox);case 1:return $(e.topRightBorderBox,e.topRightPaddingBox,e.bottomRightBorderBox,e.bottomRightPaddingBox);case 2:return $(e.bottomRightBorderBox,e.bottomRightPaddingBox,e.bottomLeftBorderBox,e.bottomLeftPaddingBox);default:return $(e.bottomLeftBorderBox,e.bottomLeftPaddingBox,e.topLeftBorderBox,e.topLeftPaddingBox)}},Cu=(e,t)=>{switch(t){case 0:return $(e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox,e.topRightBorderBox,e.topRightBorderDoubleOuterBox);case 1:return $(e.topRightBorderBox,e.topRightBorderDoubleOuterBox,e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox);case 2:return $(e.bottomRightBorderBox,e.bottomRightBorderDoubleOuterBox,e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox);default:return $(e.bottomLeftBorderBox,e.bottomLeftBorderDoubleOuterBox,e.topLeftBorderBox,e.topLeftBorderDoubleOuterBox)}},wu=(e,t)=>{switch(t){case 0:return $(e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox,e.topRightBorderDoubleInnerBox,e.topRightPaddingBox);case 1:return $(e.topRightBorderDoubleInnerBox,e.topRightPaddingBox,e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox);case 2:return $(e.bottomRightBorderDoubleInnerBox,e.bottomRightPaddingBox,e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox);default:return $(e.bottomLeftBorderDoubleInnerBox,e.bottomLeftPaddingBox,e.topLeftBorderDoubleInnerBox,e.topLeftPaddingBox)}},Tu=(e,t)=>{switch(t){case 0:return Eu(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return Eu(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return Eu(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return Eu(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}},Eu=(e,t)=>{let n=[];return Z(e)?n.push(e.subdivide(.5,!1)):n.push(e),Z(t)?n.push(t.subdivide(.5,!0)):n.push(t),n},$=(e,t,n,r)=>{let i=[];return Z(e)?i.push(e.subdivide(.5,!1)):i.push(e),Z(n)?i.push(n.subdivide(.5,!0)):i.push(n),Z(r)?i.push(r.subdivide(.5,!0).reverse()):i.push(r),Z(t)?i.push(t.subdivide(.5,!1).reverse()):i.push(t),i};var Du=class{constructor(e,t){this.ctx=e.ctx,this.pathCallbacks=t}async renderSolidBorder(e,t,n){this.pathCallbacks.path(Su(n,t)),this.ctx.fillStyle=B(e),this.ctx.fill()}async renderDoubleBorder(e,t,n,r){if(t<3){await this.renderSolidBorder(e,n,r);return}let i=Cu(r,n);this.pathCallbacks.path(i),this.ctx.fillStyle=B(e),this.ctx.fill();let a=wu(r,n);this.pathCallbacks.path(a),this.ctx.fill()}async renderDashedDottedBorder(e,t,n,r,i){this.ctx.save();let a=Tu(r,n),o=Su(r,n);i===2&&(this.pathCallbacks.path(o),this.ctx.clip());let s,c,l,u;Z(o[0])?(s=o[0].start.x,c=o[0].start.y):(s=o[0].x,c=o[0].y),Z(o[1])?(l=o[1].end.x,u=o[1].end.y):(l=o[1].x,u=o[1].y);let d;d=Math.abs(n===0||n===2?s-l:c-u),this.ctx.beginPath(),i===3?this.pathCallbacks.formatPath(a):this.pathCallbacks.formatPath(o.slice(0,2));let f=t<3?t*3:t*2,p=t<3?t*2:t;i===3&&(f=t,p=t);let m=!0;if(d<=f*2)m=!1;else if(d<=f*2+p){let e=d/(2*f+p);f*=e,p*=e}else{let e=Math.floor((d+p)/(f+p)),t=(d-e*f)/(e-1),n=(d-(e+1)*f)/e;p=n<=0||Math.abs(p-t)<Math.abs(p-n)?t:n}if(m&&(i===3?this.ctx.setLineDash([0,f+p]):this.ctx.setLineDash([f,p])),i===3?(this.ctx.lineCap=`round`,this.ctx.lineWidth=t):this.ctx.lineWidth=t*2+1.1,this.ctx.strokeStyle=B(e),this.ctx.stroke(),this.ctx.setLineDash([]),i===2){if(Z(o[0])){let e=o[3],t=o[0];this.ctx.beginPath(),this.pathCallbacks.formatPath([new X(e.end.x,e.end.y),new X(t.start.x,t.start.y)]),this.ctx.stroke()}if(Z(o[1])){let e=o[1],t=o[2];this.ctx.beginPath(),this.pathCallbacks.formatPath([new X(e.end.x,e.end.y),new X(t.start.x,t.start.y)]),this.ctx.stroke()}}this.ctx.restore()}},Ou=class{constructor(e){this.ctx=e}renderBorderImage(e,t,n,r,i,a,o,s){let c=t.naturalWidth||t.width,l=t.naturalHeight||t.height;if(c<=0||l<=0)return;let u=Math.min(n.unit===`percent`?n.top/100*l:Math.min(n.top,l),l),d=Math.min(n.unit===`percent`?n.right/100*c:Math.min(n.right,c),c),f=Math.min(n.unit===`percent`?n.bottom/100*l:Math.min(n.bottom,l),l),p=Math.min(n.unit===`percent`?n.left/100*c:Math.min(n.left,c),c),{left:m,top:h,width:g,height:_}=e;if(g<=0||_<=0)return;let v=Math.min(i,_),y=Math.min(a,g),b=Math.min(o,_-v),x=Math.min(s,g-y);this.drawRegion(t,0,0,p,u,m,h,x,v),this.drawRegion(t,c-d,0,d,u,m+g-y,h,y,v),this.drawRegion(t,c-d,l-f,d,f,m+g-y,h+_-b,y,b),this.drawRegion(t,0,l-f,p,f,m,h+_-b,x,b);let S=[{sx:p,sy:0,sw:c-p-d,sh:u,dx:m+x,dy:h,dw:g-x-y,dh:v,repeat:r.horizontal},{sx:c-d,sy:u,sw:d,sh:l-u-f,dx:m+g-y,dy:h+v,dw:y,dh:_-v-b,repeat:r.vertical},{sx:p,sy:l-f,sw:c-p-d,sh:f,dx:m+x,dy:h+_-b,dw:g-x-y,dh:b,repeat:r.horizontal},{sx:0,sy:u,sw:p,sh:l-u-f,dx:m,dy:h+v,dw:x,dh:_-v-b,repeat:r.vertical}];for(let e of S){if(e.sw<=0||e.sh<=0||e.dw<=0||e.dh<=0)continue;let n=e.dw>=e.dh;e.repeat===0?this.ctx.drawImage(t,e.sx,e.sy,e.sw,e.sh,e.dx,e.dy,e.dw,e.dh):(e.repeat===1||e.repeat===2)&&this.drawRepeatedEdge(t,e,n,e.repeat===2)}if(n.fill){let e=p,n=u,r=c-p-d,i=l-u-f,a=m+x,o=h+v,s=g-x-y,S=_-v-b;this.drawRegion(t,e,n,r,i,a,o,s,S)}}drawRegion(e,t,n,r,i,a,o,s,c){r>0&&i>0&&s>0&&c>0&&this.ctx.drawImage(e,t,n,r,i,a,o,s,c)}drawRepeatedEdge(e,t,n,r){let i=n?t.sw:t.sh,a=n?t.dw:t.dh;if(i<=0||a<=0)return;let o,s;r?(s=Math.max(1,Math.round(a/i)),o=a/s):(o=i,s=Math.ceil(a/o)),this.ctx.save(),this.ctx.beginPath(),this.ctx.rect(t.dx,t.dy,t.dw,t.dh),this.ctx.clip();for(let r=0;r<s;r++){let i=r*o,s=a-i,c=Math.min(o,s);if(c<=0)break;n?this.ctx.drawImage(e,t.sx,t.sy,t.sw,t.sh,t.dx+i,t.dy,c,t.dh):this.ctx.drawImage(e,t.sx,t.sy,t.sw,t.sh,t.dx,t.dy+i,t.dw,c)}this.ctx.restore()}},ku=class{constructor(e,t){this.activeEffects=[],this.didSave=!1,this.saveAtDepth=-1,this.ctx=e.ctx,this.pathCallback=t}applyEffects(e){for(;this.activeEffects.length;)this.popEffect();this.didSave=!1,this.saveAtDepth=-1;let t=e=>Rl(e)||zl(e)||Vl(e),n=e.reduceRight((e,n,r)=>e===-1?t(n)?r:-1:e,-1);for(let r=0;r<e.length;r++){let i=e[r];t(i)&&(this.didSave||=(this.ctx.save(),!0),r===n&&(this.saveAtDepth=this.activeEffects.length)),this.applyEffect(i)}}applyEffect(e){Rl(e)?(this.ctx.translate(e.offsetX,e.offsetY),this.ctx.transform(e.matrix[0],e.matrix[1],e.matrix[2],e.matrix[3],e.matrix[4],e.matrix[5]),this.ctx.translate(-e.offsetX,-e.offsetY)):zl(e)?(this.pathCallback.path(e.path),this.ctx.clip()):Vl(e)?e.applyClip(this.ctx):Bl(e)?this.ctx.globalAlpha*=e.opacity:Hl(e)?this.ctx.globalCompositeOperation=e.compositeOperation:Ul(e)&&(this.ctx.filter=e.safeFilterString||`none`,e.shadow&&(this.ctx.shadowOffsetX=e.shadow.offsetX,this.ctx.shadowOffsetY=e.shadow.offsetY,this.ctx.shadowBlur=e.shadow.blur,this.ctx.shadowColor=e.shadow.color)),this.activeEffects.push(e)}popEffect(){this.activeEffects.length!==0&&(this.didSave&&this.activeEffects.length-1===this.saveAtDepth&&(this.ctx.restore(),this.didSave=!1,this.saveAtDepth=-1),this.activeEffects.pop(),!this.didSave&&this.activeEffects.length===0&&(this.ctx.globalAlpha=1,this.ctx.globalCompositeOperation=`source-over`,this.ctx.filter=`none`,this.ctx.shadowOffsetX=0,this.ctx.shadowOffsetY=0,this.ctx.shadowBlur=0,this.ctx.shadowColor=`rgba(0, 0, 0, 0)`))}getActiveEffectCount(){return this.activeEffects.length}hasActiveEffects(){return this.activeEffects.length>0}};let Au=(e,t,n,r,i)=>{let a=0,o=0,s=e,c=t,l=n.left,u=n.top,d=n.width,f=n.height,p=d/f,m=s/c,h=i?R(i[0],1):.5,g=i?R(i[1],1):.5;return r===2?m>p?(f=d/m,u+=(n.height-f)*g):(d=f*m,l+=(n.width-d)*h):r===4?m>p?(s=c*p,a+=(e-s)*h):(c=s/p,o+=(t-c)*g):r===8?(s>d?(a+=(s-d)*h,s=d):(l+=(d-s)*h,d=s),c>f?(o+=(c-f)*g,c=f):(u+=(f-c)*g,f=c)):r===16&&((m>p?d:f*m)<(s>d?s:d)?m>p?(f=d/m,u+=(n.height-f)*g):(d=f*m,l+=(n.width-d)*h):(s>d?(a+=(s-d)*h,s=d):(l+=(d-s)*h,d=s),c>f?(o+=(c-f)*g,c=f):(u+=(f-c)*g,f=c))),{sx:a,sy:o,sw:s,sh:c,dx:l,dy:u,dw:d,dh:f}};async function ju(e,t,n,r,i,a,o,s){if(i instanceof nl)try{let n=await t.cache.match(i.src),r=e.imageSmoothingEnabled;o.imageRendering===2||o.imageRendering===1?e.imageSmoothingEnabled=!1:o.imageRendering===3&&(e.imageSmoothingEnabled=!0),s(i,a,n),e.imageSmoothingEnabled=r}catch(e){t.logger.error(`Error loading image ${i.src}`),t.onError?.(e instanceof Error?e:Error(String(e)))}if(i instanceof rl&&s(i,a,i.canvas),i instanceof il)try{s(i,a,await t.cache.match(i.svg))}catch(e){t.logger.error(`Error loading svg ${i.svg.substring(0,255)}`),t.onError?.(e instanceof Error?e:Error(String(e)))}if(i instanceof gl&&i.tree){let a=await r(t,{scale:n.scale,backgroundColor:i.backgroundColor,x:0,y:0,width:i.width,height:i.height}).render(i.tree);i.width&&i.height&&e.drawImage(a,0,0,i.width,i.height,i.bounds.left,i.bounds.top,i.bounds.width,i.bounds.height)}}function Mu(e,t,n,r,i,a){if(i instanceof pl){let t=Math.min(i.bounds.width,i.bounds.height);i.type===`checkbox`&&i.checked?(e.save(),r([new X(i.bounds.left+t*.39363,i.bounds.top+t*.79),new X(i.bounds.left+t*.16,i.bounds.top+t*.5549),new X(i.bounds.left+t*.27347,i.bounds.top+t*.44071),new X(i.bounds.left+t*.39694,i.bounds.top+t*.5649),new X(i.bounds.left+t*.72983,i.bounds.top+t*.23),new X(i.bounds.left+t*.84,i.bounds.top+t*.34085),new X(i.bounds.left+t*.39363,i.bounds.top+t*.79)]),e.fillStyle=B(fl),e.fill(),e.restore()):i.type===`radio`&&i.checked&&(e.save(),e.beginPath(),e.arc(i.bounds.left+t/2,i.bounds.top+t/2,t/4,0,Math.PI*2,!0),e.fillStyle=B(fl),e.fill(),e.restore())}if(Pu(i)&&i.value.length){let[o,s,c]=n.createFontStyle(a),{baseline:l}=t.getMetrics(s,c);e.font=o,e.fillStyle=i instanceof pl&&i.isPlaceholder?B(1970632191):B(a.color),e.textBaseline=`alphabetic`,e.textAlign=Fu(i.styles.textAlign);let u=$l(i),d=0;switch(i.styles.textAlign){case 1:d+=u.width/2;break;case 2:d+=u.width;break}let f=0;if(i instanceof pl){let e=R(a.fontSize,0);f=(u.height-e)/2}let p=u.add(d,f,0,0);e.save(),r([new X(u.left,u.top),new X(u.left+u.width,u.top),new X(u.left+u.width,u.top+u.height),new X(u.left,u.top+u.height)]),e.clip(),n.renderTextWithLetterSpacing(new Uc(i.value,p),a.letterSpacing,l,a.writingMode),e.restore(),e.textBaseline=`alphabetic`,e.textAlign=`left`}}async function Nu(e,t,n,r,i,o){if(U(i.styles.display,2048)){if(i.styles.listStyleImage!==null){let n=i.styles.listStyleImage;if(n.type===0){let r=n.url;try{let n=await t.cache.match(r);e.drawImage(n,i.bounds.left-(n.width+10),i.bounds.top)}catch(e){t.logger.error(`Error loading list-style-image ${r}`),t.onError?.(e instanceof Error?e:Error(String(e)))}}}else if(r.listValue&&i.styles.listStyleType!==-1){let[t]=n.createFontStyle(o);e.font=t,e.fillStyle=B(o.color),e.textBaseline=`middle`,e.textAlign=`right`;let s=new a(i.bounds.left,i.bounds.top+R(i.styles.paddingTop,i.bounds.width),i.bounds.width,Ka(o.lineHeight,o.fontSize.number)/2+1);n.renderTextWithLetterSpacing(new Uc(r.listValue,s),o.letterSpacing,Ka(o.lineHeight,o.fontSize.number)/2+2,o.writingMode),e.textBaseline=`bottom`,e.textAlign=`left`}}}let Pu=e=>e instanceof hl||e instanceof ml||e instanceof pl&&e.type!==`radio`&&e.type!==`checkbox`,Fu=e=>{switch(e){case 1:return`center`;case 2:return`right`;default:return`left`}};var Iu=class e{constructor(e,t){this.context=e,this.options=t,this.canvas=t.canvas?t.canvas:document.createElement(`canvas`);let n=this.canvas.getContext(`2d`);if(!n)throw Error(`Failed to get 2D rendering context from canvas`);this.ctx=n,t.canvas||(this.canvas.width=Math.floor(t.width*t.scale),this.canvas.height=Math.floor(t.height*t.scale),this.canvas.style.width=`${t.width}px`,this.canvas.style.height=`${t.height}px`),this.fontMetrics=new lu(document),this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-t.x,-t.y),this.ctx.textBaseline=`bottom`,t.imageSmoothing!==void 0&&(this.ctx.imageSmoothingEnabled=t.imageSmoothing),t.imageSmoothingQuality&&(this.ctx.imageSmoothingQuality=t.imageSmoothingQuality),this.backgroundRenderer=new xu({ctx:this.ctx,context:this.context,canvas:this.canvas,options:{width:t.width,height:t.height,scale:t.scale}}),this.borderRenderer=new Du({ctx:this.ctx},{path:e=>this.path(e),formatPath:e=>this.formatPath(e)}),this.borderImageRenderer=new Ou(this.ctx),this.effectsRenderer=new ku({ctx:this.ctx},{path:e=>this.path(e)}),this.textRenderer=new _u({ctx:this.ctx,fontMetrics:this.fontMetrics,options:{scale:t.scale}}),this.context.logger.debug(`Canvas renderer initialized (${t.width}x${t.height}) with scale ${t.scale}`)}async renderStack(e){e.element.container.styles.isVisible()&&await this.renderStackContent(e)}async renderNode(e){if(e.container.debugRender)debugger;e.container.styles.isVisible()&&(await this.renderNodeBackgroundAndBorders(e),await this.renderNodeContent(e))}renderReplacedElement(e,t,n){let r=n.naturalWidth||e.intrinsicWidth,i=n.naturalHeight||e.intrinsicHeight;if(n&&r>0&&i>0){let a=$l(e),o=Al(t);this.path(o),this.ctx.save(),this.ctx.clip();let{sx:s,sy:c,sw:l,sh:u,dx:d,dy:f,dw:p,dh:m}=Au(r,i,a,e.styles.objectFit,e.styles.objectPosition);this.ctx.drawImage(n,s,c,l,u,d,f,p,m),this.ctx.restore()}}async renderNodeContent(t){this.effectsRenderer.applyEffects(t.getEffects(4));let n=t.container,r=t.curves,i=n.styles,a=$l(n);for(let e of n.textNodes)await this.textRenderer.renderTextNode(e,i,a);await ju(this.ctx,this.context,{scale:this.options.scale,backgroundColor:this.options.backgroundColor,x:this.options.x,y:this.options.y,width:this.options.width,height:this.options.height},(t,n)=>new e(t,n),n,r,i,(e,t,n)=>this.renderReplacedElement(e,t,n)),Mu(this.ctx,this.fontMetrics,this.textRenderer,this.path.bind(this),n,i),await Nu(this.ctx,this.context,this.textRenderer,t,n,i)}async renderStackContent(e){if(e.element.container.debugRender)debugger;let t=this.options.signal;await this.renderNodeBackgroundAndBorders(e.element);for(let n of e.negativeZIndex){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderNodeContent(e.element);for(let t of e.nonInlineLevel)await this.renderNode(t);for(let n of e.nonPositionedFloats){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}for(let n of e.nonPositionedInlineLevel){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}for(let t of e.inlineLevel)await this.renderNode(t);for(let n of e.zeroOrAutoZIndexOrTransformedOrOpacity){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}for(let n of e.positiveZIndex){if(t?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);await this.renderStack(n)}}mask(e){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.options.width,0),this.ctx.lineTo(this.options.width,this.options.height),this.ctx.lineTo(0,this.options.height),this.ctx.lineTo(0,0),this.formatPath(e.slice(0).reverse()),this.ctx.closePath()}path(e){yu(this.ctx,e)}formatPath(e){vu(this.ctx,e)}async renderNodeBackgroundAndBorders(e){this.effectsRenderer.applyEffects(e.getEffects(2));let t=e.container.styles,n=!On(t.backgroundColor)||t.backgroundImage.length,r=[{style:t.borderTopStyle,color:t.borderTopColor,width:t.borderTopWidth},{style:t.borderRightStyle,color:t.borderRightColor,width:t.borderRightWidth},{style:t.borderBottomStyle,color:t.borderBottomColor,width:t.borderBottomWidth},{style:t.borderLeftStyle,color:t.borderLeftColor,width:t.borderLeftWidth}],i=Lu(ou(t.backgroundClip,0),e.curves);if((n||t.boxShadow.length)&&(this.ctx.save(),this.path(i),this.ctx.clip(),On(t.backgroundColor)||(this.ctx.fillStyle=B(t.backgroundColor),this.ctx.fill()),await this.backgroundRenderer.renderBackgroundImage(e.container),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach(t=>{this.ctx.save();let n=Ol(e.curves),r=t.inset?0:1e4,i=wl(n,-r+(t.inset?1:-1)*t.spread.number,(t.inset?1:-1)*t.spread.number,t.spread.number*(t.inset?-2:2),t.spread.number*(t.inset?-2:2));t.inset?(this.path(n),this.ctx.clip(),this.mask(i)):(this.mask(n),this.ctx.clip(),this.path(i)),this.ctx.shadowOffsetX=t.offsetX.number+r,this.ctx.shadowOffsetY=t.offsetY.number,this.ctx.shadowColor=B(t.color),this.ctx.shadowBlur=t.blur.number,this.ctx.fillStyle=t.inset?B(t.color):`rgba(0,0,0,1)`,this.ctx.fill(),this.ctx.restore()})),t.borderImageSource){let n=t.borderImageSource;if(n.type===0){let r=n.url;try{let n=await this.context.cache.match(r);if(n){let r=e.container.bounds;this.borderImageRenderer.renderBorderImage(r,n,t.borderImageSlice,t.borderImageRepeat,Math.max(0,t.borderTopWidth),Math.max(0,t.borderRightWidth),Math.max(0,t.borderBottomWidth),Math.max(0,t.borderLeftWidth))}}catch{this.context.logger.error(`Error loading border-image ${r}`)}}return}let a=0;for(let t of r)t.style!==0&&!On(t.color)&&t.width>0&&(t.style===2?await this.borderRenderer.renderDashedDottedBorder(t.color,t.width,a,e.curves,2):t.style===3?await this.borderRenderer.renderDashedDottedBorder(t.color,t.width,a,e.curves,3):t.style===4?await this.borderRenderer.renderDoubleBorder(t.color,t.width,a,e.curves):await this.borderRenderer.renderSolidBorder(t.color,a,e.curves)),a++}async render(e){this.options.backgroundColor&&(this.ctx.fillStyle=B(this.options.backgroundColor),this.ctx.fillRect(this.options.x,this.options.y,this.options.width,this.options.height));let t=Zl(e);return await this.renderStack(t),this.effectsRenderer.applyEffects([]),this.canvas}};let Lu=(e,t)=>{switch(e){case 0:return Ol(t);case 2:return kl(t);default:return Al(t)}};var Ru=class{constructor(e,t){this.context=e,this.options=t,this.canvas=t.canvas?t.canvas:document.createElement(`canvas`);let n=this.canvas.getContext(`2d`);if(!n)throw Error(`Failed to get 2D rendering context from canvas`);this.ctx=n,this.canvas.width=Math.floor(t.width*t.scale),this.canvas.height=Math.floor(t.height*t.scale),this.canvas.style.width=`${t.width}px`,this.canvas.style.height=`${t.height}px`,this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-t.x,-t.y),this.context.logger.debug(`EXPERIMENTAL ForeignObject renderer initialized (${t.width}x${t.height} at ${t.x},${t.y}) with scale ${t.scale}`)}async render(e){if(this.options.signal?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`);let t=await Hc(Vc(this.options.width*this.options.scale,this.options.height*this.options.scale,this.options.scale,this.options.scale,e));return this.options.backgroundColor&&(this.ctx.fillStyle=B(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(t,-this.options.x*this.options.scale,-this.options.y*this.options.scale),this.canvas}},zu=class{static{this.instances={}}constructor({id:e,enabled:t}){this.id=e,this.enabled=t,this.start=Date.now()}debug(...e){this.enabled&&(typeof window<`u`&&window.console&&typeof console.debug==`function`?console.debug(this.id,`${this.getTime()}ms`,...e):this.info(...e))}getTime(){return Date.now()-this.start}info(...e){this.enabled&&typeof window<`u`&&window.console&&typeof console.info==`function`&&console.info(this.id,`${this.getTime()}ms`,...e)}warn(...e){this.enabled&&(typeof window<`u`&&window.console&&typeof console.warn==`function`?console.warn(this.id,`${this.getTime()}ms`,...e):this.info(...e))}error(...e){this.enabled&&(typeof window<`u`&&window.console&&typeof console.error==`function`?console.error(this.id,`${this.getTime()}ms`,...e):this.info(...e))}},Bu=class{constructor(e,t){if(this.context=e,this._options=t,this._cache=new Map,this._pendingOperations=new Map,this._deferMode=!1,this._collectedUrls=new Set,this.maxSize=t.maxCacheSize??100,this.maxSize<1)throw Error(`Cache maxSize must be at least 1`);this.maxSize>1e4&&this.context.logger.warn(`Cache maxSize ${this.maxSize} is very large and may cause memory issues. Consider using a smaller value (recommended: 100-1000).`)}startDefer(){this._deferMode=!0}async preloadAll(e=10){this._deferMode=!1;let t=Array.from(this._collectedUrls);if(this._collectedUrls.clear(),t.length===0)return;let n=Math.max(1,Math.min(e,100));this.context.logger.debug(`Preloading ${t.length} image(s) with concurrency ${n}`);for(let e=0;e<t.length;e+=n){let r=t.slice(e,e+n).map(e=>this._addImageWithPending(e));await Promise.allSettled(r)}}addImage(e){if(this._deferMode)return!this.has(e)&&(qu(e)||Wu(e))&&this._collectedUrls.add(e),Promise.resolve();let t=this._pendingOperations.get(e);if(t)return t;if(this.has(e)){let t=this._cache.get(e);return this._cache.delete(e),this._cache.set(e,t),Promise.resolve()}return qu(e)||Wu(e)?this._addImageWithPending(e):Promise.resolve()}_addImageWithPending(e){let t=this._pendingOperations.get(e);if(t)return t;let n=this._addImageInternal(e);return this._pendingOperations.set(e,n),n.finally(()=>{this._pendingOperations.delete(e)}),n}async _addImageInternal(e){let t=this._options.imageTimeout??15e3,n=this.withTimeout(this.loadImage(e),t,`Timed out (${t}ms) loading image`);n.catch(t=>{this.context.logger.error(`Failed to load image ${e}: ${t instanceof Error?t.message:`Unknown error`}`)}),this.set(e,n)}withTimeout(e,t,n){if(t<=0)return e;let r,i=new Promise((e,i)=>{r=setTimeout(()=>i(Error(n)),t)});return Promise.race([e,i]).finally(()=>{r!==void 0&&clearTimeout(r)})}match(e){let t=this._cache.get(e);if(t)return this._cache.delete(e),this._cache.set(e,t),t.value}set(e,t){if(this._cache.has(e))this._cache.delete(e);else if(this._cache.size>=this.maxSize){let e=this._cache.keys().next().value;e!==void 0&&(this._cache.delete(e),this.context.logger.debug(`Cache: Evicted LRU entry: ${e}`))}this._cache.set(e,{value:t})}size(){return this._cache.size}getMaxSize(){return this.maxSize}clear(){this._cache.clear()}async loadImage(e){let t=this.context.originChecker,n=e=>t.isSameOrigin(e),r=typeof this._options.customIsSameOrigin==`function`?await this._options.customIsSameOrigin(e,n):n(e),i=!Gu(e)&&this._options.useCORS===!0&&Y.SUPPORT_CORS_IMAGES&&!r,a=!Gu(e)&&!r&&!qu(e)&&typeof this._options.proxy==`string`&&Y.SUPPORT_CORS_XHR&&!i;if(!r&&this._options.allowTaint===!1&&!Gu(e)&&!qu(e)&&!a&&!i)return;let o=e;return a&&(o=await this.proxy(o)),this.context.logger.debug(`Added image ${e.substring(0,256)}`),await new Promise((e,t)=>{let n=new Image;n.onload=()=>e(n),n.onerror=t,(Ku(o)||i)&&(n.crossOrigin=`anonymous`),n.src=o,n.complete===!0&&setTimeout(()=>e(n),500)})}has(e){return this._cache.has(e)}keys(){return Promise.resolve(Array.from(this._cache.keys()))}proxy(e){let t=this._options.proxy;if(!t)throw Error(`No proxy defined`);let n=e.substring(0,256);return new Promise((r,i)=>{let a=Y.SUPPORT_RESPONSE_TYPE?`blob`:`text`,o=new XMLHttpRequest;o.onload=()=>{if(o.status===200)if(a===`text`)r(o.response);else{let e=new FileReader;e.addEventListener(`load`,()=>r(e.result),!1),e.addEventListener(`error`,e=>i(e),!1),e.readAsDataURL(o.response)}else i(`Failed to proxy resource ${n} with status code ${o.status}`)},o.onerror=i;let s=t.indexOf(`?`)>-1?`&`:`?`;if(o.open(`GET`,`${t}${s}url=${encodeURIComponent(e)}&responseType=${a}`),a!==`text`&&o instanceof XMLHttpRequest&&(o.responseType=a),this._options.imageTimeout){let e=this._options.imageTimeout;o.timeout=e,o.ontimeout=()=>i(`Timed out (${e}ms) proxying ${n}`)}o.send()})}};let Vu=/^data:image\/svg\+xml/i,Hu=/^data:image\/.*;base64,/i,Uu=/^data:image\/.*/i,Wu=e=>Y.SUPPORT_SVG_DRAWING||!Ju(e),Gu=e=>Uu.test(e),Ku=e=>Hu.test(e),qu=e=>e.substring(0,4)===`blob`,Ju=e=>e.slice(-3).toLowerCase()===`svg`||Vu.test(e);var Yu=class{constructor(e){if(!e||!e.document)throw Error(`Valid window object required for OriginChecker`);if(!e.location||!e.location.href)throw Error(`Window object must have valid location`);this.link=e.document.createElement(`a`),this.origin=this.getOrigin(e.location.href)}getOrigin(e){return this.link.href=e,this.link.href=this.link.href,this.link.protocol+this.link.hostname+this.link.port}isSameOrigin(e){return this.getOrigin(e)===this.origin}getContextOrigin(){return this.origin}},Xu=class e{static{this.instanceCount=1}constructor(t,n,r){this.windowBounds=n,this.instanceName=`#${e.instanceCount++}`,this.config=r,this.logger=new zu({id:this.instanceName,enabled:t.logging}),this.originChecker=new Yu(r.window),this.cache=t.cache??r.cache??new Bu(this,t),this.onError=t.onError}};let Zu=e=>{if(e?.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`)},Qu=e=>{[`scale`,`width`,`height`,`imageTimeout`,`x`,`y`,`windowWidth`,`windowHeight`,`scrollX`,`scrollY`].forEach(t=>{let n=e[t];if(n!=null&&typeof n!=`number`){let r=Number(n);Number.isNaN(r)||(e[t]=r)}})},$u=e=>({allowTaint:e.allowTaint??!1,imageTimeout:e.imageTimeout??15e3,proxy:e.proxy,useCORS:e.useCORS??!1,customIsSameOrigin:e.customIsSameOrigin,maxCacheSize:e.maxCacheSize}),ed=(e,t,n)=>({logging:e.logging??!0,cache:e.cache??t.cache,...n}),td=(e,t)=>{let n=t;return{windowWidth:e.windowWidth??n.innerWidth??800,windowHeight:e.windowHeight??n.innerHeight??600,scrollX:e.scrollX??n.pageXOffset??0,scrollY:e.scrollY??n.pageYOffset??0}},nd=(e,t,n)=>({allowTaint:e.allowTaint??!1,onclone:e.onclone,ignoreElements:e.ignoreElements,iframeContainer:e.iframeContainer,inlineImages:n,copyStyles:n,cspNonce:e.cspNonce??t.cspNonce}),rd=(e,t,n,r,i,a,o)=>({canvas:e.canvas,backgroundColor:t,signal:e.signal,scale:e.scale??o??1,x:(e.x??0)+n,y:(e.y??0)+r,width:e.width??Math.ceil(i),height:e.height??Math.ceil(a),imageSmoothing:e.imageSmoothing,imageSmoothingQuality:e.imageSmoothingQuality}),id=(e,t,n)=>{let r=t.ownerDocument,i=r.documentElement?Wr(e,getComputedStyle(r.documentElement).backgroundColor):H.TRANSPARENT,a=r.body?Wr(e,getComputedStyle(r.body).backgroundColor):H.TRANSPARENT,o=typeof n==`string`?Wr(e,n):n===null?H.TRANSPARENT:4294967295;return t===r.documentElement?On(i)?On(a)?o:a:i:o},ad=async(e,t,n)=>{if(Qu(t),!t.skipValidation){let n=t.validator||r(),i=n.validateElement(e);if(!i.valid)throw Error(i.error);let a=n.validateOptions(t);if(!a.valid)throw Error(`Invalid options: ${a.error}`)}if(!e||typeof e!=`object`)throw Error(`Invalid element provided as first argument`);let c=e.ownerDocument;if(!c)throw Error(`Element is not attached to a Document`);let l=c.defaultView;if(!l)throw Error(`Document is not attached to a Window`);let u=ed(t,n,$u(t)),d=td(t,l),f=new a(d.scrollX,d.scrollY,d.windowWidth,d.windowHeight),p=new Xu(u,f,n),m=t.enablePerformanceMonitoring??t.logging??!1,h=new i(p,m);h.start(`total`,{width:d.windowWidth,height:d.windowHeight});let g=t.signal;Zu(g);let _=t.foreignObjectRendering??!1,v=nd(t,n,_);p.logger.debug(`Starting document clone with size ${f.width}x${f.height} scrolled to ${-f.left},${-f.top}`),h.start(`clone`);let y=new Ts(p,e,v),b=y.clonedReferenceElement;if(!b)throw Error(`Unable to find element in cloned iframe`);let x=await y.toIFrame(c,f);h.end(`clone`),g?.aborted&&((t.removeContainer??!0)&&Ts.destroy(x),Zu(g));let{width:S,height:ee,left:C,top:te}=Qr(b)||Xr(b)?s(b.ownerDocument):o(p,b),ne=id(p,b,t.backgroundColor),re=rd(t,ne,C,te,S,ee,l.devicePixelRatio??1),ie,ae;try{return _?(p.logger.debug(`Document cloned, using foreign object rendering`),h.start(`render-foreignobject`),ie=await new Ru(p,re).render(b),h.end(`render-foreignobject`)):(p.logger.debug(`Document cloned, element located at ${C},${te} with size ${S}x${ee} using computed rendering`),p.logger.debug(`Starting DOM parsing`),h.start(`parse`),Zu(g),p.cache.startDefer(),ae=bl(p,b),h.end(`parse`),h.start(`preload`),await p.cache.preloadAll(),h.end(`preload`),ne===ae.styles.backgroundColor&&(ae.styles.backgroundColor=H.TRANSPARENT),p.logger.debug(`Starting renderer for element at ${re.x},${re.y} with size ${re.width}x${re.height}`),h.start(`render`),Zu(g),ie=await new Iu(p,re).render(ae),h.end(`render`)),h.start(`cleanup`),(t.removeContainer??!0)&&(Ts.destroy(x)||p.logger.error(`Cannot detach cloned iframe as it is not in the DOM anymore`)),h.end(`cleanup`),h.end(`total`),p.logger.debug(`Finished rendering`),m&&h.logSummary(),ie}finally{ae&&ae.restoreTree()}},od=(e,n={},r)=>ad(e,n,r||t.fromElement(e,{cspNonce:n.cspNonce,cache:n.cache}));e.Html2CanvasConfig=t,e.PerformanceMonitor=i,e.Validator=n,e.createDefaultValidator=r,e.default=od,e.html2canvas=od}),typeof window<`u`&&window.html2canvas&&window.html2canvas.default&&(window.html2canvas=window.html2canvas.default);
|
|
@@ -63,7 +63,7 @@ class CanvasRenderer {
|
|
|
63
63
|
this.effectsRenderer = new effects_renderer_1.EffectsRenderer({ ctx: this.ctx }, { path: (paths) => this.path(paths) });
|
|
64
64
|
this.textRenderer = new text_renderer_1.TextRenderer({
|
|
65
65
|
ctx: this.ctx,
|
|
66
|
-
|
|
66
|
+
fontMetrics: this.fontMetrics,
|
|
67
67
|
options: { scale: options.scale }
|
|
68
68
|
});
|
|
69
69
|
this.context.logger.debug(`Canvas renderer initialized (${options.width}x${options.height}) with scale ${options.scale}`);
|