| 1 |
- !function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";const e="single-file-load-image",t="single-file-image-loaded",s=globalThis.browser,o=(e,t,s)=>globalThis.addEventListener(e,t,s),n=e=>{try{globalThis.dispatchEvent(e)}catch(e){}},i=globalThis.CustomEvent,a=globalThis.document,r=globalThis.Document;let l;if(l=window._singleFile_fontFaces?window._singleFile_fontFaces:window._singleFile_fontFaces=new Map,a instanceof r&&s&&s.runtime&&s.runtime.getURL){o("single-file-new-font-face",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,l.set(JSON.stringify(s),t)})),o("single-file-delete-font",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,l.delete(JSON.stringify(s))})),o("single-file-clear-fonts",(()=>l=new Map));let e=a.createElement("script");e.src="data:,("+function(){"undefined"==typeof globalThis&&(window.globalThis=window);const e=globalThis.document,t=globalThis.console,s=e=>globalThis.dispatchEvent(e),o=globalThis.CustomEvent,n=globalThis.FileReader,i=globalThis.Blob,a=t&&t.warn&&((...e)=>t.warn(...e))||(()=>{}),r="single-file-new-font-face",l="single-file-delete-font",d="single-file-clear-fonts",c={family:"font-family",style:"font-style",weight:"font-weight",stretch:"font-stretch",unicodeRange:"unicode-range",variant:"font-variant",featureSettings:"font-feature-settings"};if(globalThis.FontFace){const t=globalThis.FontFace;let n;globalThis.FontFace=function(){return n||(a("SingleFile is hooking the FontFace constructor, document.fonts.delete and document.fonts.clear to handle dynamically loaded fonts."),n=!0),m(...arguments).then((e=>s(new o(r,{detail:e})))),new t(...arguments)},globalThis.FontFace.toString=function(){return"function FontFace() { [native code] }"};const i=e.fonts.delete;e.fonts.delete=function(t){return m(t.family).then((e=>s(new o(l,{detail:e})))),i.call(e.fonts,t)},e.fonts.delete.toString=function(){return"function delete() { [native code] }"};const c=e.fonts.clear;e.fonts.clear=function(){return s(new o(d)),c.call(e.fonts)},e.fonts.clear.toString=function(){return"function clear() { [native code] }"}}async function m(e,t,s){const o={};return o["font-family"]=e,o.src=t,s&&Object.keys(s).forEach((e=>{c[e]&&(o[c[e]]=s[e])})),new Promise((e=>{if(o.src instanceof ArrayBuffer){const t=new n;t.readAsDataURL(new i([o.src])),t.addEventListener("load",(()=>{o.src="url("+t.result+")",e(o)}))}else e(o)}))}}.toString()+")()",(a.documentElement||a).appendChild(e),e.remove(),e=a.createElement("script"),e.src=s.runtime.getURL("/lib/web/hooks/hooks-frames-web.js"),e.async=!1,(a.documentElement||a).appendChild(e),e.remove()}const d=new RegExp("\\\\([\\da-f]{1,6}[\\x20\\t\\r\\n\\f]?|([\\x20\\t\\r\\n\\f])|.)","ig");const c="data-single-file-removed-content",m="data-single-file-hidden-content",u="data-single-file-kept-content",g="data-single-file-hidden-frame",f="data-single-file-preserved-space-element",h="data-single-file-shadow-root-element",p="data-single-file-image",b="data-single-file-poster",y="data-single-file-video",w="data-single-file-canvas",E="data-single-file-import",T="data-single-file-movable-style",v="data-single-file-input-value",I="data-single-file-lazy-loaded-src",A="data-single-file-stylesheet",S="data-single-file-disabled-noscript",F="data-single-file-async-script",R="*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)",C=["NOSCRIPT","DISABLED-NOSCRIPT","META","LINK","STYLE","TITLE","TEMPLATE","SOURCE","OBJECT","SCRIPT","HEAD"],k=/^'(.*?)'$/,M=/^"(.*?)"$/,x={regular:"400",normal:"400",bold:"700",bolder:"700",lighter:"100"},N="single-file-ui-element",P="data:,";function q(e,t,s,o,n={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],imports:[],markedElements:[]},i){return Array.from(s.childNodes).filter((t=>t instanceof e.HTMLElement||t instanceof e.SVGElement)).forEach((s=>{let a,r,l;if(!o.autoSaveExternalSave&&(o.removeHiddenElements||o.removeUnusedFonts||o.compressHTML)&&(l=e.getComputedStyle(s),s instanceof e.HTMLElement&&o.removeHiddenElements&&(r=(i||s.closest("html > head"))&&C.includes(s.tagName)||s.closest("details"),r||(a=i||O(s,l),a&&(s.setAttribute(m,""),n.markedElements.push(s)))),!a)){if(o.compressHTML&&l){const e=l.getPropertyValue("white-space");e&&e.startsWith("pre")&&(s.setAttribute(f,""),n.markedElements.push(s))}o.removeUnusedFonts&&(_(l,o,n.usedFonts),_(e.getComputedStyle(s,":first-letter"),o,n.usedFonts),_(e.getComputedStyle(s,":before"),o,n.usedFonts),_(e.getComputedStyle(s,":after"),o,n.usedFonts))}!function(e,t,s,o,n,i,a){if("CANVAS"==s.tagName)try{n.canvases.push({dataURI:s.toDataURL("image/png","")}),s.setAttribute(w,n.canvases.length-1),n.markedElements.push(s)}catch(e){}if("IMG"==s.tagName){const t={currentSrc:i?P:o.loadDeferredImages&&s.getAttribute(I)||s.currentSrc};if(n.images.push(t),s.setAttribute(p,n.images.length-1),n.markedElements.push(s),s.removeAttribute(I),a=a||e.getComputedStyle(s)){t.size=function(e,t,s){let o=t.naturalWidth,n=t.naturalHeight;if(!o&&!n){const i=null==t.getAttribute("style");let a,r,l,d,c,m,u,g,f=!1;if("content-box"==(s=s||e.getComputedStyle(t)).getPropertyValue("box-sizing")){const e=t.style.getPropertyValue("box-sizing"),s=t.style.getPropertyPriority("box-sizing"),o=t.clientWidth;t.style.setProperty("box-sizing","border-box","important"),f=t.clientWidth!=o,e?t.style.setProperty("box-sizing",e,s):t.style.removeProperty("box-sizing")}a=V("padding-left",s),r=V("padding-right",s),l=V("padding-top",s),d=V("padding-bottom",s),f?(c=V("border-left-width",s),m=V("border-right-width",s),u=V("border-top-width",s),g=V("border-bottom-width",s)):c=m=u=g=0,o=Math.max(0,t.clientWidth-a-r-c-m),n=Math.max(0,t.clientHeight-l-d-u-g),i&&t.removeAttribute("style")}return{pxWidth:o,pxHeight:n}}(e,s,a);const o=a.getPropertyValue("box-shadow"),n=a.getPropertyValue("background-image");o&&"none"!=o||n&&"none"!=n||!(t.size.pxWidth>1||t.size.pxHeight>1)||(t.replaceable=!0,t.backgroundColor=a.getPropertyValue("background-color"),t.objectFit=a.getPropertyValue("object-fit"),t.boxSizing=a.getPropertyValue("box-sizing"),t.objectPosition=a.getPropertyValue("object-position"))}}if("VIDEO"==s.tagName){const o=s.currentSrc;if(o&&!o.startsWith("blob:")&&!o.startsWith("data:")){const t=e.getComputedStyle(s.parentNode).getPropertyValue("position");n.videos.push({positionParent:t,src:o,size:{pxWidth:s.clientWidth,pxHeight:s.clientHeight},currentTime:s.currentTime}),s.setAttribute(y,n.videos.length-1)}if(!s.poster){const e=t.createElement("canvas"),o=e.getContext("2d");e.width=s.clientWidth,e.height=s.clientHeight;try{o.drawImage(s,0,0,e.width,e.height),n.posters.push(e.toDataURL("image/png","")),s.setAttribute(b,n.posters.length-1),n.markedElements.push(s)}catch(e){}}}"IFRAME"==s.tagName&&i&&o.removeHiddenElements&&(s.setAttribute(g,""),n.markedElements.push(s));"LINK"==s.tagName&&s.import&&s.import.documentElement&&(n.imports.push({content:W(s.import)}),s.setAttribute(E,n.imports.length-1),n.markedElements.push(s));"INPUT"==s.tagName&&("password"!=s.type&&(s.setAttribute(v,s.value),n.markedElements.push(s)),"radio"!=s.type&&"checkbox"!=s.type||(s.setAttribute(v,s.checked),n.markedElements.push(s)));"TEXTAREA"==s.tagName&&(s.setAttribute(v,s.value),n.markedElements.push(s));"SELECT"==s.tagName&&s.querySelectorAll("option").forEach((e=>{e.selected&&(e.setAttribute(v,""),n.markedElements.push(e))}));"SCRIPT"==s.tagName&&(s.async&&""!=s.getAttribute("async")&&"async"!=s.getAttribute("async")&&(s.setAttribute(F,""),n.markedElements.push(s)),s.textContent=s.textContent.replace(/<\/script>/gi,"<\\/script>"))}(e,t,s,o,n,a,l);const d=!(s instanceof e.SVGElement)&&L(s);if(d&&!s.classList.contains(N)){const i={};s.setAttribute(h,n.shadowRoots.length),n.markedElements.push(s),n.shadowRoots.push(i),q(e,t,d,o,n,a),i.content=d.innerHTML,i.mode=d.mode;try{d.adoptedStyleSheets&&d.adoptedStyleSheets.length&&(i.adoptedStyleSheets=Array.from(d.adoptedStyleSheets).map((e=>Array.from(e.cssRules).map((e=>e.cssText)).join("\n"))))}catch(e){}}q(e,t,s,o,n,a),!o.autoSaveExternalSave&&o.removeHiddenElements&&i&&(r||""==s.getAttribute(u)?s.parentElement&&(s.parentElement.setAttribute(u,""),n.markedElements.push(s.parentElement)):a&&(s.setAttribute(c,""),n.markedElements.push(s)))})),n}function _(e,t,s){if(e){const o=e.getPropertyValue("font-style")||"normal";e.getPropertyValue("font-family").split(",").forEach((n=>{if(n=D(n),!t.loadedFonts||t.loadedFonts.find((e=>D(e.family)==n&&e.style==o))){const t=(i=e.getPropertyValue("font-weight"),x[i.toLowerCase().trim()]||i),a=e.getPropertyValue("font-variant")||"normal",r=[n,t,o,a];s.set(JSON.stringify(r),[n,t,o,a])}var i}))}}function L(e){const t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(!(t&&t.dom&&t.dom.openOrClosedShadowRoot))return e.shadowRoot;try{return t.dom.openOrClosedShadowRoot(e)}catch(t){return e.shadowRoot}}function D(e=""){return function(e){e=e.match(k)?e.replace(k,"$1"):e.replace(M,"$1");return e.trim()}((t=e.trim(),t.replace(d,((e,t,s)=>{const o="0x"+t-65536;return o!=o||s?t:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)})))).toLowerCase();var t}function O(e,t){let s=!1;if(t){const o=t.getPropertyValue("display"),n=t.getPropertyValue("opacity"),i=t.getPropertyValue("visibility");if(s="none"==o,!s&&("0"==n||"hidden"==i)&&e.getBoundingClientRect){const t=e.getBoundingClientRect();s=!t.width&&!t.height}}return Boolean(s)}function U(e){if(e){const t=[];return e.querySelectorAll("style").forEach(((s,o)=>{try{const n=e.createElement("style");n.textContent=s.textContent,e.body.appendChild(n);const i=n.sheet;n.remove(),i&&i.cssRules.length==s.sheet.cssRules.length||(s.setAttribute(A,o),t[o]=Array.from(s.sheet.cssRules).map((e=>e.cssText)).join("\n"))}catch(e){}})),t}}function V(e,t){if(t.getPropertyValue(e).endsWith("px"))return parseFloat(t.getPropertyValue(e))}function W(e){const t=e.doctype;let s="";return t&&(s="<!DOCTYPE "+t.nodeName,t.publicId?(s+=' PUBLIC "'+t.publicId+'"',t.systemId&&(s+=' "'+t.systemId+'"')):t.systemId&&(s+=' SYSTEM "'+t.systemId+'"'),t.internalSubset&&(s+=" ["+t.internalSubset+"]"),s+="> "),s+e.documentElement.outerHTML}const z=I,H=N,B="attributes",j=globalThis.browser,J=globalThis.document,K=globalThis.MutationObserver,Y=(e,t,s)=>globalThis.addEventListener(e,t,s),$=(e,t,s)=>globalThis.removeEventListener(e,t,s),G=new Map;let X;async function Z(s){if(J.documentElement){G.clear();const o=Math.max(J.documentElement.scrollHeight-1.5*J.documentElement.clientHeight,0),a=Math.max(J.documentElement.scrollWidth-1.5*J.documentElement.clientWidth,0);if(globalThis.scrollY<=o&&globalThis.scrollX<=a)return function(s){return X=0,new Promise((async o=>{let a;const r=new Set,l=new K((async e=>{if((e=e.filter((e=>e.type==B))).length){e.filter((e=>{if("src"==e.attributeName&&(e.target.setAttribute(z,e.target.src),e.target.addEventListener("load",c)),"src"==e.attributeName||"srcset"==e.attributeName||"SOURCE"==e.target.tagName)return!e.target.classList||!e.target.classList.contains(H)})).length&&(a=!0,await ee(l,s,g),r.size||await Q(l,s,g))}}));async function d(e){await se("idleTimeout",(async()=>{a?X<10&&(X++,ne("idleTimeout"),await d(Math.max(500,e/2))):(ne("loadTimeout"),ne("maxTimeout"),te(l,s,g))}),e)}function c(e){const t=e.target;t.removeAttribute(z),t.removeEventListener("load",c)}async function m(e){a=!0,await ee(l,s,g),await Q(l,s,g),e.detail&&r.add(e.detail)}async function u(e){await ee(l,s,g),await Q(l,s,g),r.delete(e.detail),r.size||await Q(l,s,g)}function g(s){l.disconnect(),$(e,m),$(t,u),o(s)}await d(2*s.loadDeferredImagesMaxIdleTime),await ee(l,s,g),l.observe(J,{subtree:!0,childList:!0,attributes:!0}),Y(e,m),Y(t,u),function(e){e.loadDeferredImagesBlockCookies&&n(new i("single-file-block-cookies-start")),e.loadDeferredImagesBlockStorage&&n(new i("single-file-block-storage-start")),e.loadDeferredImagesDispatchScrollEvent&&n(new i("single-file-dispatch-scroll-event-start")),e.loadDeferredImagesKeepZoomLevel?n(new i("single-file-load-deferred-images-keep-zoom-level-start")):n(new i("single-file-load-deferred-images-start"))}(s)}))}(s)}}async function Q(e,t,s){await se("loadTimeout",(()=>te(e,t,s)),t.loadDeferredImagesMaxIdleTime)}async function ee(e,t,s){await se("maxTimeout",(async()=>{await ne("loadTimeout"),await te(e,t,s)}),10*t.loadDeferredImagesMaxIdleTime)}async function te(e,t,s){await ne("idleTimeout"),function(e){e.loadDeferredImagesBlockCookies&&n(new i("single-file-block-cookies-end")),e.loadDeferredImagesBlockStorage&&n(new i("single-file-block-storage-end")),e.loadDeferredImagesDispatchScrollEvent&&n(new i("single-file-dispatch-scroll-event-end")),e.loadDeferredImagesKeepZoomLevel?n(new i("single-file-load-deferred-images-keep-zoom-level-end")):n(new i("single-file-load-deferred-images-end"))}(t),await se("endTimeout",(async()=>{await ne("maxTimeout"),s()}),t.loadDeferredImagesMaxIdleTime/2),e.disconnect()}async function se(e,t,s){if(j&&j.runtime&&j.runtime.sendMessage){if(!G.get(e)||!G.get(e).pending){const o={callback:t,pending:!0};G.set(e,o);try{await j.runtime.sendMessage({method:"singlefile.lazyTimeout.setTimeout",type:e,delay:s})}catch(o){oe(e,t,s)}o.pending=!1}}else oe(e,t,s)}function oe(e,t,s){const o=G.get(e);o&&globalThis.clearTimeout(o),G.set(e,t),globalThis.setTimeout(t,s)}async function ne(e){if(j&&j.runtime&&j.runtime.sendMessage)try{await j.runtime.sendMessage({method:"singlefile.lazyTimeout.clearTimeout",type:e})}catch(t){ie(e)}else ie(e)}function ie(e){const t=G.get(e);G.delete(e),t&&globalThis.clearTimeout(t)}j&&j.runtime&&j.runtime.onMessage&&j.runtime.onMessage.addListener&&j.runtime.onMessage.addListener((e=>{if("singlefile.lazyTimeout.onTimeout"==e.method){const t=G.get(e.type);if(t){G.delete(e.type);try{t.callback()}catch(t){ie(e.type)}}}}));const ae={ON_BEFORE_CAPTURE_EVENT_NAME:"single-file-on-before-capture",ON_AFTER_CAPTURE_EVENT_NAME:"single-file-on-after-capture",WIN_ID_ATTRIBUTE_NAME:"data-single-file-win-id",preProcessDoc:function(e,t,s){e.querySelectorAll("noscript:not([data-single-file-disabled-noscript])").forEach((e=>{e.setAttribute(S,e.textContent),e.textContent=""})),function(e){e.querySelectorAll("meta[http-equiv=refresh]").forEach((e=>{e.removeAttribute("http-equiv"),e.setAttribute("disabled-http-equiv","refresh")}))}(e),e.head&&e.head.querySelectorAll(R).forEach((e=>e.hidden=!0)),e.querySelectorAll("svg foreignObject").forEach((e=>{const t=e.querySelectorAll("html > head > "+R+", html > body > "+R);t.length&&(Array.from(e.childNodes).forEach((e=>e.remove())),t.forEach((t=>e.appendChild(t))))}));const o=new Map;let n;return t&&e.documentElement?(e.querySelectorAll("button button").forEach((t=>{const s=e.createComment("");o.set(t,s),t.replaceWith(s)})),n=q(t,e,e.documentElement,s),s.moveStylesInHead&&e.querySelectorAll("body style, body ~ style").forEach((e=>{const s=t.getComputedStyle(e);s&&O(e,s)&&(e.setAttribute(T,""),n.markedElements.push(e))}))):n={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],imports:[],markedElements:[]},{canvases:n.canvases,fonts:Array.from(l.values()),stylesheets:U(e),images:n.images,posters:n.posters,videos:n.videos,usedFonts:Array.from(n.usedFonts.values()),shadowRoots:n.shadowRoots,imports:n.imports,referrer:e.referrer,markedElements:n.markedElements,invalidElements:o}},serialize:W,postProcessDoc:function(e,t,s){if(e.querySelectorAll("[data-single-file-disabled-noscript]").forEach((e=>{e.textContent=e.getAttribute(S),e.removeAttribute(S)})),e.querySelectorAll("meta[disabled-http-equiv]").forEach((e=>{e.setAttribute("http-equiv",e.getAttribute("disabled-http-equiv")),e.removeAttribute("disabled-http-equiv")})),e.head&&e.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach((e=>e.removeAttribute("hidden"))),!t){const s=[c,g,m,f,p,b,y,w,v,h,E,A,F];t=e.querySelectorAll(s.map((e=>"["+e+"]")).join(","))}t.forEach((e=>{e.removeAttribute(c),e.removeAttribute(m),e.removeAttribute(u),e.removeAttribute(g),e.removeAttribute(f),e.removeAttribute(p),e.removeAttribute(b),e.removeAttribute(y),e.removeAttribute(w),e.removeAttribute(v),e.removeAttribute(h),e.removeAttribute(E),e.removeAttribute(A),e.removeAttribute(F),e.removeAttribute(T)})),s&&Array.from(s.entries()).forEach((([e,t])=>t.replaceWith(e)))},getShadowRoot:L},re="__frameTree__::",le='iframe, frame, object[type="text/html"][data]',de="singlefile.frameTree.initRequest",ce="singlefile.frameTree.ackInitRequest",me="singlefile.frameTree.cleanupRequest",ue="singlefile.frameTree.initResponse",ge=".",fe=globalThis.window==globalThis.top,he=globalThis.browser,pe=globalThis.top,be=globalThis.MessageChannel,ye=globalThis.document;let we,Ee=globalThis.sessions;var Te,ve,Ie;function Ae(e){e.frames.forEach((t=>Fe("responseTimeouts",e.sessionId,t.windowId)));const t=Ee.get(e.sessionId);if(t){e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach((e=>{let s=t.frames.find((t=>e.windowId==t.windowId));s||(s={windowId:e.windowId},t.frames.push(s)),s.processed||(s.content=e.content,s.baseURI=e.baseURI,s.title=e.title,s.canvases=e.canvases,s.fonts=e.fonts,s.stylesheets=e.stylesheets,s.images=e.images,s.posters=e.posters,s.videos=e.videos,s.usedFonts=e.usedFonts,s.shadowRoots=e.shadowRoots,s.imports=e.imports,s.processed=e.processed)}));t.frames.filter((e=>!e.processed)).length||(t.frames=t.frames.sort(((e,t)=>t.windowId.split(ge).length-e.windowId.split(ge).length)),t.resolve&&(t.requestedFrameId&&t.frames.forEach((e=>{e.windowId==t.requestedFrameId&&(e.requestedFrame=!0)})),t.resolve(t.frames)))}}function Se(e,t,s,o){const n=Ne(e);!function(e,t,s,o,n){const i=[];let a;Ee.get(n)?a=Ee.get(n).requestTimeouts:(a={},Ee.set(n,{requestTimeouts:a}));t.forEach(((e,t)=>{const s=o+ge+t;e.setAttribute(ae.WIN_ID_ATTRIBUTE_NAME,s),i.push({windowId:s})})),ke({frames:i,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),t.forEach(((e,t)=>{const i=o+ge+t;try{Me(e.contentWindow,{method:de,windowId:i,sessionId:n,options:s})}catch(e){}a[i]=globalThis.setTimeout((()=>ke({frames:[{windowId:i,processed:!0}],sessionId:n})),5e3)})),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o),n.length&&function(e,t,s,o,n){const i=[];t.forEach(((e,t)=>{const a=o+ge+t;let r;try{r=e.contentDocument}catch(e){}if(r)try{const t=e.contentWindow;t.stop(),Fe("requestTimeouts",n,a),Se(r,s,a,n),i.push(xe(r,t,a,s))}catch(e){i.push({windowId:a,processed:!0})}})),ke({frames:i,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o)}function Fe(e,t,s){const o=Ee.get(t);if(o&&o[e]){const t=o[e][s];t&&(globalThis.clearTimeout(t),delete o[e][s])}}function Re(e,t){const s=Ee.get(e);s&&s.responseTimeouts&&(s.responseTimeouts[t]=globalThis.setTimeout((()=>ke({frames:[{windowId:t,processed:!0}],sessionId:e})),1e4))}function Ce(e,t,s){e.forEach(((e,o)=>{const n=t+ge+o;e.removeAttribute(ae.WIN_ID_ATTRIBUTE_NAME);try{Me(e.contentWindow,{method:me,windowId:n,sessionId:s})}catch(e){}})),e.forEach(((e,o)=>{const n=t+ge+o;let i;try{i=e.contentDocument}catch(e){}if(i)try{Ce(Ne(i),n,s)}catch(e){}}))}function ke(e){e.method=ue;try{pe.singlefile.processors.frameTree.initResponse(e)}catch(t){Me(pe,e,!0)}}function Me(e,t,s){if(e==pe&&he&&he.runtime&&he.runtime.sendMessage)he.runtime.sendMessage(t);else if(s){const s=new be;e.postMessage(re+JSON.stringify({method:t.method,sessionId:t.sessionId}),"*",[s.port2]),s.port1.postMessage(t)}else e.postMessage(re+JSON.stringify(t),"*")}function xe(e,t,s,o){const n=ae.preProcessDoc(e,t,o),i=ae.serialize(e);ae.postProcessDoc(e,n.markedElements,n.invalidElements);return{windowId:s,content:i,baseURI:e.baseURI.split("#")[0],title:e.title,canvases:n.canvases,fonts:n.fonts,stylesheets:n.stylesheets,images:n.images,posters:n.posters,videos:n.videos,usedFonts:n.usedFonts,shadowRoots:n.shadowRoots,imports:n.imports,processed:!0}}function Ne(e){let t=Array.from(e.querySelectorAll(le));return e.querySelectorAll("*").forEach((e=>{const s=ae.getShadowRoot(e);s&&(t=t.concat(...s.querySelectorAll(le)))})),t}Ee||(Ee=globalThis.sessions=new Map),fe&&(we="0",he&&he.runtime&&he.runtime.onMessage&&he.runtime.onMessage.addListener&&he.runtime.onMessage.addListener((e=>e.method==ue?(Ae(e),Promise.resolve({})):e.method==ce?(Fe("requestTimeouts",e.sessionId,e.windowId),Re(e.sessionId,e.windowId),Promise.resolve({})):void 0))),Te="message",ve=async e=>{if("string"==typeof e.data&&e.data.startsWith(re)){e.preventDefault(),e.stopPropagation();const t=JSON.parse(e.data.substring(re.length));t.method==de?(e.source&&Me(e.source,{method:ce,windowId:t.windowId,sessionId:t.sessionId}),fe||(globalThis.stop(),t.options.loadDeferredImages&&Z(t.options),await async function(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,fe||(we=globalThis.frameId=e.windowId),Se(ye,e.options,we,t),fe||(e.options.userScriptEnabled&&s&&await s(ae.ON_BEFORE_CAPTURE_EVENT_NAME),ke({frames:[xe(ye,globalThis,we,e.options)],sessionId:t,requestedFrameId:ye.documentElement.dataset.requestedFrameId&&we}),e.options.userScriptEnabled&&s&&await s(ae.ON_AFTER_CAPTURE_EVENT_NAME),delete ye.documentElement.dataset.requestedFrameId)}(t))):t.method==ce?(Fe("requestTimeouts",t.sessionId,t.windowId),Re(t.sessionId,t.windowId)):t.method==me?function(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;const t=e.sessionId;Ce(Ne(ye),e.windowId,t)}}(t):t.method==ue&&Ee.get(t.sessionId)&&(e.ports[0].onmessage=e=>Ae(e.data))}},Ie=!0,globalThis.addEventListener(Te,ve,Ie)}));
|