playwright-core 1.58.0-alpha-2025-12-09 → 1.58.0-alpha-2025-12-11
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/ThirdPartyNotices.txt +3 -3
- package/browsers.json +6 -6
- package/lib/client/browser.js +3 -5
- package/lib/client/browserType.js +2 -2
- package/lib/client/fetch.js +2 -4
- package/lib/mcpBundleImpl/index.js +29 -29
- package/lib/protocol/serializers.js +5 -0
- package/lib/server/agent/actionRunner.js +33 -2
- package/lib/server/agent/agent.js +18 -12
- package/lib/server/agent/context.js +26 -11
- package/lib/server/agent/tools.js +67 -5
- package/lib/server/artifact.js +1 -1
- package/lib/server/bidi/bidiBrowser.js +13 -4
- package/lib/server/bidi/bidiPage.js +9 -1
- package/lib/server/bidi/third_party/bidiProtocolCore.js +1 -0
- package/lib/server/chromium/crPage.js +5 -5
- package/lib/server/dispatchers/dispatcher.js +5 -8
- package/lib/server/firefox/ffBrowser.js +1 -1
- package/lib/server/firefox/ffPage.js +1 -1
- package/lib/server/instrumentation.js +3 -0
- package/lib/server/page.js +2 -2
- package/lib/server/progress.js +2 -0
- package/lib/server/screencast.js +24 -25
- package/lib/server/utils/network.js +18 -26
- package/lib/server/videoRecorder.js +20 -11
- package/lib/server/webkit/wkBrowser.js +1 -1
- package/lib/server/webkit/wkPage.js +7 -7
- package/lib/vite/traceViewer/index.BVu7tZDe.css +1 -0
- package/lib/vite/traceViewer/index.html +2 -2
- package/lib/vite/traceViewer/index.zFV_GQE-.js +2 -0
- package/lib/vite/traceViewer/sw.bundle.js +3 -1
- package/lib/vite/traceViewer/uiMode.DiEbKRwa.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +1 -1
- package/package.json +1 -1
- package/lib/vite/traceViewer/index.C4Y3Aw8n.css +0 -1
- package/lib/vite/traceViewer/index.YskCIlQ-.js +0 -2
- package/lib/vite/traceViewer/uiMode.CmFFBCQb.js +0 -5
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
var Qs=Object.defineProperty;var zs=(s,t,e)=>t in s?Qs(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var we=(s,t,e)=>zs(s,typeof t!="symbol"?t+"":t,e);class er{constructor(t,e){this._snapshotIds=new Map,this._snapshotStorage=t,this._resourceLoader=e}serveSnapshot(t,e,n){const r=this._snapshot(t,e);if(!r)return new Response(null,{status:404});const i=r.render();return this._snapshotIds.set(n,r),new Response(i.html,{status:200,headers:{"Content-Type":"text/html; charset=utf-8"}})}async serveClosestScreenshot(t,e){const n=this._snapshot(t,e),r=n==null?void 0:n.closestScreenshot();return r?new Response(await this._resourceLoader(r)):new Response(null,{status:404})}serveSnapshotInfo(t,e){const n=this._snapshot(t,e);return this._respondWithJson(n?{viewport:n.viewport(),url:n.snapshot().frameUrl,timestamp:n.snapshot().timestamp,wallTime:n.snapshot().wallTime}:{error:"No snapshot found"})}_snapshot(t,e){const n=e.get("name");return this._snapshotStorage.snapshotByName(t,n)}_respondWithJson(t){return new Response(JSON.stringify(t),{status:200,headers:{"Cache-Control":"public, max-age=31536000","Content-Type":"application/json"}})}async serveResource(t,e,n){let r;const i=this._snapshotIds.get(n);for(const R of t)if(r=i==null?void 0:i.resourceByUrl(tr(R),e),r)break;if(!r)return new Response(null,{status:404});const a=r.response.content._sha1,o=a?await this._resourceLoader(a)||new Blob([]):new Blob([]);let l=r.response.content.mimeType;/^text\/|^application\/(javascript|json)/.test(l)&&!l.includes("charset")&&(l=`${l}; charset=utf-8`);const d=new Headers;l!=="x-unknown"&&d.set("Content-Type",l);for(const{name:R,value:A}of r.response.headers)d.set(R,A);d.delete("Content-Encoding"),d.delete("Access-Control-Allow-Origin"),d.set("Access-Control-Allow-Origin","*"),d.delete("Content-Length"),d.set("Content-Length",String(o.size)),this._snapshotStorage.hasResourceOverride(r.request.url)?d.set("Cache-Control","no-store, no-cache, max-age=0"):d.set("Cache-Control","public, max-age=31536000");const{status:m}=r.response,y=m===101||m===204||m===205||m===304;return new Response(y?null:o,{headers:d,status:r.response.status,statusText:r.response.statusText})}}function tr(s){try{const t=new URL(s);return t.hash="",t.toString()}catch{return s}}function nr(s){const t=new Map,{files:e,stacks:n}=s;for(const r of n){const[i,a]=r;t.set(`call@${i}`,a.map(o=>({file:e[o[0]],line:o[1],column:o[2],function:o[3]})))}return t}const Hn={"&":"&","<":"<",">":">",'"':""","'":"'"};function sr(s){return s.replace(/[&<>"']/ug,t=>Hn[t])}function rr(s){return s.replace(/[&<]/ug,t=>Hn[t])}function Wt(s,t,e){return s.find((n,r)=>{if(r===s.length-1)return!0;const i=s[r+1];return Math.abs(t(n)-e)<Math.abs(t(i)-e)})}function Bn(s){return Array.isArray(s)&&typeof s[0]=="string"}function ir(s){return Array.isArray(s)&&Array.isArray(s[0])}class ar{constructor(t,e,n,r,i){this._htmlCache=t,this._resources=e,this._snapshots=n,this._index=i,this._snapshot=n[i],this._callId=n[i].callId,this._screencastFrames=r,this.snapshotName=n[i].snapshotName}snapshot(){return this._snapshots[this._index]}viewport(){return this._snapshots[this._index].viewport}closestScreenshot(){var r;const{wallTime:t,timestamp:e}=this.snapshot(),n=t&&((r=this._screencastFrames[0])!=null&&r.frameSwapWallTime)?Wt(this._screencastFrames,i=>i.frameSwapWallTime,t):Wt(this._screencastFrames,i=>i.timestamp,e);return n==null?void 0:n.sha1}render(){const t=[],e=(i,a,o,l)=>{if(typeof i=="string"){o==="STYLE"||o==="style"?t.push(hr(ur(i))):t.push(rr(i));return}if(ir(i)){const _=a-i[0][0];if(_>=0&&_<=a){const d=cr(this._snapshots[_]),m=i[0][1];if(m>=0&&m<d.length)return e(d[m],_,o,l)}}else if(Bn(i)){const[_,d,...m]=i,y=_==="NOSCRIPT"?"X-NOSCRIPT":_,R=Object.entries(d||{});t.push("<",y);const A="__playwright_current_src__",f=y==="IFRAME"||y==="FRAME",c=y==="A",u=y==="IMG",b=u&&R.some(w=>w[0]===A),g=y==="SOURCE"&&o==="PICTURE"&&(l==null?void 0:l.some(w=>w[0]===A));for(const[w,S]of R){let h=w;f&&w.toLowerCase()==="src"&&(h="__playwright_src__"),u&&w===A&&(h="src"),["src","srcset"].includes(w.toLowerCase())&&(b||g)&&(h="_"+h);let T=S;!c&&(w.toLowerCase()==="href"||w.toLowerCase()==="src"||w===A)&&(T=ft(S)),t.push(" ",h,'="',sr(T),'"')}t.push(">");for(const w of m)e(w,a,y,R);or.has(y)||t.push("</",y,">");return}else return},n=this._snapshot;return{html:this._htmlCache.getOrCompute(this,()=>{e(n.html,this._index,void 0,void 0);const a=(n.doctype?`<!DOCTYPE ${n.doctype}>`:"")+["<style>*,*::before,*::after { visibility: hidden }</style>",`<script>${lr(this.viewport(),this._callId,this.snapshotName)}<\/script>`].join("")+t.join("");return{value:a,size:a.length}}),pageId:n.pageId,frameId:n.frameId,index:this._index}}resourceByUrl(t,e){const n=this._snapshot;let r,i;for(const o of this._resources){if(typeof o._monotonicTime=="number"&&o._monotonicTime>=n.timestamp)break;o.response.status!==304&&o.request.url===t&&o.request.method===e&&(o._frameref===n.frameId?r=o:i=o)}let a=r??i;if(a&&e.toUpperCase()==="GET"){for(const o of n.resourceOverrides)if(t===o.url&&o.sha1){a={...a,response:{...a.response,content:{...a.response.content,_sha1:o.sha1}}};break}}return a}}const or=new Set(["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","MENUITEM","META","PARAM","SOURCE","TRACK","WBR"]);function cr(s){if(!s._nodes){const t=[],e=n=>{if(typeof n=="string")t.push(n);else if(Bn(n)){const[,,...r]=n;for(const i of r)e(i);t.push(n)}};e(s.html),s._nodes=t}return s._nodes}function lr(s,...t){function e(n,...r){const i=window,a=new URLSearchParams(i.location.search),o=a.has("shouldPopulateCanvasFromScreenshot"),l=a.has("isUnderTest"),_={viewport:n,frames:new WeakMap};i.__playwright_frame_bounding_rects__=_;const d="Recorded click position in absolute coordinates did not match the center of the clicked element. This is likely due to a difference between the test runner and the trace viewer operating systems.",m=[],y=[],R=[],A=[];let f=i;for(;f!==f.parent&&!f.location.pathname.match(/\/page@[a-z0-9]+$/);)f=f.parent;const c=g=>{for(const w of g.querySelectorAll("[__playwright_scroll_top_]"))m.push(w);for(const w of g.querySelectorAll("[__playwright_scroll_left_]"))y.push(w);for(const w of g.querySelectorAll("[__playwright_value_]")){const S=w;S.type!=="file"&&(S.value=S.getAttribute("__playwright_value_")),w.removeAttribute("__playwright_value_")}for(const w of g.querySelectorAll("[__playwright_checked_]"))w.checked=w.getAttribute("__playwright_checked_")==="true",w.removeAttribute("__playwright_checked_");for(const w of g.querySelectorAll("[__playwright_selected_]"))w.selected=w.getAttribute("__playwright_selected_")==="true",w.removeAttribute("__playwright_selected_");for(const w of g.querySelectorAll("[__playwright_popover_open_]")){try{w.showPopover()}catch{}w.removeAttribute("__playwright_popover_open_")}for(const w of g.querySelectorAll("[__playwright_dialog_open_]")){try{w.getAttribute("__playwright_dialog_open_")==="modal"?w.showModal():w.show()}catch{}w.removeAttribute("__playwright_dialog_open_")}for(const w of r)for(const S of g.querySelectorAll(`[__playwright_target__="${w}"]`)){const h=S.style;h.outline="2px solid #006ab1",h.backgroundColor="#6fa8dc7f",R.push(S)}for(const w of g.querySelectorAll("iframe, frame")){const S=w.getAttribute("__playwright_bounding_rect__");w.removeAttribute("__playwright_bounding_rect__");const h=S?JSON.parse(S):void 0;h&&_.frames.set(w,{boundingRect:h,scrollLeft:0,scrollTop:0});const T=w.getAttribute("__playwright_src__");if(!T)w.setAttribute("src",'data:text/html,<body style="background: #ddd"></body>');else{const E=new URL(i.location.href),O=E.pathname.lastIndexOf("/snapshot/");O!==-1&&(E.pathname=E.pathname.substring(0,O+1)),E.pathname+=T.substring(1),w.setAttribute("src",E.toString())}}{const w=g.querySelector("body[__playwright_custom_elements__]");if(w&&i.customElements){const S=(w.getAttribute("__playwright_custom_elements__")||"").split(",");for(const h of S)i.customElements.define(h,class extends HTMLElement{})}}for(const w of g.querySelectorAll("template[__playwright_shadow_root_]")){const S=w,h=S.parentElement.attachShadow({mode:"open"});h.appendChild(S.content),S.remove(),c(h)}for(const w of g.querySelectorAll("a"))w.addEventListener("click",S=>{S.preventDefault()});if("adoptedStyleSheets"in g){const w=[...g.adoptedStyleSheets];for(const S of g.querySelectorAll("template[__playwright_style_sheet_]")){const h=S,T=new CSSStyleSheet;T.replaceSync(h.getAttribute("__playwright_style_sheet_")),w.push(T)}g.adoptedStyleSheets=w}A.push(...g.querySelectorAll("canvas"))},u=()=>{i.removeEventListener("load",u);for(const S of m)S.scrollTop=+S.getAttribute("__playwright_scroll_top_"),S.removeAttribute("__playwright_scroll_top_"),_.frames.has(S)&&(_.frames.get(S).scrollTop=S.scrollTop);for(const S of y)S.scrollLeft=+S.getAttribute("__playwright_scroll_left_"),S.removeAttribute("__playwright_scroll_left_"),_.frames.has(S)&&(_.frames.get(S).scrollLeft=S.scrollTop);i.document.styleSheets[0].disabled=!0;const g=new URL(i.location.href).searchParams,w=i===f;if(g.get("pointX")&&g.get("pointY")){const S=+g.get("pointX"),h=+g.get("pointY"),T=g.has("hasInputTarget"),E=R.length>0,O=i.document.documentElement?[i.document.documentElement]:[];for(const x of E?R:O){const p=i.document.createElement("x-pw-pointer");if(p.style.position="fixed",p.style.backgroundColor="#f44336",p.style.width="20px",p.style.height="20px",p.style.borderRadius="10px",p.style.margin="-10px 0 0 -10px",p.style.zIndex="2147483646",p.style.display="flex",p.style.alignItems="center",p.style.justifyContent="center",E){const C=x.getBoundingClientRect(),I=C.left+C.width/2,k=C.top+C.height/2;if(p.style.left=I+"px",p.style.top=k+"px",w&&(Math.abs(I-S)>=10||Math.abs(k-h)>=10)){const N=i.document.createElement("x-pw-pointer-warning");N.textContent="⚠",N.style.fontSize="19px",N.style.color="white",N.style.marginTop="-3.5px",N.style.userSelect="none",p.appendChild(N),p.setAttribute("title",d)}i.document.documentElement.appendChild(p)}else w&&!T&&(p.style.left=S+"px",p.style.top=h+"px",i.document.documentElement.appendChild(p))}}if(A.length>0){let S=function(T,E){function O(){const x=i.document.createElement("canvas");x.width=x.width/Math.floor(x.width/24),x.height=x.height/Math.floor(x.height/24);const p=x.getContext("2d");return p.fillStyle="lightgray",p.fillRect(0,0,x.width,x.height),p.fillStyle="white",p.fillRect(0,0,x.width/2,x.height/2),p.fillRect(x.width/2,x.height/2,x.width,x.height),p.createPattern(x,"repeat")}T.fillStyle=O(),T.fillRect(0,0,E.width,E.height)};const h=new Image;h.onload=()=>{var T;for(const E of A){const O=E.getContext("2d"),x=E.getAttribute("__playwright_bounding_rect__");if(E.removeAttribute("__playwright_bounding_rect__"),!x)continue;let p;try{p=JSON.parse(x)}catch{continue}let C=i;for(;C!==f;){const M=C.frameElement;C=C.parent;const L=(T=C.__playwright_frame_bounding_rects__)==null?void 0:T.frames.get(M);if(!(L!=null&&L.boundingRect))break;const V=L.boundingRect.left-L.scrollLeft,D=L.boundingRect.top-L.scrollTop;p.left+=V,p.top+=D,p.right+=V,p.bottom+=D}const{width:I,height:k}=f.__playwright_frame_bounding_rects__.viewport;p.left=p.left/I,p.top=p.top/k,p.right=p.right/I,p.bottom=p.bottom/k;const N=p.right>1||p.bottom>1;if(p.left>1||p.top>1){E.title="Playwright couldn't capture canvas contents because it's located outside the viewport.";continue}S(O,E),o?(O.drawImage(h,p.left*h.width,p.top*h.height,(p.right-p.left)*h.width,(p.bottom-p.top)*h.height,0,0,E.width,E.height),N?E.title="Playwright couldn't capture full canvas contents because it's located partially outside the viewport.":E.title="Canvas contents are displayed on a best-effort basis based on viewport screenshots taken during test execution."):E.title="Canvas content display is disabled.",l&&console.log("canvas drawn:",JSON.stringify([p.left,p.top,p.right-p.left,p.bottom-p.top].map(M=>Math.floor(M*100))))}},h.onerror=()=>{for(const T of A){const E=T.getContext("2d");S(E,T),T.title="Playwright couldn't show canvas contents because the screenshot failed to load."}},h.src=location.href.replace("/snapshot","/closest-screenshot")}},b=()=>c(i.document);i.addEventListener("load",u),i.addEventListener("DOMContentLoaded",b)}return`
|
|
2
2
|
(${e.toString()})(${JSON.stringify(s)}${t.map(n=>`, "${n}"`).join("")})`}const jn=["about:","blob:","data:","file:","ftp:","http:","https:","mailto:","sftp:","ws:","wss:"],Ht="http://playwright.bloburl/#";function ft(s){s.startsWith(Ht)&&(s=s.substring(Ht.length));try{const t=new URL(s);if(t.protocol==="javascript:"||t.protocol==="vbscript:")return"javascript:void(0)";const e=t.protocol==="blob:",n=t.protocol==="file:";if(!e&&!n&&jn.includes(t.protocol))return s;const r="pw-"+t.protocol.slice(0,t.protocol.length-1);return n||(t.protocol="https:"),t.hostname=t.hostname?`${r}--${t.hostname}`:r,n&&(t.protocol="https:"),t.toString()}catch{return s}}const fr=/url\(['"]?([\w-]+:)\/\//ig;function ur(s){return s.replace(fr,(t,e)=>!(e==="blob:")&&!(e==="file:")&&jn.includes(e)?t:t.replace(e+"//",`https://pw-${e.slice(0,-1)}--`))}const dr=/url\(\s*'([^']*)'\s*\)/ig,_r=/url\(\s*"([^"]*)"\s*\)/ig;function hr(s){const t=(e,n)=>n.includes("</")?e.replace(n,encodeURI(n)):e;return s.replace(dr,t).replace(_r,t)}class pr{constructor(t){this._maxSize=t,this._map=new Map,this._size=0}getOrCompute(t,e){if(this._map.has(t)){const r=this._map.get(t);return this._map.delete(t),this._map.set(t,r),r.value}const n=e();for(;this._map.size&&this._size+n.size>this._maxSize;){const[r,i]=this._map.entries().next().value;this._size-=i.size,this._map.delete(r)}return this._map.set(t,n),this._size+=n.size,n.value}}class mr{constructor(){this._frameSnapshots=new Map,this._cache=new pr(1e8),this._contextToResources=new Map,this._resourceUrlsWithOverrides=new Set}addResource(t,e){e.request.url=ft(e.request.url),this._ensureResourcesForContext(t).push(e)}addFrameSnapshot(t,e,n){for(const o of e.resourceOverrides)o.url=ft(o.url);let r=this._frameSnapshots.get(e.frameId);r||(r={raw:[],renderers:[]},this._frameSnapshots.set(e.frameId,r),e.isMainFrame&&this._frameSnapshots.set(e.pageId,r)),r.raw.push(e);const i=this._ensureResourcesForContext(t),a=new ar(this._cache,i,r.raw,n,r.raw.length-1);return r.renderers.push(a),a}snapshotByName(t,e){const n=this._frameSnapshots.get(t);return n==null?void 0:n.renderers.find(r=>r.snapshotName===e)}snapshotsForTest(){return[...this._frameSnapshots.keys()]}finalize(){for(const t of this._contextToResources.values())t.sort((e,n)=>(e._monotonicTime||0)-(n._monotonicTime||0));for(const t of this._frameSnapshots.values())for(const e of t.raw)for(const n of e.resourceOverrides)this._resourceUrlsWithOverrides.add(n.url)}hasResourceOverride(t){return this._resourceUrlsWithOverrides.has(t)}_ensureResourcesForContext(t){let e=this._contextToResources.get(t);return e||(e=[],this._contextToResources.set(t,e)),e}}class Gn extends Error{constructor(t){super(t),this.name="TraceVersionError"}}const Bt=8;class wr{constructor(t,e){this._actionMap=new Map,this._pageEntries=new Map,this._jsHandles=new Map,this._consoleObjects=new Map,this._contextEntry=t,this._snapshotStorage=e}appendTrace(t){for(const e of t.split(`
|
|
3
|
-
`))this._appendEvent(e)}actions(){return[...this._actionMap.values()]}_pageEntry(t){let e=this._pageEntries.get(t);return e||(e={pageId:t,screencastFrames:[]},this._pageEntries.set(t,e),this._contextEntry.pages.push(e)),e}_appendEvent(t){if(!t)return;const e=this._modernize(JSON.parse(t));for(const n of e)this._innerAppendEvent(n)}_innerAppendEvent(t){const e=this._contextEntry;switch(t.type){case"context-options":{if(t.version>Bt)throw new Gn("The trace was created by a newer version of Playwright and is not supported by this version of the viewer. Please use latest Playwright to open the trace.");this._version=t.version,e.origin=t.origin,e.browserName=t.browserName,e.channel=t.channel,e.title=t.title,e.platform=t.platform,e.playwrightVersion=t.playwrightVersion,e.wallTime=t.wallTime,e.startTime=t.monotonicTime,e.sdkLanguage=t.sdkLanguage,e.options=t.options,e.testIdAttributeName=t.testIdAttributeName,e.contextId=t.contextId??"";break}case"screencast-frame":{this._pageEntry(t.pageId).screencastFrames.push(t);break}case"before":{this._actionMap.set(t.callId,{...t,type:"action",endTime:0,log:[]});break}case"input":{const n=this._actionMap.get(t.callId);n.inputSnapshot=t.inputSnapshot,n.point=t.point;break}case"log":{const n=this._actionMap.get(t.callId);if(!n)return;n.log.push({time:t.time,message:t.message});break}case"after":{const n=this._actionMap.get(t.callId);n.afterSnapshot=t.afterSnapshot,n.endTime=t.endTime,n.result=t.result,n.error=t.error,n.attachments=t.attachments,n.annotations=t.annotations,t.point&&(n.point=t.point);break}case"action":{this._actionMap.set(t.callId,{...t,log:[]});break}case"event":{e.events.push(t);break}case"stdout":{e.stdio.push(t);break}case"stderr":{e.stdio.push(t);break}case"error":{e.errors.push(t);break}case"console":{e.events.push(t);break}case"resource-snapshot":this._snapshotStorage.addResource(this._contextEntry.contextId,t.snapshot),e.resources.push(t.snapshot);break;case"frame-snapshot":this._snapshotStorage.addFrameSnapshot(this._contextEntry.contextId,t.snapshot,this._pageEntry(t.snapshot.pageId).screencastFrames);break}"pageId"in t&&t.pageId&&this._pageEntry(t.pageId),(t.type==="action"||t.type==="before")&&(e.startTime=Math.min(e.startTime,t.startTime)),(t.type==="action"||t.type==="after")&&(e.endTime=Math.max(e.endTime,t.endTime)),t.type==="event"&&(e.startTime=Math.min(e.startTime,t.time),e.endTime=Math.max(e.endTime,t.time)),t.type==="screencast-frame"&&(e.startTime=Math.min(e.startTime,t.timestamp),e.endTime=Math.max(e.endTime,t.timestamp))}_processedContextCreatedEvent(){return this._version!==void 0}_modernize(t){let e=this._version??t.version??6,n=[t];for(;e<Bt;++e)n=this[`_modernize_${e}_to_${e+1}`].call(this,n);return n}_modernize_0_to_1(t){for(const e of t)e.type==="action"&&typeof e.metadata.error=="string"&&(e.metadata.error={error:{name:"Error",message:e.metadata.error}});return t}_modernize_1_to_2(t){var e;for(const n of t)n.type!=="frame-snapshot"||!n.snapshot.isMainFrame||(n.snapshot.viewport=((e=this._contextEntry.options)==null?void 0:e.viewport)||{width:1280,height:720});return t}_modernize_2_to_3(t){for(const e of t){if(e.type!=="resource-snapshot"||e.snapshot.request)continue;const n=e.snapshot;e.snapshot={_frameref:n.frameId,request:{url:n.url,method:n.method,headers:n.requestHeaders,postData:n.requestSha1?{_sha1:n.requestSha1}:void 0},response:{status:n.status,headers:n.responseHeaders,content:{mimeType:n.contentType,_sha1:n.responseSha1}},_monotonicTime:n.timestamp}}return t}_modernize_3_to_4(t){const e=[];for(const n of t){const r=this._modernize_event_3_to_4(n);r&&e.push(r)}return e}_modernize_event_3_to_4(t){var n,r,i,a;if(t.type!=="action"&&t.type!=="event")return t;const e=t.metadata;return e.internal||e.method.startsWith("tracing")?null:t.type==="event"?e.method==="__create__"&&e.type==="ConsoleMessage"?{type:"object",class:e.type,guid:e.params.guid,initializer:e.params.initializer}:{type:"event",time:e.startTime,class:e.type,method:e.method,params:e.params,pageId:e.pageId}:{type:"action",callId:e.id,startTime:e.startTime,endTime:e.endTime,apiName:e.apiName||e.type+"."+e.method,class:e.type,method:e.method,params:e.params,wallTime:e.wallTime||Date.now(),log:e.log,beforeSnapshot:(n=e.snapshots.find(o=>o.title==="before"))==null?void 0:n.snapshotName,inputSnapshot:(r=e.snapshots.find(o=>o.title==="input"))==null?void 0:r.snapshotName,afterSnapshot:(i=e.snapshots.find(o=>o.title==="after"))==null?void 0:i.snapshotName,error:(a=e.error)==null?void 0:a.error,result:e.result,point:e.point,pageId:e.pageId}}_modernize_4_to_5(t){const e=[];for(const n of t){const r=this._modernize_event_4_to_5(n);r&&e.push(r)}return e}_modernize_event_4_to_5(t){var e,n;if(t.type==="event"&&t.method==="__create__"&&t.class==="JSHandle"&&this._jsHandles.set(t.params.guid,t.params.initializer),t.type==="object"){if(t.class!=="ConsoleMessage")return null;const r=(e=t.initializer.args)==null?void 0:e.map(i=>{if(i.guid){const a=this._jsHandles.get(i.guid);return{preview:(a==null?void 0:a.preview)||"",value:""}}return{preview:i.preview||"",value:i.value||""}});return this._consoleObjects.set(t.guid,{type:t.initializer.type,text:t.initializer.text,location:t.initializer.location,args:r}),null}if(t.type==="event"&&t.method==="console"){const r=this._consoleObjects.get(((n=t.params.message)==null?void 0:n.guid)||"");return r?{type:"console",time:t.time,pageId:t.pageId,messageType:r.type,text:r.text,args:r.args,location:r.location}:null}return t}_modernize_5_to_6(t){const e=[];for(const n of t)if(e.push(n),!(n.type!=="after"||!n.log.length))for(const r of n.log)e.push({type:"log",callId:n.callId,message:r,time:-1});return e}_modernize_6_to_7(t){const e=[];if(!this._processedContextCreatedEvent()&&t[0].type!=="context-options"){const n={type:"context-options",origin:"testRunner",version:6,browserName:"",options:{},platform:"unknown",wallTime:0,monotonicTime:0,sdkLanguage:"javascript",contextId:""};e.push(n)}for(const n of t){if(n.type==="context-options"){e.push({...n,monotonicTime:0,origin:"library",contextId:""});continue}if(n.type==="before"||n.type==="action"){this._contextEntry.wallTime||(this._contextEntry.wallTime=n.wallTime);const r=n,i=n;i.stepId=`${r.apiName}@${r.wallTime}`,e.push(i)}else e.push(n)}return e}_modernize_7_to_8(t){const e=[];for(const n of t)if(n.type==="before"||n.type==="action"){const r=n,i=n;r.apiName&&(i.title=r.apiName,delete i.apiName),i.stepId=r.stepId??r.callId,e.push(i)}else e.push(n);return e}}class gr{constructor(){this.contextEntries=[],this._resourceToContentType=new Map}async load(t,e){var o,l;this._backend=t;const n=[];let r=!1;for(const _ of await this._backend.entryNames()){const d=_.match(/(.+)\.trace$/);d&&n.push(d[1]||""),_.includes("src@")&&(r=!0)}if(!n.length)throw new Error("Cannot find .trace file");this._snapshotStorage=new mr;const i=n.length*3;let a=0;for(const _ of n){const d=br();d.hasSource=r;const m=new wr(d,this._snapshotStorage),y=await this._backend.readText(_+".trace")||"";m.appendTrace(y),e(++a,i);const R=await this._backend.readText(_+".network")||"";if(m.appendTrace(R),e(++a,i),d.actions=m.actions().sort((f,c)=>f.startTime-c.startTime),!t.isLive()){for(const f of d.actions.slice().reverse())if(!f.endTime&&!f.error)for(const c of d.actions)c.parentId===f.callId&&f.endTime<c.endTime&&(f.endTime=c.endTime)}const A=await this._backend.readText(_+".stacks");if(A){const f=nr(JSON.parse(A));for(const c of d.actions)c.stack=c.stack||f.get(c.callId)}e(++a,i);for(const f of d.resources)(o=f.request.postData)!=null&&o._sha1&&this._resourceToContentType.set(f.request.postData._sha1,jt(f.request.postData.mimeType)),(l=f.response.content)!=null&&l._sha1&&this._resourceToContentType.set(f.response.content._sha1,jt(f.response.content.mimeType));this.contextEntries.push(d)}this._snapshotStorage.finalize()}async hasEntry(t){return this._backend.hasEntry(t)}async resourceForSha1(t){const e=await this._backend.readBlob("resources/"+t),n=this._resourceToContentType.get(t);return!e||n===void 0||n==="x-unknown"?e:new Blob([e],{type:n})}storage(){return this._snapshotStorage}}function jt(s){const t=s.match(/^(.*);\s*charset=.*$/);return t?t[1]:s}function br(){return{origin:"testRunner",startTime:Number.MAX_SAFE_INTEGER,wallTime:Number.MAX_SAFE_INTEGER,endTime:0,browserName:"",options:{deviceScaleFactor:1,isMobile:!1,viewport:{width:1280,height:800}},pages:[],resources:[],actions:[],events:[],errors:[],stdio:[],hasSource:!1,contextId:""}}function yr(s,t){const e=new Array(t.length).fill(0);return new Array(t.length).fill(0).map((n,r)=>(i,a)=>{e[r]=i/a*t[r]*1e3,s(e.reduce((o,l)=>o+l,0),1e3)})}const Er=15,v=0,ne=1,xr=2,K=-2,H=-3,Gt=-4,se=-5,X=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Yn=1440,Tr=0,Sr=4,Rr=9,Ar=5,Or=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Ir=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],Cr=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Nr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Dr=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Pr=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ie=15;function ut(){const s=this;let t,e,n,r,i,a;function o(_,d,m,y,R,A,f,c,u,b,g){let w,S,h,T,E,O,x,p,C,I,k,N,P,M,L;I=0,E=m;do n[_[d+I]]++,I++,E--;while(E!==0);if(n[0]==m)return f[0]=-1,c[0]=0,v;for(p=c[0],O=1;O<=ie&&n[O]===0;O++);for(x=O,p<O&&(p=O),E=ie;E!==0&&n[E]===0;E--);for(h=E,p>E&&(p=E),c[0]=p,M=1<<O;O<E;O++,M<<=1)if((M-=n[O])<0)return H;if((M-=n[E])<0)return H;for(n[E]+=M,a[1]=O=0,I=1,P=2;--E!==0;)a[P]=O+=n[I],P++,I++;E=0,I=0;do(O=_[d+I])!==0&&(g[a[O]++]=E),I++;while(++E<m);for(m=a[h],a[0]=E=0,I=0,T=-1,N=-p,i[0]=0,k=0,L=0;x<=h;x++)for(w=n[x];w--!==0;){for(;x>N+p;){if(T++,N+=p,L=h-N,L=L>p?p:L,(S=1<<(O=x-N))>w+1&&(S-=w+1,P=x,O<L))for(;++O<L&&!((S<<=1)<=n[++P]);)S-=n[P];if(L=1<<O,b[0]+L>Yn)return H;i[T]=k=b[0],b[0]+=L,T!==0?(a[T]=E,r[0]=O,r[1]=p,O=E>>>N-p,r[2]=k-i[T-1]-O,u.set(r,(i[T-1]+O)*3)):f[0]=k}for(r[1]=x-N,I>=m?r[0]=192:g[I]<y?(r[0]=g[I]<256?0:96,r[2]=g[I++]):(r[0]=A[g[I]-y]+16+64,r[2]=R[g[I++]-y]),S=1<<x-N,O=E>>>N;O<L;O+=S)u.set(r,(k+O)*3);for(O=1<<x-1;(E&O)!==0;O>>>=1)E^=O;for(E^=O,C=(1<<N)-1;(E&C)!=a[T];)T--,N-=p,C=(1<<N)-1}return M!==0&&h!=1?se:v}function l(_){let d;for(t||(t=[],e=[],n=new Int32Array(ie+1),r=[],i=new Int32Array(ie),a=new Int32Array(ie+1)),e.length<_&&(e=[]),d=0;d<_;d++)e[d]=0;for(d=0;d<ie+1;d++)n[d]=0;for(d=0;d<3;d++)r[d]=0;i.set(n.subarray(0,ie),0),a.set(n.subarray(0,ie+1),0)}s.inflate_trees_bits=function(_,d,m,y,R){let A;return l(19),t[0]=0,A=o(_,0,19,19,null,null,m,d,y,t,e),A==H?R.msg="oversubscribed dynamic bit lengths tree":(A==se||d[0]===0)&&(R.msg="incomplete dynamic bit lengths tree",A=H),A},s.inflate_trees_dynamic=function(_,d,m,y,R,A,f,c,u){let b;return l(288),t[0]=0,b=o(m,0,_,257,Cr,Nr,A,y,c,t,e),b!=v||y[0]===0?(b==H?u.msg="oversubscribed literal/length tree":b!=Gt&&(u.msg="incomplete literal/length tree",b=H),b):(l(288),b=o(m,_,d,0,Dr,Pr,f,R,c,t,e),b!=v||R[0]===0&&_>257?(b==H?u.msg="oversubscribed distance tree":b==se?(u.msg="incomplete distance tree",b=H):b!=Gt&&(u.msg="empty distance tree with lengths",b=H),b):v)}}ut.inflate_trees_fixed=function(s,t,e,n){return s[0]=Rr,t[0]=Ar,e[0]=Or,n[0]=Ir,v};const He=0,Yt=1,qt=2,Vt=3,Zt=4,Kt=5,Xt=6,et=7,$t=8,Be=9;function kr(){const s=this;let t,e=0,n,r=0,i=0,a=0,o=0,l=0,_=0,d=0,m,y=0,R,A=0;function f(c,u,b,g,w,S,h,T){let E,O,x,p,C,I,k,N,P,M,L,V,D,J,F,U;k=T.next_in_index,N=T.avail_in,C=h.bitb,I=h.bitk,P=h.write,M=P<h.read?h.read-P-1:h.end-P,L=X[c],V=X[u];do{for(;I<20;)N--,C|=(T.read_byte(k++)&255)<<I,I+=8;if(E=C&L,O=b,x=g,U=(x+E)*3,(p=O[U])===0){C>>=O[U+1],I-=O[U+1],h.win[P++]=O[U+2],M--;continue}do{if(C>>=O[U+1],I-=O[U+1],(p&16)!==0){for(p&=15,D=O[U+2]+(C&X[p]),C>>=p,I-=p;I<15;)N--,C|=(T.read_byte(k++)&255)<<I,I+=8;E=C&V,O=w,x=S,U=(x+E)*3,p=O[U];do if(C>>=O[U+1],I-=O[U+1],(p&16)!==0){for(p&=15;I<p;)N--,C|=(T.read_byte(k++)&255)<<I,I+=8;if(J=O[U+2]+(C&X[p]),C>>=p,I-=p,M-=D,P>=J)F=P-J,P-F>0&&2>P-F?(h.win[P++]=h.win[F++],h.win[P++]=h.win[F++],D-=2):(h.win.set(h.win.subarray(F,F+2),P),P+=2,F+=2,D-=2);else{F=P-J;do F+=h.end;while(F<0);if(p=h.end-F,D>p){if(D-=p,P-F>0&&p>P-F)do h.win[P++]=h.win[F++];while(--p!==0);else h.win.set(h.win.subarray(F,F+p),P),P+=p,F+=p,p=0;F=0}}if(P-F>0&&D>P-F)do h.win[P++]=h.win[F++];while(--D!==0);else h.win.set(h.win.subarray(F,F+D),P),P+=D,F+=D,D=0;break}else if((p&64)===0)E+=O[U+2],E+=C&X[p],U=(x+E)*3,p=O[U];else return T.msg="invalid distance code",D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,H;while(!0);break}if((p&64)===0){if(E+=O[U+2],E+=C&X[p],U=(x+E)*3,(p=O[U])===0){C>>=O[U+1],I-=O[U+1],h.win[P++]=O[U+2],M--;break}}else return(p&32)!==0?(D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,ne):(T.msg="invalid literal/length code",D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,H)}while(!0)}while(M>=258&&N>=10);return D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,v}s.init=function(c,u,b,g,w,S){t=He,_=c,d=u,m=b,y=g,R=w,A=S,n=null},s.proc=function(c,u,b){let g,w,S,h=0,T=0,E=0,O,x,p,C;for(E=u.next_in_index,O=u.avail_in,h=c.bitb,T=c.bitk,x=c.write,p=x<c.read?c.read-x-1:c.end-x;;)switch(t){case He:if(p>=258&&O>=10&&(c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,b=f(_,d,m,y,R,A,c,u),E=u.next_in_index,O=u.avail_in,h=c.bitb,T=c.bitk,x=c.write,p=x<c.read?c.read-x-1:c.end-x,b!=v)){t=b==ne?et:Be;break}i=_,n=m,r=y,t=Yt;case Yt:for(g=i;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}if(w=(r+(h&X[g]))*3,h>>>=n[w+1],T-=n[w+1],S=n[w],S===0){a=n[w+2],t=Xt;break}if((S&16)!==0){o=S&15,e=n[w+2],t=qt;break}if((S&64)===0){i=S,r=w/3+n[w+2];break}if((S&32)!==0){t=et;break}return t=Be,u.msg="invalid literal/length code",b=H,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);case qt:for(g=o;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}e+=h&X[g],h>>=g,T-=g,i=d,n=R,r=A,t=Vt;case Vt:for(g=i;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}if(w=(r+(h&X[g]))*3,h>>=n[w+1],T-=n[w+1],S=n[w],(S&16)!==0){o=S&15,l=n[w+2],t=Zt;break}if((S&64)===0){i=S,r=w/3+n[w+2];break}return t=Be,u.msg="invalid distance code",b=H,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);case Zt:for(g=o;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}l+=h&X[g],h>>=g,T-=g,t=Kt;case Kt:for(C=x-l;C<0;)C+=c.end;for(;e!==0;){if(p===0&&(x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0&&(c.write=x,b=c.inflate_flush(u,b),x=c.write,p=x<c.read?c.read-x-1:c.end-x,x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0)))return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);c.win[x++]=c.win[C++],p--,C==c.end&&(C=0),e--}t=He;break;case Xt:if(p===0&&(x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0&&(c.write=x,b=c.inflate_flush(u,b),x=c.write,p=x<c.read?c.read-x-1:c.end-x,x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0)))return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);b=v,c.win[x++]=a,p--,t=He;break;case et:if(T>7&&(T-=8,O++,E--),c.write=x,b=c.inflate_flush(u,b),x=c.write,p=x<c.read?c.read-x-1:c.end-x,c.read!=c.write)return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);t=$t;case $t:return b=ne,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);case Be:return b=H,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);default:return b=K,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b)}},s.free=function(){}}const Jt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ge=0,tt=1,Qt=2,zt=3,en=4,tn=5,je=6,Ge=7,nn=8,he=9;function Lr(s,t){const e=this;let n=ge,r=0,i=0,a=0,o;const l=[0],_=[0],d=new kr;let m=0,y=new Int32Array(Yn*3);const R=0,A=new ut;e.bitk=0,e.bitb=0,e.win=new Uint8Array(t),e.end=t,e.read=0,e.write=0,e.reset=function(f,c){c&&(c[0]=R),n==je&&d.free(f),n=ge,e.bitk=0,e.bitb=0,e.read=e.write=0},e.reset(s,null),e.inflate_flush=function(f,c){let u,b,g;return b=f.next_out_index,g=e.read,u=(g<=e.write?e.write:e.end)-g,u>f.avail_out&&(u=f.avail_out),u!==0&&c==se&&(c=v),f.avail_out-=u,f.total_out+=u,f.next_out.set(e.win.subarray(g,g+u),b),b+=u,g+=u,g==e.end&&(g=0,e.write==e.end&&(e.write=0),u=e.write-g,u>f.avail_out&&(u=f.avail_out),u!==0&&c==se&&(c=v),f.avail_out-=u,f.total_out+=u,f.next_out.set(e.win.subarray(g,g+u),b),b+=u,g+=u),f.next_out_index=b,e.read=g,c},e.proc=function(f,c){let u,b,g,w,S,h,T,E;for(w=f.next_in_index,S=f.avail_in,b=e.bitb,g=e.bitk,h=e.write,T=h<e.read?e.read-h-1:e.end-h;;){let O,x,p,C,I,k,N,P;switch(n){case ge:for(;g<3;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}switch(u=b&7,m=u&1,u>>>1){case 0:b>>>=3,g-=3,u=g&7,b>>>=u,g-=u,n=tt;break;case 1:O=[],x=[],p=[[]],C=[[]],ut.inflate_trees_fixed(O,x,p,C),d.init(O[0],x[0],p[0],0,C[0],0),b>>>=3,g-=3,n=je;break;case 2:b>>>=3,g-=3,n=zt;break;case 3:return b>>>=3,g-=3,n=he,f.msg="invalid block type",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c)}break;case tt:for(;g<32;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if((~b>>>16&65535)!=(b&65535))return n=he,f.msg="invalid stored block lengths",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);r=b&65535,b=g=0,n=r!==0?Qt:m!==0?Ge:ge;break;case Qt:if(S===0||T===0&&(h==e.end&&e.read!==0&&(h=0,T=h<e.read?e.read-h-1:e.end-h),T===0&&(e.write=h,c=e.inflate_flush(f,c),h=e.write,T=h<e.read?e.read-h-1:e.end-h,h==e.end&&e.read!==0&&(h=0,T=h<e.read?e.read-h-1:e.end-h),T===0)))return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);if(c=v,u=r,u>S&&(u=S),u>T&&(u=T),e.win.set(f.read_buf(w,u),h),w+=u,S-=u,h+=u,T-=u,(r-=u)!==0)break;n=m!==0?Ge:ge;break;case zt:for(;g<14;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if(i=u=b&16383,(u&31)>29||(u>>5&31)>29)return n=he,f.msg="too many length or distance symbols",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);if(u=258+(u&31)+(u>>5&31),!o||o.length<u)o=[];else for(E=0;E<u;E++)o[E]=0;b>>>=14,g-=14,a=0,n=en;case en:for(;a<4+(i>>>10);){for(;g<3;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}o[Jt[a++]]=b&7,b>>>=3,g-=3}for(;a<19;)o[Jt[a++]]=0;if(l[0]=7,u=A.inflate_trees_bits(o,l,_,y,f),u!=v)return c=u,c==H&&(o=null,n=he),e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);a=0,n=tn;case tn:for(;u=i,!(a>=258+(u&31)+(u>>5&31));){let M,L;for(u=l[0];g<u;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if(u=y[(_[0]+(b&X[u]))*3+1],L=y[(_[0]+(b&X[u]))*3+2],L<16)b>>>=u,g-=u,o[a++]=L;else{for(E=L==18?7:L-14,M=L==18?11:3;g<u+E;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if(b>>>=u,g-=u,M+=b&X[E],b>>>=E,g-=E,E=a,u=i,E+M>258+(u&31)+(u>>5&31)||L==16&&E<1)return o=null,n=he,f.msg="invalid bit length repeat",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);L=L==16?o[E-1]:0;do o[E++]=L;while(--M!==0);a=E}}if(_[0]=-1,I=[],k=[],N=[],P=[],I[0]=9,k[0]=6,u=i,u=A.inflate_trees_dynamic(257+(u&31),1+(u>>5&31),o,I,k,N,P,y,f),u!=v)return u==H&&(o=null,n=he),c=u,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);d.init(I[0],k[0],y,N[0],y,P[0]),n=je;case je:if(e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,(c=d.proc(e,f,c))!=ne)return e.inflate_flush(f,c);if(c=v,d.free(f),w=f.next_in_index,S=f.avail_in,b=e.bitb,g=e.bitk,h=e.write,T=h<e.read?e.read-h-1:e.end-h,m===0){n=ge;break}n=Ge;case Ge:if(e.write=h,c=e.inflate_flush(f,c),h=e.write,T=h<e.read?e.read-h-1:e.end-h,e.read!=e.write)return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);n=nn;case nn:return c=ne,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);case he:return c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);default:return c=K,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c)}}},e.free=function(f){e.reset(f,null),e.win=null,y=null},e.set_dictionary=function(f,c,u){e.win.set(f.subarray(c,c+u),0),e.read=e.write=u},e.sync_point=function(){return n==tt?1:0}}const vr=32,Fr=8,Mr=0,sn=1,rn=2,an=3,on=4,cn=5,nt=6,Se=7,ln=12,ae=13,Ur=[0,0,255,255];function Wr(){const s=this;s.mode=0,s.method=0,s.was=[0],s.need=0,s.marker=0,s.wbits=0;function t(e){return!e||!e.istate?K:(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=Se,e.istate.blocks.reset(e,null),v)}s.inflateEnd=function(e){return s.blocks&&s.blocks.free(e),s.blocks=null,v},s.inflateInit=function(e,n){return e.msg=null,s.blocks=null,n<8||n>15?(s.inflateEnd(e),K):(s.wbits=n,e.istate.blocks=new Lr(e,1<<n),t(e),v)},s.inflate=function(e,n){let r,i;if(!e||!e.istate||!e.next_in)return K;const a=e.istate;for(n=n==Sr?se:v,r=se;;)switch(a.mode){case Mr:if(e.avail_in===0)return r;if(r=n,e.avail_in--,e.total_in++,((a.method=e.read_byte(e.next_in_index++))&15)!=Fr){a.mode=ae,e.msg="unknown compression method",a.marker=5;break}if((a.method>>4)+8>a.wbits){a.mode=ae,e.msg="invalid win size",a.marker=5;break}a.mode=sn;case sn:if(e.avail_in===0)return r;if(r=n,e.avail_in--,e.total_in++,i=e.read_byte(e.next_in_index++)&255,((a.method<<8)+i)%31!==0){a.mode=ae,e.msg="incorrect header check",a.marker=5;break}if((i&vr)===0){a.mode=Se;break}a.mode=rn;case rn:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need=(e.read_byte(e.next_in_index++)&255)<<24&4278190080,a.mode=an;case an:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need+=(e.read_byte(e.next_in_index++)&255)<<16&16711680,a.mode=on;case on:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need+=(e.read_byte(e.next_in_index++)&255)<<8&65280,a.mode=cn;case cn:return e.avail_in===0?r:(r=n,e.avail_in--,e.total_in++,a.need+=e.read_byte(e.next_in_index++)&255,a.mode=nt,xr);case nt:return a.mode=ae,e.msg="need dictionary",a.marker=0,K;case Se:if(r=a.blocks.proc(e,r),r==H){a.mode=ae,a.marker=0;break}if(r==v&&(r=n),r!=ne)return r;r=n,a.blocks.reset(e,a.was),a.mode=ln;case ln:return e.avail_in=0,ne;case ae:return H;default:return K}},s.inflateSetDictionary=function(e,n,r){let i=0,a=r;if(!e||!e.istate||e.istate.mode!=nt)return K;const o=e.istate;return a>=1<<o.wbits&&(a=(1<<o.wbits)-1,i=r-a),o.blocks.set_dictionary(n,i,a),o.mode=Se,v},s.inflateSync=function(e){let n,r,i,a,o;if(!e||!e.istate)return K;const l=e.istate;if(l.mode!=ae&&(l.mode=ae,l.marker=0),(n=e.avail_in)===0)return se;for(r=e.next_in_index,i=l.marker;n!==0&&i<4;)e.read_byte(r)==Ur[i]?i++:e.read_byte(r)!==0?i=0:i=4-i,r++,n--;return e.total_in+=r-e.next_in_index,e.next_in_index=r,e.avail_in=n,l.marker=i,i!=4?H:(a=e.total_in,o=e.total_out,t(e),e.total_in=a,e.total_out=o,l.mode=Se,v)},s.inflateSyncPoint=function(e){return!e||!e.istate||!e.istate.blocks?K:e.istate.blocks.sync_point()}}function qn(){}qn.prototype={inflateInit(s){const t=this;return t.istate=new Wr,s||(s=Er),t.istate.inflateInit(t,s)},inflate(s){const t=this;return t.istate?t.istate.inflate(t,s):K},inflateEnd(){const s=this;if(!s.istate)return K;const t=s.istate.inflateEnd(s);return s.istate=null,t},inflateSync(){const s=this;return s.istate?s.istate.inflateSync(s):K},inflateSetDictionary(s,t){const e=this;return e.istate?e.istate.inflateSetDictionary(e,s,t):K},read_byte(s){return this.next_in[s]},read_buf(s,t){return this.next_in.subarray(s,s+t)}};function Hr(s){const t=this,e=new qn,n=s&&s.chunkSize?Math.floor(s.chunkSize*2):128*1024,r=Tr,i=new Uint8Array(n);let a=!1;e.inflateInit(),e.next_out=i,t.append=function(o,l){const _=[];let d,m,y=0,R=0,A=0;if(o.length!==0){e.next_in_index=0,e.next_in=o,e.avail_in=o.length;do{if(e.next_out_index=0,e.avail_out=n,e.avail_in===0&&!a&&(e.next_in_index=0,a=!0),d=e.inflate(r),a&&d===se){if(e.avail_in!==0)throw new Error("inflating: bad input")}else if(d!==v&&d!==ne)throw new Error("inflating: "+e.msg);if((a||d===ne)&&e.avail_in===o.length)throw new Error("inflating: bad input");e.next_out_index&&(e.next_out_index===n?_.push(new Uint8Array(i)):_.push(i.subarray(0,e.next_out_index))),A+=e.next_out_index,l&&e.next_in_index>0&&e.next_in_index!=y&&(l(e.next_in_index),y=e.next_in_index)}while(e.avail_in>0||e.avail_out===0);return _.length>1?(m=new Uint8Array(A),_.forEach(function(f){m.set(f,R),R+=f.length})):m=_[0]?new Uint8Array(_[0]):new Uint8Array,m}},t.flush=function(){e.inflateEnd()}}const pe=4294967295,le=65535,Br=8,jr=0,Gr=99,Yr=67324752,Vn=134695760,qr=Vn,fn=33639248,Vr=101010256,un=101075792,Zr=117853008,te=22,st=20,rt=56,Kr=12,Xr=20,dn=4,$r=1,Jr=39169,Qr=10,zr=1,ei=21589,ti=28789,ni=25461,si=6534,_n=1,ri=6,hn=8,pn=2048,mn=16,ii=61440,ai=16384,oi=73,wn="/",it=30,ci=10,li=14,fi=18,j=void 0,de="undefined",ke="function";class gn{constructor(t){return class extends TransformStream{constructor(e,n){const r=new t(n);super({transform(i,a){a.enqueue(r.append(i))},flush(i){const a=r.flush();a&&i.enqueue(a)}})}}}}const ui=64;let Zn=2;try{typeof navigator!=de&&navigator.hardwareConcurrency&&(Zn=navigator.hardwareConcurrency)}catch{}const di={chunkSize:512*1024,maxWorkers:Zn,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:j,CompressionStreamNative:typeof CompressionStream!=de&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=de&&DecompressionStream},fe=Object.assign({},di);function Kn(){return fe}function _i(s){return Math.max(s.chunkSize,ui)}function Xn(s){const{baseURL:t,chunkSize:e,maxWorkers:n,terminateWorkerTimeout:r,useCompressionStream:i,useWebWorkers:a,Deflate:o,Inflate:l,CompressionStream:_,DecompressionStream:d,workerScripts:m}=s;if(oe("baseURL",t),oe("chunkSize",e),oe("maxWorkers",n),oe("terminateWorkerTimeout",r),oe("useCompressionStream",i),oe("useWebWorkers",a),o&&(fe.CompressionStream=new gn(o)),l&&(fe.DecompressionStream=new gn(l)),oe("CompressionStream",_),oe("DecompressionStream",d),m!==j){const{deflate:y,inflate:R}=m;if((y||R)&&(fe.workerScripts||(fe.workerScripts={})),y){if(!Array.isArray(y))throw new Error("workerScripts.deflate must be an array");fe.workerScripts.deflate=y}if(R){if(!Array.isArray(R))throw new Error("workerScripts.inflate must be an array");fe.workerScripts.inflate=R}}}function oe(s,t){t!==j&&(fe[s]=t)}function hi(){return"application/octet-stream"}const $n=[];for(let s=0;s<256;s++){let t=s;for(let e=0;e<8;e++)t&1?t=t>>>1^3988292384:t=t>>>1;$n[s]=t}class Ze{constructor(t){this.crc=t||-1}append(t){let e=this.crc|0;for(let n=0,r=t.length|0;n<r;n++)e=e>>>8^$n[(e^t[n])&255];this.crc=e}get(){return~this.crc}}class Jn extends TransformStream{constructor(){let t;const e=new Ze;super({transform(n,r){e.append(n),r.enqueue(n)},flush(){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function pi(s){if(typeof TextEncoder==de){s=unescape(encodeURIComponent(s));const t=new Uint8Array(s.length);for(let e=0;e<t.length;e++)t[e]=s.charCodeAt(e);return t}else return new TextEncoder().encode(s)}const Z={concat(s,t){if(s.length===0||t.length===0)return s.concat(t);const e=s[s.length-1],n=Z.getPartial(e);return n===32?s.concat(t):Z._shiftRight(t,n,e|0,s.slice(0,s.length-1))},bitLength(s){const t=s.length;if(t===0)return 0;const e=s[t-1];return(t-1)*32+Z.getPartial(e)},clamp(s,t){if(s.length*32<t)return s;s=s.slice(0,Math.ceil(t/32));const e=s.length;return t=t&31,e>0&&t&&(s[e-1]=Z.partial(t,s[e-1]&2147483648>>t-1,1)),s},partial(s,t,e){return s===32?t:(e?t|0:t<<32-s)+s*1099511627776},getPartial(s){return Math.round(s/1099511627776)||32},_shiftRight(s,t,e,n){for(n===void 0&&(n=[]);t>=32;t-=32)n.push(e),e=0;if(t===0)return n.concat(s);for(let a=0;a<s.length;a++)n.push(e|s[a]>>>t),e=s[a]<<32-t;const r=s.length?s[s.length-1]:0,i=Z.getPartial(r);return n.push(Z.partial(t+i&31,t+i>32?e:n.pop(),1)),n}},Ke={bytes:{fromBits(s){const e=Z.bitLength(s)/8,n=new Uint8Array(e);let r;for(let i=0;i<e;i++)(i&3)===0&&(r=s[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(s){const t=[];let e,n=0;for(e=0;e<s.length;e++)n=n<<8|s[e],(e&3)===3&&(t.push(n),n=0);return e&3&&t.push(Z.partial(8*(e&3),n)),t}}},Qn={};Qn.sha1=class{constructor(s){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],s?(t._h=s._h.slice(0),t._buffer=s._buffer.slice(0),t._length=s._length):t.reset()}reset(){const s=this;return s._h=s._init.slice(0),s._buffer=[],s._length=0,s}update(s){const t=this;typeof s=="string"&&(s=Ke.utf8String.toBits(s));const e=t._buffer=Z.concat(t._buffer,s),n=t._length,r=t._length=n+Z.bitLength(s);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const i=new Uint32Array(e);let a=0;for(let o=t.blockSize+n-(t.blockSize+n&t.blockSize-1);o<=r;o+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return e.splice(0,16*a),t}finalize(){const s=this;let t=s._buffer;const e=s._h;t=Z.concat(t,[Z.partial(1,1)]);for(let n=t.length+2;n&15;n++)t.push(0);for(t.push(Math.floor(s._length/4294967296)),t.push(s._length|0);t.length;)s._block(t.splice(0,16));return s.reset(),e}_f(s,t,e,n){if(s<=19)return t&e|~t&n;if(s<=39)return t^e^n;if(s<=59)return t&e|t&n|e&n;if(s<=79)return t^e^n}_S(s,t){return t<<s|t>>>32-s}_block(s){const t=this,e=t._h,n=Array(80);for(let _=0;_<16;_++)n[_]=s[_];let r=e[0],i=e[1],a=e[2],o=e[3],l=e[4];for(let _=0;_<=79;_++){_>=16&&(n[_]=t._S(1,n[_-3]^n[_-8]^n[_-14]^n[_-16]));const d=t._S(5,r)+t._f(_,i,a,o)+l+n[_]+t._key[Math.floor(_/20)]|0;l=o,o=a,a=t._S(30,i),i=r,r=d}e[0]=e[0]+r|0,e[1]=e[1]+i|0,e[2]=e[2]+a|0,e[3]=e[3]+o|0,e[4]=e[4]+l|0}};const zn={};zn.aes=class{constructor(s){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const e=t._tables[0][4],n=t._tables[1],r=s.length;let i,a,o,l=1;if(r!==4&&r!==6&&r!==8)throw new Error("invalid aes key size");for(t._key=[a=s.slice(0),o=[]],i=r;i<4*r+28;i++){let _=a[i-1];(i%r===0||r===8&&i%r===4)&&(_=e[_>>>24]<<24^e[_>>16&255]<<16^e[_>>8&255]<<8^e[_&255],i%r===0&&(_=_<<8^_>>>24^l<<24,l=l<<1^(l>>7)*283)),a[i]=a[i-r]^_}for(let _=0;i;_++,i--){const d=a[_&3?i:i-4];i<=4||_<4?o[_]=d:o[_]=n[0][e[d>>>24]]^n[1][e[d>>16&255]]^n[2][e[d>>8&255]]^n[3][e[d&255]]}}encrypt(s){return this._crypt(s,0)}decrypt(s){return this._crypt(s,1)}_precompute(){const s=this._tables[0],t=this._tables[1],e=s[4],n=t[4],r=[],i=[];let a,o,l,_;for(let d=0;d<256;d++)i[(r[d]=d<<1^(d>>7)*283)^d]=d;for(let d=a=0;!e[d];d^=o||1,a=i[a]||1){let m=a^a<<1^a<<2^a<<3^a<<4;m=m>>8^m&255^99,e[d]=m,n[m]=d,_=r[l=r[o=r[d]]];let y=_*16843009^l*65537^o*257^d*16843008,R=r[m]*257^m*16843008;for(let A=0;A<4;A++)s[A][d]=R=R<<24^R>>>8,t[A][m]=y=y<<24^y>>>8}for(let d=0;d<5;d++)s[d]=s[d].slice(0),t[d]=t[d].slice(0)}_crypt(s,t){if(s.length!==4)throw new Error("invalid aes block size");const e=this._key[t],n=e.length/4-2,r=[0,0,0,0],i=this._tables[t],a=i[0],o=i[1],l=i[2],_=i[3],d=i[4];let m=s[0]^e[0],y=s[t?3:1]^e[1],R=s[2]^e[2],A=s[t?1:3]^e[3],f=4,c,u,b;for(let g=0;g<n;g++)c=a[m>>>24]^o[y>>16&255]^l[R>>8&255]^_[A&255]^e[f],u=a[y>>>24]^o[R>>16&255]^l[A>>8&255]^_[m&255]^e[f+1],b=a[R>>>24]^o[A>>16&255]^l[m>>8&255]^_[y&255]^e[f+2],A=a[A>>>24]^o[m>>16&255]^l[y>>8&255]^_[R&255]^e[f+3],f+=4,m=c,y=u,R=b;for(let g=0;g<4;g++)r[t?3&-g:g]=d[m>>>24]<<24^d[y>>16&255]<<16^d[R>>8&255]<<8^d[A&255]^e[f++],c=m,m=y,y=R,R=A,A=c;return r}};const mi={getRandomValues(s){const t=new Uint32Array(s.buffer),e=n=>{let r=987654321;const i=4294967295;return function(){return r=36969*(r&65535)+(r>>16)&i,n=18e3*(n&65535)+(n>>16)&i,(((r<<16)+n&i)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let n=0,r;n<s.length;n+=4){const i=e((r||Math.random())*4294967296);r=i()*987654071,t[n/4]=i()*4294967296|0}return s}},es={};es.ctrGladman=class{constructor(s,t){this._prf=s,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(s){return this.calculate(this._prf,s,this._iv)}incWord(s){if((s>>24&255)===255){let t=s>>16&255,e=s>>8&255,n=s&255;t===255?(t=0,e===255?(e=0,n===255?n=0:++n):++e):++t,s=0,s+=t<<16,s+=e<<8,s+=n}else s+=1<<24;return s}incCounter(s){(s[0]=this.incWord(s[0]))===0&&(s[1]=this.incWord(s[1]))}calculate(s,t,e){let n;if(!(n=t.length))return[];const r=Z.bitLength(t);for(let i=0;i<n;i+=4){this.incCounter(e);const a=s.encrypt(e);t[i]^=a[0],t[i+1]^=a[1],t[i+2]^=a[2],t[i+3]^=a[3]}return Z.clamp(t,r)}};const me={importKey(s){return new me.hmacSha1(Ke.bytes.toBits(s))},pbkdf2(s,t,e,n){if(e=e||1e4,n<0||e<0)throw new Error("invalid params to pbkdf2");const r=(n>>5)+1<<2;let i,a,o,l,_;const d=new ArrayBuffer(r),m=new DataView(d);let y=0;const R=Z;for(t=Ke.bytes.toBits(t),_=1;y<(r||1);_++){for(i=a=s.encrypt(R.concat(t,[_])),o=1;o<e;o++)for(a=s.encrypt(a),l=0;l<a.length;l++)i[l]^=a[l];for(o=0;y<(r||1)&&o<i.length;o++)m.setInt32(y,i[o]),y+=4}return d.slice(0,n/8)}};me.hmacSha1=class{constructor(s){const t=this,e=t._hash=Qn.sha1,n=[[],[]];t._baseHash=[new e,new e];const r=t._baseHash[0].blockSize/32;s.length>r&&(s=new e().update(s).finalize());for(let i=0;i<r;i++)n[0][i]=s[i]^909522486,n[1][i]=s[i]^1549556828;t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new e(t._baseHash[0])}reset(){const s=this;s._resultHash=new s._hash(s._baseHash[0]),s._updated=!1}update(s){const t=this;t._updated=!0,t._resultHash.update(s)}digest(){const s=this,t=s._resultHash.finalize(),e=new s._hash(s._baseHash[1]).update(t).finalize();return s.reset(),e}encrypt(s){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(s),this.digest(s)}};const wi=typeof crypto!=de&&typeof crypto.getRandomValues==ke,Et="Invalid password",xt="Invalid signature",Tt="zipjs-abort-check-password";function ts(s){return wi?crypto.getRandomValues(s):mi.getRandomValues(s)}const be=16,gi="raw",ns={name:"PBKDF2"},bi={name:"HMAC"},yi="SHA-1",Ei=Object.assign({hash:bi},ns),dt=Object.assign({iterations:1e3,hash:{name:yi}},ns),xi=["deriveBits"],Ie=[8,12,16],Re=[16,24,32],ce=10,Ti=[0,0,0,0],Je=typeof crypto!=de,Le=Je&&crypto.subtle,ss=Je&&typeof Le!=de,z=Ke.bytes,Si=zn.aes,Ri=es.ctrGladman,Ai=me.hmacSha1;let bn=Je&&ss&&typeof Le.importKey==ke,yn=Je&&ss&&typeof Le.deriveBits==ke;class Oi extends TransformStream{constructor({password:t,rawPassword:e,signed:n,encryptionStrength:r,checkPasswordOnly:i}){super({start(){Object.assign(this,{ready:new Promise(a=>this.resolveReady=a),password:as(t,e),signed:n,strength:r-1,pending:new Uint8Array})},async transform(a,o){const l=this,{password:_,strength:d,resolveReady:m,ready:y}=l;_?(await Ci(l,d,_,$(a,0,Ie[d]+2)),a=$(a,Ie[d]+2),i?o.error(new Error(Tt)):m()):await y;const R=new Uint8Array(a.length-ce-(a.length-ce)%be);o.enqueue(rs(l,a,R,0,ce,!0))},async flush(a){const{signed:o,ctr:l,hmac:_,pending:d,ready:m}=this;if(_&&l){await m;const y=$(d,0,d.length-ce),R=$(d,d.length-ce);let A=new Uint8Array;if(y.length){const f=Ne(z,y);_.update(f);const c=l.update(f);A=Ce(z,c)}if(o){const f=$(Ce(z,_.digest()),0,ce);for(let c=0;c<ce;c++)if(f[c]!=R[c])throw new Error(xt)}a.enqueue(A)}}})}}class Ii extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n}){let r;super({start(){Object.assign(this,{ready:new Promise(i=>this.resolveReady=i),password:as(t,e),strength:n-1,pending:new Uint8Array})},async transform(i,a){const o=this,{password:l,strength:_,resolveReady:d,ready:m}=o;let y=new Uint8Array;l?(y=await Ni(o,_,l),d()):await m;const R=new Uint8Array(y.length+i.length-i.length%be);R.set(y,0),a.enqueue(rs(o,i,R,y.length,0))},async flush(i){const{ctr:a,hmac:o,pending:l,ready:_}=this;if(o&&a){await _;let d=new Uint8Array;if(l.length){const m=a.update(Ne(z,l));o.update(m),d=Ce(z,m)}r.signature=Ce(z,o.digest()).slice(0,ce),i.enqueue(St(d,r.signature))}}}),r=this}}function rs(s,t,e,n,r,i){const{ctr:a,hmac:o,pending:l}=s,_=t.length-r;l.length&&(t=St(l,t),e=ki(e,_-_%be));let d;for(d=0;d<=_-be;d+=be){const m=Ne(z,$(t,d,d+be));i&&o.update(m);const y=a.update(m);i||o.update(y),e.set(Ce(z,y),d+n)}return s.pending=$(t,d),e}async function Ci(s,t,e,n){const r=await is(s,t,e,$(n,0,Ie[t])),i=$(n,Ie[t]);if(r[0]!=i[0]||r[1]!=i[1])throw new Error(Et)}async function Ni(s,t,e){const n=ts(new Uint8Array(Ie[t])),r=await is(s,t,e,n);return St(n,r)}async function is(s,t,e,n){s.password=null;const r=await Di(gi,e,Ei,!1,xi),i=await Pi(Object.assign({salt:n},dt),r,8*(Re[t]*2+2)),a=new Uint8Array(i),o=Ne(z,$(a,0,Re[t])),l=Ne(z,$(a,Re[t],Re[t]*2)),_=$(a,Re[t]*2);return Object.assign(s,{keys:{key:o,authentication:l,passwordVerification:_},ctr:new Ri(new Si(o),Array.from(Ti)),hmac:new Ai(l)}),_}async function Di(s,t,e,n,r){if(bn)try{return await Le.importKey(s,t,e,n,r)}catch{return bn=!1,me.importKey(t)}else return me.importKey(t)}async function Pi(s,t,e){if(yn)try{return await Le.deriveBits(s,t,e)}catch{return yn=!1,me.pbkdf2(t,s.salt,dt.iterations,e)}else return me.pbkdf2(t,s.salt,dt.iterations,e)}function as(s,t){return t===j?pi(s):t}function St(s,t){let e=s;return s.length+t.length&&(e=new Uint8Array(s.length+t.length),e.set(s,0),e.set(t,s.length)),e}function ki(s,t){if(t&&t>s.length){const e=s;s=new Uint8Array(t),s.set(e,0)}return s}function $(s,t,e){return s.subarray(t,e)}function Ce(s,t){return s.fromBits(t)}function Ne(s,t){return s.toBits(t)}const Oe=12;class Li extends TransformStream{constructor({password:t,passwordVerification:e,checkPasswordOnly:n}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),os(this,t)},transform(r,i){const a=this;if(a.password){const o=En(a,r.subarray(0,Oe));if(a.password=null,o.at(-1)!=a.passwordVerification)throw new Error(Et);r=r.subarray(Oe)}n?i.error(new Error(Tt)):i.enqueue(En(a,r))}})}}class vi extends TransformStream{constructor({password:t,passwordVerification:e}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),os(this,t)},transform(n,r){const i=this;let a,o;if(i.password){i.password=null;const l=ts(new Uint8Array(Oe));l[Oe-1]=i.passwordVerification,a=new Uint8Array(n.length+l.length),a.set(xn(i,l),0),o=Oe}else a=new Uint8Array(n.length),o=0;a.set(xn(i,n),o),r.enqueue(a)}})}}function En(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=cs(s)^t[n],Rt(s,e[n]);return e}function xn(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=cs(s)^t[n],Rt(s,t[n]);return e}function os(s,t){const e=[305419896,591751049,878082192];Object.assign(s,{keys:e,crcKey0:new Ze(e[0]),crcKey2:new Ze(e[2])});for(let n=0;n<t.length;n++)Rt(s,t.charCodeAt(n))}function Rt(s,t){let[e,n,r]=s.keys;s.crcKey0.append([t]),e=~s.crcKey0.get(),n=Tn(Math.imul(Tn(n+ls(e)),134775813)+1),s.crcKey2.append([n>>>24]),r=~s.crcKey2.get(),s.keys=[e,n,r]}function cs(s){const t=s.keys[2]|2;return ls(Math.imul(t,t^1)>>>8)}function ls(s){return s&255}function Tn(s){return s&4294967295}const At="Invalid uncompressed size",Sn="deflate-raw";class Fi extends TransformStream{constructor(t,{chunkSize:e,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:l,signed:_,level:d}=t,m=this;let y,R,A=super.readable;(!a||l)&&_&&(y=new Jn,A=re(A,y)),i&&(A=us(A,o,{level:d,chunkSize:e},r,n)),a&&(l?A=re(A,new vi(t)):(R=new Ii(t),A=re(A,R))),fs(m,A,()=>{let f;a&&!l&&(f=R.signature),(!a||l)&&_&&(f=new DataView(y.value.buffer).getUint32(0)),m.signature=f})}}class Mi extends TransformStream{constructor(t,{chunkSize:e,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:a,signed:o,signature:l,compressed:_,useCompressionStream:d}=t;let m,y,R=super.readable;a&&(i?R=re(R,new Li(t)):(y=new Oi(t),R=re(R,y))),_&&(R=us(R,d,{chunkSize:e},r,n)),(!a||i)&&o&&(m=new Jn,R=re(R,m)),fs(this,R,()=>{if((!a||i)&&o){const A=new DataView(m.value.buffer);if(l!=A.getUint32(0,!1))throw new Error(xt)}})}}function fs(s,t,e){t=re(t,new TransformStream({flush:e})),Object.defineProperty(s,"readable",{get(){return t}})}function us(s,t,e,n,r){try{const i=t&&n?n:r;s=re(s,new i(Sn,e))}catch(i){if(t)s=re(s,new r(Sn,e));else throw i}return s}function re(s,t){return s.pipeThrough(t)}const Ui="message",Wi="start",Hi="pull",Rn="data",Bi="ack",An="close",ji="deflate",ds="inflate";class Gi extends TransformStream{constructor(t,e){super({});const n=this,{codecType:r}=t;let i;r.startsWith(ji)?i=Fi:r.startsWith(ds)&&(i=Mi),n.outputSize=0;let a=0;const o=new i(t,e),l=super.readable,_=new TransformStream({transform(m,y){m&&m.length&&(a+=m.length,y.enqueue(m))},flush(){Object.assign(n,{inputSize:a})}}),d=new TransformStream({transform(m,y){if(m&&m.length&&(y.enqueue(m),n.outputSize+=m.length,t.outputSize&&n.outputSize>t.outputSize))throw new Error(At)},flush(){const{signature:m}=o;Object.assign(n,{signature:m,inputSize:a})}});Object.defineProperty(n,"readable",{get(){return l.pipeThrough(_).pipeThrough(o).pipeThrough(d)}})}}class Yi extends TransformStream{constructor(t){let e;super({transform:n,flush(r){e&&e.length&&r.enqueue(e)}});function n(r,i){if(e){const a=new Uint8Array(e.length+r.length);a.set(e),a.set(r,e.length),r=a,e=null}r.length>t?(i.enqueue(r.slice(0,t)),n(r.slice(t),i)):e=r}}}let _s=typeof Worker!=de;class at{constructor(t,{readable:e,writable:n},{options:r,config:i,streamOptions:a,useWebWorkers:o,transferStreams:l,scripts:_},d){const{signal:m}=a;return Object.assign(t,{busy:!0,readable:e.pipeThrough(new Yi(i.chunkSize)).pipeThrough(new qi(a),{signal:m}),writable:n,options:Object.assign({},r),scripts:_,transferStreams:l,terminate(){return new Promise(y=>{const{worker:R,busy:A}=t;R?(A?t.resolveTerminated=y:(R.terminate(),y()),t.interface=null):y()})},onTaskFinished(){const{resolveTerminated:y}=t;y&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),y()),t.busy=!1,d(t)}}),(o&&_s?Vi:hs)(t,i)}}class qi extends TransformStream{constructor({onstart:t,onprogress:e,size:n,onend:r}){let i=0;super({async start(){t&&await ot(t,n)},async transform(a,o){i+=a.length,e&&await ot(e,i,n),o.enqueue(a)},async flush(){r&&await ot(r,i)}})}}async function ot(s,...t){try{await s(...t)}catch{}}function hs(s,t){return{run:()=>Zi(s,t)}}function Vi(s,t){const{baseURL:e,chunkSize:n}=t;if(!s.interface){let r;try{r=$i(s.scripts[0],e,s)}catch{return _s=!1,hs(s,t)}Object.assign(s,{worker:r,interface:{run:()=>Ki(s,{chunkSize:n})}})}return s.interface}async function Zi({options:s,readable:t,writable:e,onTaskFinished:n},r){let i;try{i=new Gi(s,r),await t.pipeThrough(i).pipeTo(e,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:o,outputSize:l}=i;return{signature:a,inputSize:o,outputSize:l}}catch(a){throw i&&(a.outputSize=i.outputSize),a}finally{n()}}async function Ki(s,t){let e,n;const r=new Promise((y,R)=>{e=y,n=R});Object.assign(s,{reader:null,writer:null,resolveResult:e,rejectResult:n,result:r});const{readable:i,options:a,scripts:o}=s,{writable:l,closed:_}=Xi(s.writable),d=Ye({type:Wi,scripts:o.slice(1),options:a,config:t,readable:i,writable:l},s);d||Object.assign(s,{reader:i.getReader(),writer:l.getWriter()});const m=await r;return d||await l.getWriter().close(),await _,m}function Xi(s){let t;const e=new Promise(r=>t=r);return{writable:new WritableStream({async write(r){const i=s.getWriter();await i.ready,await i.write(r),i.releaseLock()},close(){t()},abort(r){return s.getWriter().abort(r)}}),closed:e}}let On=!0,In=!0;function $i(s,t,e){const n={type:"module"};let r,i;typeof s==ke&&(s=s());try{r=new URL(s,t)}catch{r=s}if(On)try{i=new Worker(r)}catch{On=!1,i=new Worker(r,n)}else i=new Worker(r,n);return i.addEventListener(Ui,a=>Ji(a,e)),i}function Ye(s,{worker:t,writer:e,onTaskFinished:n,transferStreams:r}){try{const{value:i,readable:a,writable:o}=s,l=[];if(i&&(i.byteLength<i.buffer.byteLength?s.value=i.buffer.slice(0,i.byteLength):s.value=i.buffer,l.push(s.value)),r&&In?(a&&l.push(a),o&&l.push(o)):s.readable=s.writable=null,l.length)try{return t.postMessage(s,l),!0}catch{In=!1,s.readable=s.writable=null,t.postMessage(s)}else t.postMessage(s)}catch(i){throw e&&e.releaseLock(),n(),i}}async function Ji({data:s},t){const{type:e,value:n,messageId:r,result:i,error:a}=s,{reader:o,writer:l,resolveResult:_,rejectResult:d,onTaskFinished:m}=t;try{if(a){const{message:R,stack:A,code:f,name:c,outputSize:u}=a,b=new Error(R);Object.assign(b,{stack:A,code:f,name:c,outputSize:u}),y(b)}else{if(e==Hi){const{value:R,done:A}=await o.read();Ye({type:Rn,value:R,done:A,messageId:r},t)}e==Rn&&(await l.ready,await l.write(new Uint8Array(n)),Ye({type:Bi,messageId:r},t)),e==An&&y(null,i)}}catch(R){Ye({type:An,messageId:r},t),y(R)}function y(R,A){R?d(R):_(A),l&&l.releaseLock(),m()}}let ue=[];const ct=[];let Cn=0;async function Qi(s,t){const{options:e,config:n}=t,{transferStreams:r,useWebWorkers:i,useCompressionStream:a,codecType:o,compressed:l,signed:_,encrypted:d}=e,{workerScripts:m,maxWorkers:y}=n;t.transferStreams=r||r===j;const R=!l&&!_&&!d&&!t.transferStreams;return t.useWebWorkers=!R&&(i||i===j&&n.useWebWorkers),t.scripts=t.useWebWorkers&&m?m[o]:[],e.useCompressionStream=a||a===j&&n.useCompressionStream,(await A()).run();async function A(){const c=ue.find(u=>!u.busy);if(c)return _t(c),new at(c,s,t,f);if(ue.length<y){const u={indexWorker:Cn};return Cn++,ue.push(u),new at(u,s,t,f)}else return new Promise(u=>ct.push({resolve:u,stream:s,workerOptions:t}))}function f(c){if(ct.length){const[{resolve:u,stream:b,workerOptions:g}]=ct.splice(0,1);u(new at(c,b,g,f))}else c.worker?(_t(c),zi(c,t)):ue=ue.filter(u=>u!=c)}}function zi(s,t){const{config:e}=t,{terminateWorkerTimeout:n}=e;Number.isFinite(n)&&n>=0&&(s.terminated?s.terminated=!1:s.terminateTimeout=setTimeout(async()=>{ue=ue.filter(r=>r!=s);try{await s.terminate()}catch{}},n))}function _t(s){const{terminateTimeout:t}=s;t&&(clearTimeout(t),s.terminateTimeout=null)}async function ea(){await Promise.allSettled(ue.map(s=>(_t(s),s.terminate())))}const ps="HTTP error ",ve="HTTP Range not supported",ms="Writer iterator completed too soon",ws="Writer not initialized",ta="text/plain",na="Content-Length",sa="Content-Range",ra="Accept-Ranges",ia="Range",aa="Content-Type",oa="HEAD",Ot="GET",gs="bytes",ca=64*1024,It="writable";class Qe{constructor(){this.size=0}init(){this.initialized=!0}}class _e extends Qe{get readable(){const t=this,{chunkSize:e=ca}=t,n=new ReadableStream({start(){this.chunkOffset=0},async pull(r){const{offset:i=0,size:a,diskNumberStart:o}=n,{chunkOffset:l}=this,_=a===j?e:Math.min(e,a-l),d=await G(t,i+l,_,o);r.enqueue(d),l+e>a||a===j&&!d.length&&_?r.close():this.chunkOffset+=e}});return n}}class Ct extends Qe{constructor(){super();const t=this,e=new WritableStream({write(n){if(!t.initialized)throw new Error(ws);return t.writeUint8Array(n)}});Object.defineProperty(t,It,{get(){return e}})}writeUint8Array(){}}class la extends _e{constructor(t){super();let e=t.length;for(;t.charAt(e-1)=="=";)e--;const n=t.indexOf(",")+1;Object.assign(this,{dataURI:t,dataStart:n,size:Math.floor((e-n)*.75)})}readUint8Array(t,e){const{dataStart:n,dataURI:r}=this,i=new Uint8Array(e),a=Math.floor(t/3)*4,o=atob(r.substring(a+n,Math.ceil((t+e)/3)*4+n)),l=t-Math.floor(a/4)*3;let _=0;for(let d=l;d<l+e&&d<o.length;d++)i[d-l]=o.charCodeAt(d),_++;return _<i.length?i.subarray(0,_):i}}class fa extends Ct{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let n=0,r=e.pending;const i=e.pending.length;for(e.pending="",n=0;n<Math.floor((i+t.length)/3)*3-i;n++)r+=String.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=String.fromCharCode(t[n]);r.length&&(r.length>2?e.data+=btoa(r):e.pending+=r)}getData(){return this.data+btoa(this.pending)}}class Nt extends _e{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,e){const n=this,r=t+e;let a=await(t||r<n.size?n.blob.slice(t,r):n.blob).arrayBuffer();return a.byteLength>e&&(a=a.slice(t,r)),new Uint8Array(a)}}class bs extends Qe{constructor(t){super();const e=this,n=new TransformStream,r=[];t&&r.push([aa,t]),Object.defineProperty(e,It,{get(){return n.writable}}),e.blob=new Response(n.readable,{headers:r}).blob()}getData(){return this.blob}}class ua extends Nt{constructor(t){super(new Blob([t],{type:ta}))}}class da extends bs{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){const{encoding:t,utf8:e}=this,n=await super.getData();if(n.text&&e)return n.text();{const r=new FileReader;return new Promise((i,a)=>{Object.assign(r,{onload:({target:o})=>i(o.result),onerror:()=>a(r.error)}),r.readAsText(n,t)})}}}class _a extends _e{constructor(t,e){super(),ys(this,t,e)}async init(){await Es(this,ht,Nn),super.init()}readUint8Array(t,e){return xs(this,t,e,ht,Nn)}}class ha extends _e{constructor(t,e){super(),ys(this,t,e)}async init(){await Es(this,pt,Dn),super.init()}readUint8Array(t,e){return xs(this,t,e,pt,Dn)}}function ys(s,t,e){const{preventHeadRequest:n,useRangeHeader:r,forceRangeRequests:i,combineSizeEocd:a}=e;e=Object.assign({},e),delete e.preventHeadRequest,delete e.useRangeHeader,delete e.forceRangeRequests,delete e.combineSizeEocd,delete e.useXHR,Object.assign(s,{url:t,options:e,preventHeadRequest:n,useRangeHeader:r,forceRangeRequests:i,combineSizeEocd:a})}async function Es(s,t,e){const{url:n,preventHeadRequest:r,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=s;if(ga(n)&&(i||a)&&(typeof r>"u"||r)){const l=await t(Ot,s,Ts(s,o?-te:void 0));if(!a&&l.headers.get(ra)!=gs)throw new Error(ve);{o&&(s.eocdCache=new Uint8Array(await l.arrayBuffer()));let _;const d=l.headers.get(sa);if(d){const m=d.trim().split(/\s*\/\s*/);if(m.length){const y=m[1];y&&y!="*"&&(_=Number(y))}}_===j?await Pn(s,t,e):s.size=_}}else await Pn(s,t,e)}async function xs(s,t,e,n,r){const{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:l,options:_}=s;if(i||a){if(o&&t==l-te&&e==te)return o;if(t>=l)return new Uint8Array;{t+e>l&&(e=l-t);const d=await n(Ot,s,Ts(s,t,e));if(d.status!=206)throw new Error(ve);return new Uint8Array(await d.arrayBuffer())}}else{const{data:d}=s;return d||await r(s,_),new Uint8Array(s.data.subarray(t,t+e))}}function Ts(s,t=0,e=1){return Object.assign({},Dt(s),{[ia]:gs+"="+(t<0?t:t+"-"+(t+e-1))})}function Dt({options:s}){const{headers:t}=s;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function Nn(s){await Ss(s,ht)}async function Dn(s){await Ss(s,pt)}async function Ss(s,t){const e=await t(Ot,s,Dt(s));s.data=new Uint8Array(await e.arrayBuffer()),s.size||(s.size=s.data.length)}async function Pn(s,t,e){if(s.preventHeadRequest)await e(s,s.options);else{const r=(await t(oa,s,Dt(s))).headers.get(na);r?s.size=Number(r):await e(s,s.options)}}async function ht(s,{options:t,url:e},n){const r=await fetch(e,Object.assign({},t,{method:s,headers:n}));if(r.status<400)return r;throw r.status==416?new Error(ve):new Error(ps+(r.statusText||r.status))}function pt(s,{url:t},e){return new Promise((n,r)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const a=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{const l=o.trim().split(/\s*:\s*/);l[0]=l[0].trim().replace(/^[a-z]|-[a-z]/g,_=>_.toUpperCase()),a.push(l)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new Map(a)})}else r(i.status==416?new Error(ve):new Error(ps+(i.statusText||i.status)))},!1),i.addEventListener("error",a=>r(a.detail?a.detail.error:new Error("Network error")),!1),i.open(s,t),e)for(const a of Object.entries(e))i.setRequestHeader(a[0],a[1]);i.responseType="arraybuffer",i.send()})}class Rs extends _e{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR?new ha(t,e):new _a(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class pa extends Rs{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}}class ma extends _e{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class wa extends Ct{init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t)}),super.init()}writeUint8Array(t){const e=this;if(e.offset+t.length>e.array.length){const n=e.array;e.array=new Uint8Array(n.length+t.length),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.array}}class Pt extends _e{constructor(t){super(),this.readers=t}async init(){const t=this,{readers:e}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(e.map(async(n,r)=>{await n.init(),r!=e.length-1&&(t.lastDiskOffset+=n.size),t.size+=n.size})),super.init()}async readUint8Array(t,e,n=0){const r=this,{readers:i}=this;let a,o=n;o==-1&&(o=i.length-1);let l=t;for(;i[o]&&l>=i[o].size;)l-=i[o].size,o++;const _=i[o];if(_){const d=_.size;if(l+e<=d)a=await G(_,l,e);else{const m=d-l;a=new Uint8Array(e);const y=await G(_,l,m);a.set(y,0);const R=await r.readUint8Array(t+m,e-m,n);a.set(R,m),y.length+R.length<e&&(a=a.subarray(0,y.length+R.length))}}else a=new Uint8Array;return r.lastDiskNumber=Math.max(o,r.lastDiskNumber),a}}class Xe extends Qe{constructor(t,e=4294967295){super();const n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});let r,i,a;const o=new WritableStream({async write(d){const{availableSize:m}=n;if(a)d.length>=m?(await l(d.subarray(0,m)),await _(),n.diskOffset+=r.size,n.diskNumber++,a=null,await this.write(d.subarray(m))):await l(d);else{const{value:y,done:R}=await t.next();if(R&&!y)throw new Error(ms);r=y,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await De(r),i=y.writable,a=i.getWriter(),await this.write(d)}},async close(){await a.ready,await _()}});Object.defineProperty(n,It,{get(){return o}});async function l(d){const m=d.length;m&&(await a.ready,await a.write(d),r.size+=m,n.size+=m,n.availableSize-=m)}async function _(){await a.close()}}}class As{constructor(t){return Array.isArray(t)&&(t=new Pt(t)),t instanceof ReadableStream&&(t={readable:t}),t}}class Os{constructor(t){return t.writable===j&&typeof t.next==ke&&(t=new Xe(t)),t instanceof WritableStream&&(t={writable:t}),t.size===j&&(t.size=0),t instanceof Xe||Object.assign(t,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),t}}function ga(s){const{baseURL:t}=Kn(),{protocol:e}=new URL(s,t);return e=="http:"||e=="https:"}async function De(s,t){if(s.init&&!s.initialized)await s.init(t);else return Promise.resolve()}function G(s,t,e,n){return s.readUint8Array(t,e,n)}const ba=Pt,ya=Xe,Is="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Ea=Is.length==256;function xa(s){if(Ea){let t="";for(let e=0;e<s.length;e++)t+=Is[s[e]];return t}else return new TextDecoder().decode(s)}function qe(s,t){return t&&t.trim().toLowerCase()=="cp437"?xa(s):new TextDecoder(t).decode(s)}const Cs="filename",Ns="rawFilename",Ds="comment",Ps="rawComment",ks="uncompressedSize",Ls="compressedSize",vs="offset",mt="diskNumberStart",wt="lastModDate",gt="rawLastModDate",Fs="lastAccessDate",Ta="rawLastAccessDate",Ms="creationDate",Sa="rawCreationDate",Ra="internalFileAttribute",Aa="internalFileAttributes",Oa="externalFileAttribute",Ia="externalFileAttributes",Ca="msDosCompatible",Na="zip64",Da="encrypted",Pa="version",ka="versionMadeBy",La="zipCrypto",va="directory",Fa="executable",Ma="compressionMethod",Ua="signature",Wa="extraField",Ha=[Cs,Ns,Ls,ks,wt,gt,Ds,Ps,Fs,Ms,vs,mt,mt,Ra,Aa,Oa,Ia,Ca,Na,Da,Pa,ka,La,va,Fa,Ma,Ua,Wa,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class kn{constructor(t){Ha.forEach(e=>this[e]=t[e])}}const Ba="filenameEncoding",ja="commentEncoding",Ga="decodeText",Ya="extractPrependedData",qa="extractAppendedData",Va="password",Za="rawPassword",Ka="passThrough",Xa="signal",$a="checkPasswordOnly",Ja="checkOverlappingEntryOnly",Qa="checkOverlappingEntry",za="checkSignature",eo="useWebWorkers",to="useCompressionStream",no="transferStreams",so="preventClose",Ve="File format is not recognized",Us="End of central directory not found",Ws="End of Zip64 central directory locator not found",Hs="Central directory header not found",Bs="Local file header not found",js="Zip64 extra field not found",Gs="File contains encrypted entry",Ys="Encryption method not supported",bt="Compression method not supported",yt="Split zip file",qs="Overlapping entry found",Ln="utf-8",vn="cp437",ro=[[ks,pe],[Ls,pe],[vs,pe],[mt,le]],io={[le]:{getValue:W,bytes:4},[pe]:{getValue:Ee,bytes:8}};class Vs{constructor(t,e={}){Object.assign(this,{reader:new As(t),options:e,config:Kn(),readRanges:[]})}async*getEntriesGenerator(t={}){const e=this;let{reader:n}=e;const{config:r}=e;if(await De(n),(n.size===j||!n.readUint8Array)&&(n=new Nt(await new Response(n.readable).blob()),await De(n)),n.size<te)throw new Error(Ve);n.chunkSize=_i(r);const i=await ho(n,Vr,n.size,te,le*16);if(!i){const x=await G(n,0,4),p=B(x);throw W(p)==Vn?new Error(yt):new Error(Us)}const a=B(i);let o=W(a,12),l=W(a,16);const _=i.offset,d=Y(a,20),m=_+te+d;let y=Y(a,4);const R=n.lastDiskNumber||0;let A=Y(a,6),f=Y(a,8),c=0,u=0;if(l==pe||o==pe||f==le||A==le){const x=await G(n,i.offset-st,st),p=B(x);if(W(p,0)==Zr){l=Ee(p,8);let C=await G(n,l,rt,-1),I=B(C);const k=i.offset-st-rt;if(W(I,0)!=un&&l!=k){const N=l;l=k,l>N&&(c=l-N),C=await G(n,l,rt,-1),I=B(C)}if(W(I,0)!=un)throw new Error(Ws);y==le&&(y=W(I,16)),A==le&&(A=W(I,20)),f==le&&(f=Ee(I,32)),o==pe&&(o=Ee(I,40)),l-=o}}if(l>=n.size&&(c=n.size-l-o-te,l=n.size-o-te),R!=y)throw new Error(yt);if(l<0)throw new Error(Ve);let b=0,g=await G(n,l,o,A),w=B(g);if(o){const x=i.offset-o;if(W(w,b)!=fn&&l!=x){const p=l;l=x,l>p&&(c+=l-p),g=await G(n,l,o,A),w=B(g)}}const S=i.offset-l-(n.lastDiskOffset||0);if(o!=S&&S>=0&&(o=S,g=await G(n,l,o,A),w=B(g)),l<0||l>=n.size)throw new Error(Ve);const h=q(e,t,Ba),T=q(e,t,ja);for(let x=0;x<f;x++){const p=new oo(n,r,e.options);if(W(w,b)!=fn)throw new Error(Hs);Zs(p,w,b+6);const C=!!p.bitFlag.languageEncodingFlag,I=b+46,k=I+p.filenameLength,N=k+p.extraFieldLength,P=Y(w,b+4),M=P>>8==0,L=P>>8==3,V=g.subarray(I,k),D=Y(w,b+32),J=N+D,F=g.subarray(N,J),U=C,Fe=C,xe=W(w,b+38),ee=M&&(ye(w,b+38)&mn)==mn||L&&(xe>>16&ii)==ai||V.length&&V.at(-1)==wn.charCodeAt(0),Q=L&&(xe>>16&oi)!=0,Lt=W(w,b+42)+c;Object.assign(p,{versionMadeBy:P,msDosCompatible:M,compressedSize:0,uncompressedSize:0,commentLength:D,directory:ee,offset:Lt,diskNumberStart:Y(w,b+34),internalFileAttributes:Y(w,b+36),externalFileAttributes:xe,rawFilename:V,filenameUTF8:U,commentUTF8:Fe,rawExtraField:g.subarray(k,N),executable:Q}),p.internalFileAttribute=p.internalFileAttributes,p.externalFileAttribute=p.externalFileAttributes;const vt=q(e,t,Ga)||qe,Ft=U?Ln:h||vn,Mt=Fe?Ln:T||vn;let Me=vt(V,Ft);Me===j&&(Me=qe(V,Ft));let ze=vt(F,Mt);ze===j&&(ze=qe(F,Mt)),Object.assign(p,{rawComment:F,filename:Me,comment:ze,directory:ee||Me.endsWith(wn)}),u=Math.max(Lt,u),Ks(p,p,w,b+6),p.zipCrypto=p.encrypted&&!p.extraFieldAES;const Te=new kn(p);Te.getData=(Ue,We)=>p.getData(Ue,Te,e.readRanges,We),Te.arrayBuffer=async Ue=>{const We=new TransformStream,[Js]=await Promise.all([new Response(We.readable).arrayBuffer(),p.getData(We,Te,e.readRanges,Ue)]);return Js},b=J;const{onprogress:Ut}=t;if(Ut)try{await Ut(x+1,f,new kn(p))}catch{}yield Te}const E=q(e,t,Ya),O=q(e,t,qa);return E&&(e.prependedData=u>0?await G(n,0,u):new Uint8Array),e.comment=d?await G(n,_+te,d):new Uint8Array,O&&(e.appendedData=m<n.size?await G(n,m,n.size-m):new Uint8Array),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}}class ao{constructor(t={}){const{readable:e,writable:n}=new TransformStream,r=new Vs(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(i){const{done:a,value:o}=await r.next();if(a)return i.close();const l={...o,readable:(function(){const{readable:_,writable:d}=new TransformStream;if(o.getData)return o.getData(d),_})()};delete l.getData,i.enqueue(l)}}),this.writable=n}}class oo{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e,n,r={}){const i=this,{reader:a,offset:o,diskNumberStart:l,extraFieldAES:_,extraFieldZip64:d,compressionMethod:m,config:y,bitFlag:R,signature:A,rawLastModDate:f,uncompressedSize:c,compressedSize:u}=i,{dataDescriptor:b}=R,g=e.localDirectory={},w=await G(a,o,it,l),S=B(w);let h=q(i,r,Va),T=q(i,r,Za);const E=q(i,r,Ka);if(h=h&&h.length&&h,T=T&&T.length&&T,_&&_.originalCompressionMethod!=Gr)throw new Error(bt);if(m!=jr&&m!=Br&&!E)throw new Error(bt);if(W(S,0)!=Yr)throw new Error(Bs);Zs(g,S,4);const{extraFieldLength:O,filenameLength:x,lastAccessDate:p,creationDate:C}=g;g.rawExtraField=O?await G(a,o+it+x,O,l):new Uint8Array,Ks(i,g,S,4,!0),Object.assign(e,{lastAccessDate:p,creationDate:C});const I=i.encrypted&&g.encrypted&&!E,k=I&&!_;if(E||(e.zipCrypto=k),I){if(!k&&_.strength===j)throw new Error(Ys);if(!h&&!T)throw new Error(Gs)}const N=o+it+x+O,P=u,M=a.readable;Object.assign(M,{diskNumberStart:l,offset:N,size:P});const L=q(i,r,Xa),V=q(i,r,$a);let D=q(i,r,Qa);const J=q(i,r,Ja);J&&(D=!0);const{onstart:F,onprogress:U,onend:Fe}=r,xe={options:{codecType:ds,password:h,rawPassword:T,zipCrypto:k,encryptionStrength:_&&_.strength,signed:q(i,r,za)&&!E,passwordVerification:k&&(b?f>>>8&255:A>>>24&255),outputSize:c,signature:A,compressed:m!=0&&!E,encrypted:i.encrypted&&!E,useWebWorkers:q(i,r,eo),useCompressionStream:q(i,r,to),transferStreams:q(i,r,no),checkPasswordOnly:V},config:y,streamOptions:{signal:L,size:P,onstart:F,onprogress:U,onend:Fe}};D&&await _o({reader:a,fileEntry:e,offset:o,diskNumberStart:l,signature:A,compressedSize:u,uncompressedSize:c,dataOffset:N,dataDescriptor:b||g.bitFlag.dataDescriptor,extraFieldZip64:d||g.extraFieldZip64,readRanges:n});let ee;try{if(!J){V&&(t=new WritableStream),t=new Os(t),await De(t,E?u:c),{writable:ee}=t;const{outputSize:Q}=await Qi({readable:M,writable:ee},xe);if(t.size+=Q,Q!=(E?u:c))throw new Error(At)}}catch(Q){if(Q.outputSize!==j&&(t.size+=Q.outputSize),!V||Q.message!=Tt)throw Q}finally{!q(i,r,so)&&ee&&!ee.locked&&await ee.getWriter().close()}return V||J?j:t.getData?t.getData():ee}}function Zs(s,t,e){const n=s.rawBitFlag=Y(t,e+2),r=(n&_n)==_n,i=W(t,e+6);Object.assign(s,{encrypted:r,version:Y(t,e),bitFlag:{level:(n&ri)>>1,dataDescriptor:(n&hn)==hn,languageEncodingFlag:(n&pn)==pn},rawLastModDate:i,lastModDate:po(i),filenameLength:Y(t,e+22),extraFieldLength:Y(t,e+24)})}function Ks(s,t,e,n,r){const{rawExtraField:i}=t,a=t.extraField=new Map,o=B(new Uint8Array(i));let l=0;try{for(;l<i.length;){const u=Y(o,l),b=Y(o,l+2);a.set(u,{type:u,data:i.slice(l+4,l+4+b)}),l+=4+b}}catch{}const _=Y(e,n+4);Object.assign(t,{signature:W(e,n+ci),compressedSize:W(e,n+li),uncompressedSize:W(e,n+fi)});const d=a.get($r);d&&(co(d,t),t.extraFieldZip64=d);const m=a.get(ti);m&&(Fn(m,Cs,Ns,t,s),t.extraFieldUnicodePath=m);const y=a.get(ni);y&&(Fn(y,Ds,Ps,t,s),t.extraFieldUnicodeComment=y);const R=a.get(Jr);R?(lo(R,t,_),t.extraFieldAES=R):t.compressionMethod=_;const A=a.get(Qr);A&&(fo(A,t),t.extraFieldNTFS=A);const f=a.get(ei);f&&(uo(f,t,r),t.extraFieldExtendedTimestamp=f);const c=a.get(si);c&&(t.extraFieldUSDZ=c)}function co(s,t){t.zip64=!0;const e=B(s.data),n=ro.filter(([r,i])=>t[r]==i);for(let r=0,i=0;r<n.length;r++){const[a,o]=n[r];if(t[a]==o){const l=io[o];t[a]=s[a]=l.getValue(e,i),i+=l.bytes}else if(s[a])throw new Error(js)}}function Fn(s,t,e,n,r){const i=B(s.data),a=new Ze;a.append(r[e]);const o=B(new Uint8Array(4));o.setUint32(0,a.get(),!0);const l=W(i,1);Object.assign(s,{version:ye(i,0),[t]:qe(s.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&l==W(o,0)}),s.valid&&(n[t]=s[t],n[t+"UTF8"]=!0)}function lo(s,t,e){const n=B(s.data),r=ye(n,4);Object.assign(s,{vendorVersion:ye(n,0),vendorId:ye(n,2),strength:r,originalCompressionMethod:e,compressionMethod:Y(n,5)}),t.compressionMethod=s.compressionMethod}function fo(s,t){const e=B(s.data);let n=4,r;try{for(;n<s.data.length&&!r;){const i=Y(e,n),a=Y(e,n+2);i==zr&&(r=s.data.slice(n+4,n+4+a)),n+=4+a}}catch{}try{if(r&&r.length==24){const i=B(r),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),l=i.getBigUint64(16,!0);Object.assign(s,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:l});const _=lt(a),d=lt(o),m=lt(l),y={lastModDate:_,lastAccessDate:d,creationDate:m};Object.assign(s,y),Object.assign(t,y)}}catch{}}function uo(s,t,e){const n=B(s.data),r=ye(n,0),i=[],a=[];e?((r&1)==1&&(i.push(wt),a.push(gt)),(r&2)==2&&(i.push(Fs),a.push(Ta)),(r&4)==4&&(i.push(Ms),a.push(Sa))):s.data.length>=5&&(i.push(wt),a.push(gt));let o=1;i.forEach((l,_)=>{if(s.data.length>=o+4){const d=W(n,o);t[l]=s[l]=new Date(d*1e3);const m=a[_];s[m]=d}o+=4})}async function _o({reader:s,fileEntry:t,offset:e,diskNumberStart:n,signature:r,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:l,extraFieldZip64:_,readRanges:d}){let m=0;if(n)for(let A=0;A<n;A++){const f=s.readers[A];m+=f.size}let y=0;if(l&&(_?y=Xr:y=Kr),y){const A=await G(s,o+i,y+dn,n);if(W(B(A),0)==qr){const c=W(B(A),4);let u,b;_?(u=Ee(B(A),8),b=Ee(B(A),16)):(u=W(B(A),8),b=W(B(A),12)),(t.encrypted&&!t.zipCrypto||c==r)&&u==i&&b==a&&(y+=dn)}}const R={start:m+e,end:m+o+i+y,fileEntry:t};for(const A of d)if(A.fileEntry!=t&&R.start>=A.start&&R.start<A.end){const f=new Error(qs);throw f.overlappingEntry=A.fileEntry,f}d.push(R)}async function ho(s,t,e,n,r){const i=new Uint8Array(4),a=B(i);mo(a,0,t);const o=n+r;return await l(n)||await l(Math.min(o,e));async function l(_){const d=e-_,m=await G(s,d,_);for(let y=m.length-n;y>=0;y--)if(m[y]==i[0]&&m[y+1]==i[1]&&m[y+2]==i[2]&&m[y+3]==i[3])return{offset:d+y,buffer:m.slice(y,y+n).buffer}}}function q(s,t,e){return t[e]===j?s.options[e]:t[e]}function po(s){const t=(s&4294901760)>>16,e=s&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(e&63488)>>11,(e&2016)>>5,(e&31)*2,0)}catch{}}function lt(s){return new Date(Number(s/BigInt(1e4)-BigInt(116444736e5)))}function ye(s,t){return s.getUint8(t)}function Y(s,t){return s.getUint16(t,!0)}function W(s,t){return s.getUint32(t,!0)}function Ee(s,t){return Number(s.getBigUint64(t,!0))}function mo(s,t,e){s.setUint32(t,e,!0)}function B(s){return new DataView(s.buffer)}Xn({Inflate:Hr});const wo=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:Nt,BlobWriter:bs,Data64URIReader:la,Data64URIWriter:fa,ERR_BAD_FORMAT:Ve,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Hs,ERR_ENCRYPTED:Gs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ws,ERR_EOCDR_NOT_FOUND:Us,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:js,ERR_HTTP_RANGE:ve,ERR_INVALID_PASSWORD:Et,ERR_INVALID_SIGNATURE:xt,ERR_INVALID_UNCOMPRESSED_SIZE:At,ERR_ITERATOR_COMPLETED_TOO_SOON:ms,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Bs,ERR_OVERLAPPING_ENTRY:qs,ERR_SPLIT_ZIP_FILE:yt,ERR_UNSUPPORTED_COMPRESSION:bt,ERR_UNSUPPORTED_ENCRYPTION:Ys,ERR_WRITER_NOT_INITIALIZED:ws,GenericReader:As,GenericWriter:Os,HttpRangeReader:pa,HttpReader:Rs,Reader:_e,SplitDataReader:Pt,SplitDataWriter:Xe,SplitZipReader:ba,SplitZipWriter:ya,TextReader:ua,TextWriter:da,Uint8ArrayReader:ma,Uint8ArrayWriter:wa,Writer:Ct,ZipReader:Vs,ZipReaderStream:ao,configure:Xn,getMimeType:hi,initStream:De,readUint8Array:G,terminateWorkers:ea},Symbol.toStringTag,{value:"Module"})),Ae=wo;class go{constructor(t,e){we(this,"_zipReader");we(this,"_entriesPromise");we(this,"_traceURL");this._traceURL=t,Ae.configure({baseURL:self.location.href}),this._zipReader=new Ae.ZipReader(new Ae.HttpReader(this._resolveTraceURL(t),{mode:"cors",preventHeadRequest:!0}),{useWebWorkers:!1}),this._entriesPromise=this._zipReader.getEntries({onprogress:e}).then(n=>{const r=new Map;for(const i of n)r.set(i.filename,i);return r})}_resolveTraceURL(t){let e;return t.startsWith("http")||t.startsWith("blob")?(e=t,e.startsWith("https://www.dropbox.com/")&&(e="https://dl.dropboxusercontent.com/"+e.substring(24))):e=kt(t),e}isLive(){return!1}traceURL(){return this._traceURL}async entryNames(){return[...(await this._entriesPromise).keys()]}async hasEntry(t){return(await this._entriesPromise).has(t)}async readText(t){var i;const n=(await this._entriesPromise).get(t);if(!n)return;const r=new Ae.TextWriter;return await((i=n.getData)==null?void 0:i.call(n,r)),r.getData()}async readBlob(t){const n=(await this._entriesPromise).get(t);if(!n)return;const r=new Ae.BlobWriter;return await n.getData(r),r.getData()}}class bo{constructor(t){we(this,"_entriesPromise");we(this,"_path");this._path=t,this._entriesPromise=this._readFile(t).then(async e=>{if(!e)throw new Error("File not found");const n=await e.json(),r=new Map;for(const i of n.entries)r.set(i.name,i.path);return r})}isLive(){return!0}traceURL(){return this._path}async entryNames(){return[...(await this._entriesPromise).keys()]}async hasEntry(t){return(await this._entriesPromise).has(t)}async readText(t){const e=await this._readEntry(t);return e==null?void 0:e.text()}async readBlob(t){const e=await this._readEntry(t);return(e==null?void 0:e.status)===200?await(e==null?void 0:e.blob()):void 0}async _readEntry(t){const n=(await this._entriesPromise).get(t);if(n)return this._readFile(n)}async _readFile(t){const e=await fetch(kt(t));if(e.status!==404)return e}}function kt(s){return`file?path=${encodeURIComponent(s)}`}self.addEventListener("install",function(s){self.skipWaiting()});self.addEventListener("activate",function(s){s.waitUntil(self.clients.claim())});const yo=new URL(self.registration.scope).pathname,Pe=new Map,$e=new Map,Mn=self.registration.scope.startsWith("https://");function Eo(){Pe.clear(),$e.clear()}async function Un(s,t,e,n){try{return{loadedTrace:await Xs(s,t,e,n)}}catch(r){return{errorResponse:new Response(JSON.stringify({error:r==null?void 0:r.message}),{status:500,headers:{"Content-Type":"application/json"}})}}}function Xs(s,t,e,n){const r=t.searchParams.get("trace");if(!r)throw new Error("trace parameter is missing");$e.set(s,r);const a=e&&$s(r)?void 0:Pe.get(r);if(a)return a;const o=xo(r,n);return Pe.set(r,o),o}async function xo(s,t){var r;await Ro();const e=new gr;try{const[i,a]=yr(t,[.5,.4,.1]),o=$s(s)||s.endsWith("traces.dir")?new bo(s):new go(s,i);await e.load(o,a)}catch(i){throw console.error(i),(r=i==null?void 0:i.message)!=null&&r.includes("Cannot find .trace file")&&await e.hasEntry("index.html")?new Error("Could not load trace. Did you upload a Playwright HTML report instead? Make sure to extract the archive first and then double-click the index.html file or put it on a web server."):i instanceof Gn?new Error(`Could not load trace from ${s}. ${i.message}`):new Error(`Could not load trace from ${s}. Make sure a valid Playwright Trace is accessible over this url.`)}const n=new er(e.storage(),i=>e.resourceForSha1(i));return{traceLoader:e,snapshotServer:n}}async function To(s){const t=s.request;if(t.url.startsWith("chrome-extension://"))return fetch(t);if(t.headers.get("x-pw-serviceworker")==="forward"){const a=new Request(s.request);return a.headers.delete("x-pw-serviceworker"),fetch(a)}const e=new URL(t.url);let n;if(t.url.startsWith(self.registration.scope)&&(n=e.pathname.substring(yo.length-1)),n==="/restartServiceWorker")return Eo(),new Response(null,{status:200});if(n==="/ping")return new Response(null,{status:200});const r=!!s.resultingClientId,i=s.clientId?await self.clients.get(s.clientId):void 0;if(r&&!(n!=null&&n.startsWith("/sha1/"))){if(n!=null&&n.startsWith("/snapshot/")){const{errorResponse:a,loadedTrace:o}=await Un(s.resultingClientId,e,!1,Ao);if(a)return a;const l=n.substring(10),_=o.snapshotServer.serveSnapshot(l,e.searchParams,e.href);return Mn&&_.headers.set("Content-Security-Policy","upgrade-insecure-requests"),_}return fetch(s.request)}if(!n){if(!i)return new Response("Sub-resource without a client",{status:500});const{snapshotServer:a}=await Xs(i.id,new URL(i.url),!1,Wn(i));if(!a)return new Response(null,{status:404});const o=[t.url];return Mn&&t.url.startsWith("https://")&&o.push(t.url.replace(/^https/,"http")),a.serveResource(o,t.method,i.url)}if(n==="/contexts"||n.startsWith("/snapshotInfo/")||n.startsWith("/closest-screenshot/")||n.startsWith("/sha1/")){if(!i)return new Response("Sub-resource without a client",{status:500});const a=n==="/contexts",{errorResponse:o,loadedTrace:l}=await Un(i.id,e,a,Wn(i));if(o)return o;if(n==="/contexts")return new Response(JSON.stringify(l.traceLoader.contextEntries),{status:200,headers:{"Content-Type":"application/json"}});if(n.startsWith("/snapshotInfo/")){const _=n.substring(14);return l.snapshotServer.serveSnapshotInfo(_,e.searchParams)}if(n.startsWith("/closest-screenshot/")){const _=n.substring(20);return l.snapshotServer.serveClosestScreenshot(_,e.searchParams)}if(n.startsWith("/sha1/")){const _=await l.traceLoader.resourceForSha1(n.slice(6));return _?new Response(_,{status:200,headers:So(e.searchParams)}):new Response(null,{status:404})}}if(n!=null&&n.startsWith("/file/")){const a=e.searchParams.get("path");return await fetch(kt(a))}return fetch(s.request)}function So(s){const t=s.get("dn"),e=s.get("dct");if(!t)return;const n=new Headers;return n.set("Content-Disposition",`attachment; filename="attachment"; filename*=UTF-8''${encodeURIComponent(t)}`),e&&n.set("Content-Type",e),n}async function Ro(){const s=await self.clients.matchAll(),t=new Set;for(const[e,n]of $e){if(!s.find(r=>r.id===e)){$e.delete(e);continue}t.add(n)}for(const e of Pe.keys())t.has(e)||Pe.delete(e)}function Wn(s){return(t,e)=>{s.postMessage({method:"progress",params:{done:t,total:e}})}}function Ao(s,t){}function $s(s){return s.endsWith(".json")}self.addEventListener("fetch",function(s){s.respondWith(To(s))});
|
|
3
|
+
`))this._appendEvent(e)}actions(){return[...this._actionMap.values()]}_pageEntry(t){let e=this._pageEntries.get(t);return e||(e={pageId:t,screencastFrames:[]},this._pageEntries.set(t,e),this._contextEntry.pages.push(e)),e}_appendEvent(t){if(!t)return;const e=this._modernize(JSON.parse(t));for(const n of e)this._innerAppendEvent(n)}_innerAppendEvent(t){const e=this._contextEntry;switch(t.type){case"context-options":{if(t.version>Bt)throw new Gn("The trace was created by a newer version of Playwright and is not supported by this version of the viewer. Please use latest Playwright to open the trace.");this._version=t.version,e.origin=t.origin,e.browserName=t.browserName,e.channel=t.channel,e.title=t.title,e.platform=t.platform,e.playwrightVersion=t.playwrightVersion,e.wallTime=t.wallTime,e.startTime=t.monotonicTime,e.sdkLanguage=t.sdkLanguage,e.options=t.options,e.testIdAttributeName=t.testIdAttributeName,e.contextId=t.contextId??"";break}case"screencast-frame":{this._pageEntry(t.pageId).screencastFrames.push(t);break}case"before":{this._actionMap.set(t.callId,{...t,type:"action",endTime:0,log:[]});break}case"input":{const n=this._actionMap.get(t.callId);n.inputSnapshot=t.inputSnapshot,n.point=t.point;break}case"log":{const n=this._actionMap.get(t.callId);if(!n)return;n.log.push({time:t.time,message:t.message});break}case"after":{const n=this._actionMap.get(t.callId);n.afterSnapshot=t.afterSnapshot,n.endTime=t.endTime,n.result=t.result,n.error=t.error,n.attachments=t.attachments,n.annotations=t.annotations,t.point&&(n.point=t.point);break}case"action":{this._actionMap.set(t.callId,{...t,log:[]});break}case"event":{e.events.push(t);break}case"stdout":{e.stdio.push(t);break}case"stderr":{e.stdio.push(t);break}case"error":{e.errors.push(t);break}case"console":{e.events.push(t);break}case"resource-snapshot":this._snapshotStorage.addResource(this._contextEntry.contextId,t.snapshot),e.resources.push(t.snapshot);break;case"frame-snapshot":this._snapshotStorage.addFrameSnapshot(this._contextEntry.contextId,t.snapshot,this._pageEntry(t.snapshot.pageId).screencastFrames);break}"pageId"in t&&t.pageId&&this._pageEntry(t.pageId),(t.type==="action"||t.type==="before")&&(e.startTime=Math.min(e.startTime,t.startTime)),(t.type==="action"||t.type==="after")&&(e.endTime=Math.max(e.endTime,t.endTime)),t.type==="event"&&(e.startTime=Math.min(e.startTime,t.time),e.endTime=Math.max(e.endTime,t.time)),t.type==="screencast-frame"&&(e.startTime=Math.min(e.startTime,t.timestamp),e.endTime=Math.max(e.endTime,t.timestamp))}_processedContextCreatedEvent(){return this._version!==void 0}_modernize(t){let e=this._version??t.version??6,n=[t];for(;e<Bt;++e)n=this[`_modernize_${e}_to_${e+1}`].call(this,n);return n}_modernize_0_to_1(t){for(const e of t)e.type==="action"&&typeof e.metadata.error=="string"&&(e.metadata.error={error:{name:"Error",message:e.metadata.error}});return t}_modernize_1_to_2(t){var e;for(const n of t)n.type!=="frame-snapshot"||!n.snapshot.isMainFrame||(n.snapshot.viewport=((e=this._contextEntry.options)==null?void 0:e.viewport)||{width:1280,height:720});return t}_modernize_2_to_3(t){for(const e of t){if(e.type!=="resource-snapshot"||e.snapshot.request)continue;const n=e.snapshot;e.snapshot={_frameref:n.frameId,request:{url:n.url,method:n.method,headers:n.requestHeaders,postData:n.requestSha1?{_sha1:n.requestSha1}:void 0},response:{status:n.status,headers:n.responseHeaders,content:{mimeType:n.contentType,_sha1:n.responseSha1}},_monotonicTime:n.timestamp}}return t}_modernize_3_to_4(t){const e=[];for(const n of t){const r=this._modernize_event_3_to_4(n);r&&e.push(r)}return e}_modernize_event_3_to_4(t){var n,r,i,a;if(t.type!=="action"&&t.type!=="event")return t;const e=t.metadata;return e.internal||e.method.startsWith("tracing")?null:t.type==="event"?e.method==="__create__"&&e.type==="ConsoleMessage"?{type:"object",class:e.type,guid:e.params.guid,initializer:e.params.initializer}:{type:"event",time:e.startTime,class:e.type,method:e.method,params:e.params,pageId:e.pageId}:{type:"action",callId:e.id,startTime:e.startTime,endTime:e.endTime,apiName:e.apiName||e.type+"."+e.method,class:e.type,method:e.method,params:e.params,wallTime:e.wallTime||Date.now(),log:e.log,beforeSnapshot:(n=e.snapshots.find(o=>o.title==="before"))==null?void 0:n.snapshotName,inputSnapshot:(r=e.snapshots.find(o=>o.title==="input"))==null?void 0:r.snapshotName,afterSnapshot:(i=e.snapshots.find(o=>o.title==="after"))==null?void 0:i.snapshotName,error:(a=e.error)==null?void 0:a.error,result:e.result,point:e.point,pageId:e.pageId}}_modernize_4_to_5(t){const e=[];for(const n of t){const r=this._modernize_event_4_to_5(n);r&&e.push(r)}return e}_modernize_event_4_to_5(t){var e,n;if(t.type==="event"&&t.method==="__create__"&&t.class==="JSHandle"&&this._jsHandles.set(t.params.guid,t.params.initializer),t.type==="object"){if(t.class!=="ConsoleMessage")return null;const r=(e=t.initializer.args)==null?void 0:e.map(i=>{if(i.guid){const a=this._jsHandles.get(i.guid);return{preview:(a==null?void 0:a.preview)||"",value:""}}return{preview:i.preview||"",value:i.value||""}});return this._consoleObjects.set(t.guid,{type:t.initializer.type,text:t.initializer.text,location:t.initializer.location,args:r}),null}if(t.type==="event"&&t.method==="console"){const r=this._consoleObjects.get(((n=t.params.message)==null?void 0:n.guid)||"");return r?{type:"console",time:t.time,pageId:t.pageId,messageType:r.type,text:r.text,args:r.args,location:r.location}:null}return t}_modernize_5_to_6(t){const e=[];for(const n of t)if(e.push(n),!(n.type!=="after"||!n.log.length))for(const r of n.log)e.push({type:"log",callId:n.callId,message:r,time:-1});return e}_modernize_6_to_7(t){const e=[];if(!this._processedContextCreatedEvent()&&t[0].type!=="context-options"){const n={type:"context-options",origin:"testRunner",version:6,browserName:"",options:{},platform:"unknown",wallTime:0,monotonicTime:0,sdkLanguage:"javascript",contextId:""};e.push(n)}for(const n of t){if(n.type==="context-options"){e.push({...n,monotonicTime:0,origin:"library",contextId:""});continue}if(n.type==="before"||n.type==="action"){this._contextEntry.wallTime||(this._contextEntry.wallTime=n.wallTime);const r=n,i=n;i.stepId=`${r.apiName}@${r.wallTime}`,e.push(i)}else e.push(n)}return e}_modernize_7_to_8(t){const e=[];for(const n of t)if(n.type==="before"||n.type==="action"){const r=n,i=n;r.apiName&&(i.title=r.apiName,delete i.apiName),i.stepId=r.stepId??r.callId,e.push(i)}else e.push(n);return e}}class gr{constructor(){this.contextEntries=[],this._resourceToContentType=new Map}async load(t,e){var o,l;this._backend=t;const n=[];let r=!1;for(const _ of await this._backend.entryNames()){const d=_.match(/(.+)\.trace$/);d&&n.push(d[1]||""),_.includes("src@")&&(r=!0)}if(!n.length)throw new Error("Cannot find .trace file");this._snapshotStorage=new mr;const i=n.length*3;let a=0;for(const _ of n){const d=br();d.hasSource=r;const m=new wr(d,this._snapshotStorage),y=await this._backend.readText(_+".trace")||"";m.appendTrace(y),e(++a,i);const R=await this._backend.readText(_+".network")||"";if(m.appendTrace(R),e(++a,i),d.actions=m.actions().sort((f,c)=>f.startTime-c.startTime),!t.isLive()){for(const f of d.actions.slice().reverse())if(!f.endTime&&!f.error)for(const c of d.actions)c.parentId===f.callId&&f.endTime<c.endTime&&(f.endTime=c.endTime)}const A=await this._backend.readText(_+".stacks");if(A){const f=nr(JSON.parse(A));for(const c of d.actions)c.stack=c.stack||f.get(c.callId)}e(++a,i);for(const f of d.resources)(o=f.request.postData)!=null&&o._sha1&&this._resourceToContentType.set(f.request.postData._sha1,jt(f.request.postData.mimeType)),(l=f.response.content)!=null&&l._sha1&&this._resourceToContentType.set(f.response.content._sha1,jt(f.response.content.mimeType));this.contextEntries.push(d)}this._snapshotStorage.finalize()}async hasEntry(t){return this._backend.hasEntry(t)}async resourceForSha1(t){const e=await this._backend.readBlob("resources/"+t),n=this._resourceToContentType.get(t);return!e||n===void 0||n==="x-unknown"?e:new Blob([e],{type:n})}storage(){return this._snapshotStorage}}function jt(s){const t=s.match(/^(.*);\s*charset=.*$/);return t?t[1]:s}function br(){return{origin:"testRunner",startTime:Number.MAX_SAFE_INTEGER,wallTime:Number.MAX_SAFE_INTEGER,endTime:0,browserName:"",options:{deviceScaleFactor:1,isMobile:!1,viewport:{width:1280,height:800}},pages:[],resources:[],actions:[],events:[],errors:[],stdio:[],hasSource:!1,contextId:""}}function yr(s,t){const e=new Array(t.length).fill(0);return new Array(t.length).fill(0).map((n,r)=>(i,a)=>{e[r]=i/a*t[r]*1e3,s(e.reduce((o,l)=>o+l,0),1e3)})}const Er=15,v=0,ne=1,xr=2,K=-2,H=-3,Gt=-4,se=-5,X=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Yn=1440,Tr=0,Sr=4,Rr=9,Ar=5,Or=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Ir=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],Cr=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Nr=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Dr=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Pr=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ie=15;function ut(){const s=this;let t,e,n,r,i,a;function o(_,d,m,y,R,A,f,c,u,b,g){let w,S,h,T,E,O,x,p,C,I,k,N,P,M,L;I=0,E=m;do n[_[d+I]]++,I++,E--;while(E!==0);if(n[0]==m)return f[0]=-1,c[0]=0,v;for(p=c[0],O=1;O<=ie&&n[O]===0;O++);for(x=O,p<O&&(p=O),E=ie;E!==0&&n[E]===0;E--);for(h=E,p>E&&(p=E),c[0]=p,M=1<<O;O<E;O++,M<<=1)if((M-=n[O])<0)return H;if((M-=n[E])<0)return H;for(n[E]+=M,a[1]=O=0,I=1,P=2;--E!==0;)a[P]=O+=n[I],P++,I++;E=0,I=0;do(O=_[d+I])!==0&&(g[a[O]++]=E),I++;while(++E<m);for(m=a[h],a[0]=E=0,I=0,T=-1,N=-p,i[0]=0,k=0,L=0;x<=h;x++)for(w=n[x];w--!==0;){for(;x>N+p;){if(T++,N+=p,L=h-N,L=L>p?p:L,(S=1<<(O=x-N))>w+1&&(S-=w+1,P=x,O<L))for(;++O<L&&!((S<<=1)<=n[++P]);)S-=n[P];if(L=1<<O,b[0]+L>Yn)return H;i[T]=k=b[0],b[0]+=L,T!==0?(a[T]=E,r[0]=O,r[1]=p,O=E>>>N-p,r[2]=k-i[T-1]-O,u.set(r,(i[T-1]+O)*3)):f[0]=k}for(r[1]=x-N,I>=m?r[0]=192:g[I]<y?(r[0]=g[I]<256?0:96,r[2]=g[I++]):(r[0]=A[g[I]-y]+16+64,r[2]=R[g[I++]-y]),S=1<<x-N,O=E>>>N;O<L;O+=S)u.set(r,(k+O)*3);for(O=1<<x-1;(E&O)!==0;O>>>=1)E^=O;for(E^=O,C=(1<<N)-1;(E&C)!=a[T];)T--,N-=p,C=(1<<N)-1}return M!==0&&h!=1?se:v}function l(_){let d;for(t||(t=[],e=[],n=new Int32Array(ie+1),r=[],i=new Int32Array(ie),a=new Int32Array(ie+1)),e.length<_&&(e=[]),d=0;d<_;d++)e[d]=0;for(d=0;d<ie+1;d++)n[d]=0;for(d=0;d<3;d++)r[d]=0;i.set(n.subarray(0,ie),0),a.set(n.subarray(0,ie+1),0)}s.inflate_trees_bits=function(_,d,m,y,R){let A;return l(19),t[0]=0,A=o(_,0,19,19,null,null,m,d,y,t,e),A==H?R.msg="oversubscribed dynamic bit lengths tree":(A==se||d[0]===0)&&(R.msg="incomplete dynamic bit lengths tree",A=H),A},s.inflate_trees_dynamic=function(_,d,m,y,R,A,f,c,u){let b;return l(288),t[0]=0,b=o(m,0,_,257,Cr,Nr,A,y,c,t,e),b!=v||y[0]===0?(b==H?u.msg="oversubscribed literal/length tree":b!=Gt&&(u.msg="incomplete literal/length tree",b=H),b):(l(288),b=o(m,_,d,0,Dr,Pr,f,R,c,t,e),b!=v||R[0]===0&&_>257?(b==H?u.msg="oversubscribed distance tree":b==se?(u.msg="incomplete distance tree",b=H):b!=Gt&&(u.msg="empty distance tree with lengths",b=H),b):v)}}ut.inflate_trees_fixed=function(s,t,e,n){return s[0]=Rr,t[0]=Ar,e[0]=Or,n[0]=Ir,v};const He=0,Yt=1,qt=2,Vt=3,Zt=4,Kt=5,Xt=6,et=7,$t=8,Be=9;function kr(){const s=this;let t,e=0,n,r=0,i=0,a=0,o=0,l=0,_=0,d=0,m,y=0,R,A=0;function f(c,u,b,g,w,S,h,T){let E,O,x,p,C,I,k,N,P,M,L,V,D,J,F,U;k=T.next_in_index,N=T.avail_in,C=h.bitb,I=h.bitk,P=h.write,M=P<h.read?h.read-P-1:h.end-P,L=X[c],V=X[u];do{for(;I<20;)N--,C|=(T.read_byte(k++)&255)<<I,I+=8;if(E=C&L,O=b,x=g,U=(x+E)*3,(p=O[U])===0){C>>=O[U+1],I-=O[U+1],h.win[P++]=O[U+2],M--;continue}do{if(C>>=O[U+1],I-=O[U+1],(p&16)!==0){for(p&=15,D=O[U+2]+(C&X[p]),C>>=p,I-=p;I<15;)N--,C|=(T.read_byte(k++)&255)<<I,I+=8;E=C&V,O=w,x=S,U=(x+E)*3,p=O[U];do if(C>>=O[U+1],I-=O[U+1],(p&16)!==0){for(p&=15;I<p;)N--,C|=(T.read_byte(k++)&255)<<I,I+=8;if(J=O[U+2]+(C&X[p]),C>>=p,I-=p,M-=D,P>=J)F=P-J,P-F>0&&2>P-F?(h.win[P++]=h.win[F++],h.win[P++]=h.win[F++],D-=2):(h.win.set(h.win.subarray(F,F+2),P),P+=2,F+=2,D-=2);else{F=P-J;do F+=h.end;while(F<0);if(p=h.end-F,D>p){if(D-=p,P-F>0&&p>P-F)do h.win[P++]=h.win[F++];while(--p!==0);else h.win.set(h.win.subarray(F,F+p),P),P+=p,F+=p,p=0;F=0}}if(P-F>0&&D>P-F)do h.win[P++]=h.win[F++];while(--D!==0);else h.win.set(h.win.subarray(F,F+D),P),P+=D,F+=D,D=0;break}else if((p&64)===0)E+=O[U+2],E+=C&X[p],U=(x+E)*3,p=O[U];else return T.msg="invalid distance code",D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,H;while(!0);break}if((p&64)===0){if(E+=O[U+2],E+=C&X[p],U=(x+E)*3,(p=O[U])===0){C>>=O[U+1],I-=O[U+1],h.win[P++]=O[U+2],M--;break}}else return(p&32)!==0?(D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,ne):(T.msg="invalid literal/length code",D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,H)}while(!0)}while(M>=258&&N>=10);return D=T.avail_in-N,D=I>>3<D?I>>3:D,N+=D,k-=D,I-=D<<3,h.bitb=C,h.bitk=I,T.avail_in=N,T.total_in+=k-T.next_in_index,T.next_in_index=k,h.write=P,v}s.init=function(c,u,b,g,w,S){t=He,_=c,d=u,m=b,y=g,R=w,A=S,n=null},s.proc=function(c,u,b){let g,w,S,h=0,T=0,E=0,O,x,p,C;for(E=u.next_in_index,O=u.avail_in,h=c.bitb,T=c.bitk,x=c.write,p=x<c.read?c.read-x-1:c.end-x;;)switch(t){case He:if(p>=258&&O>=10&&(c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,b=f(_,d,m,y,R,A,c,u),E=u.next_in_index,O=u.avail_in,h=c.bitb,T=c.bitk,x=c.write,p=x<c.read?c.read-x-1:c.end-x,b!=v)){t=b==ne?et:Be;break}i=_,n=m,r=y,t=Yt;case Yt:for(g=i;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}if(w=(r+(h&X[g]))*3,h>>>=n[w+1],T-=n[w+1],S=n[w],S===0){a=n[w+2],t=Xt;break}if((S&16)!==0){o=S&15,e=n[w+2],t=qt;break}if((S&64)===0){i=S,r=w/3+n[w+2];break}if((S&32)!==0){t=et;break}return t=Be,u.msg="invalid literal/length code",b=H,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);case qt:for(g=o;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}e+=h&X[g],h>>=g,T-=g,i=d,n=R,r=A,t=Vt;case Vt:for(g=i;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}if(w=(r+(h&X[g]))*3,h>>=n[w+1],T-=n[w+1],S=n[w],(S&16)!==0){o=S&15,l=n[w+2],t=Zt;break}if((S&64)===0){i=S,r=w/3+n[w+2];break}return t=Be,u.msg="invalid distance code",b=H,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);case Zt:for(g=o;T<g;){if(O!==0)b=v;else return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);O--,h|=(u.read_byte(E++)&255)<<T,T+=8}l+=h&X[g],h>>=g,T-=g,t=Kt;case Kt:for(C=x-l;C<0;)C+=c.end;for(;e!==0;){if(p===0&&(x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0&&(c.write=x,b=c.inflate_flush(u,b),x=c.write,p=x<c.read?c.read-x-1:c.end-x,x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0)))return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);c.win[x++]=c.win[C++],p--,C==c.end&&(C=0),e--}t=He;break;case Xt:if(p===0&&(x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0&&(c.write=x,b=c.inflate_flush(u,b),x=c.write,p=x<c.read?c.read-x-1:c.end-x,x==c.end&&c.read!==0&&(x=0,p=x<c.read?c.read-x-1:c.end-x),p===0)))return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);b=v,c.win[x++]=a,p--,t=He;break;case et:if(T>7&&(T-=8,O++,E--),c.write=x,b=c.inflate_flush(u,b),x=c.write,p=x<c.read?c.read-x-1:c.end-x,c.read!=c.write)return c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);t=$t;case $t:return b=ne,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);case Be:return b=H,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b);default:return b=K,c.bitb=h,c.bitk=T,u.avail_in=O,u.total_in+=E-u.next_in_index,u.next_in_index=E,c.write=x,c.inflate_flush(u,b)}},s.free=function(){}}const Jt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ge=0,tt=1,Qt=2,zt=3,en=4,tn=5,je=6,Ge=7,nn=8,he=9;function Lr(s,t){const e=this;let n=ge,r=0,i=0,a=0,o;const l=[0],_=[0],d=new kr;let m=0,y=new Int32Array(Yn*3);const R=0,A=new ut;e.bitk=0,e.bitb=0,e.win=new Uint8Array(t),e.end=t,e.read=0,e.write=0,e.reset=function(f,c){c&&(c[0]=R),n==je&&d.free(f),n=ge,e.bitk=0,e.bitb=0,e.read=e.write=0},e.reset(s,null),e.inflate_flush=function(f,c){let u,b,g;return b=f.next_out_index,g=e.read,u=(g<=e.write?e.write:e.end)-g,u>f.avail_out&&(u=f.avail_out),u!==0&&c==se&&(c=v),f.avail_out-=u,f.total_out+=u,f.next_out.set(e.win.subarray(g,g+u),b),b+=u,g+=u,g==e.end&&(g=0,e.write==e.end&&(e.write=0),u=e.write-g,u>f.avail_out&&(u=f.avail_out),u!==0&&c==se&&(c=v),f.avail_out-=u,f.total_out+=u,f.next_out.set(e.win.subarray(g,g+u),b),b+=u,g+=u),f.next_out_index=b,e.read=g,c},e.proc=function(f,c){let u,b,g,w,S,h,T,E;for(w=f.next_in_index,S=f.avail_in,b=e.bitb,g=e.bitk,h=e.write,T=h<e.read?e.read-h-1:e.end-h;;){let O,x,p,C,I,k,N,P;switch(n){case ge:for(;g<3;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}switch(u=b&7,m=u&1,u>>>1){case 0:b>>>=3,g-=3,u=g&7,b>>>=u,g-=u,n=tt;break;case 1:O=[],x=[],p=[[]],C=[[]],ut.inflate_trees_fixed(O,x,p,C),d.init(O[0],x[0],p[0],0,C[0],0),b>>>=3,g-=3,n=je;break;case 2:b>>>=3,g-=3,n=zt;break;case 3:return b>>>=3,g-=3,n=he,f.msg="invalid block type",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c)}break;case tt:for(;g<32;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if((~b>>>16&65535)!=(b&65535))return n=he,f.msg="invalid stored block lengths",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);r=b&65535,b=g=0,n=r!==0?Qt:m!==0?Ge:ge;break;case Qt:if(S===0||T===0&&(h==e.end&&e.read!==0&&(h=0,T=h<e.read?e.read-h-1:e.end-h),T===0&&(e.write=h,c=e.inflate_flush(f,c),h=e.write,T=h<e.read?e.read-h-1:e.end-h,h==e.end&&e.read!==0&&(h=0,T=h<e.read?e.read-h-1:e.end-h),T===0)))return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);if(c=v,u=r,u>S&&(u=S),u>T&&(u=T),e.win.set(f.read_buf(w,u),h),w+=u,S-=u,h+=u,T-=u,(r-=u)!==0)break;n=m!==0?Ge:ge;break;case zt:for(;g<14;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if(i=u=b&16383,(u&31)>29||(u>>5&31)>29)return n=he,f.msg="too many length or distance symbols",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);if(u=258+(u&31)+(u>>5&31),!o||o.length<u)o=[];else for(E=0;E<u;E++)o[E]=0;b>>>=14,g-=14,a=0,n=en;case en:for(;a<4+(i>>>10);){for(;g<3;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}o[Jt[a++]]=b&7,b>>>=3,g-=3}for(;a<19;)o[Jt[a++]]=0;if(l[0]=7,u=A.inflate_trees_bits(o,l,_,y,f),u!=v)return c=u,c==H&&(o=null,n=he),e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);a=0,n=tn;case tn:for(;u=i,!(a>=258+(u&31)+(u>>5&31));){let M,L;for(u=l[0];g<u;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if(u=y[(_[0]+(b&X[u]))*3+1],L=y[(_[0]+(b&X[u]))*3+2],L<16)b>>>=u,g-=u,o[a++]=L;else{for(E=L==18?7:L-14,M=L==18?11:3;g<u+E;){if(S!==0)c=v;else return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);S--,b|=(f.read_byte(w++)&255)<<g,g+=8}if(b>>>=u,g-=u,M+=b&X[E],b>>>=E,g-=E,E=a,u=i,E+M>258+(u&31)+(u>>5&31)||L==16&&E<1)return o=null,n=he,f.msg="invalid bit length repeat",c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);L=L==16?o[E-1]:0;do o[E++]=L;while(--M!==0);a=E}}if(_[0]=-1,I=[],k=[],N=[],P=[],I[0]=9,k[0]=6,u=i,u=A.inflate_trees_dynamic(257+(u&31),1+(u>>5&31),o,I,k,N,P,y,f),u!=v)return u==H&&(o=null,n=he),c=u,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);d.init(I[0],k[0],y,N[0],y,P[0]),n=je;case je:if(e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,(c=d.proc(e,f,c))!=ne)return e.inflate_flush(f,c);if(c=v,d.free(f),w=f.next_in_index,S=f.avail_in,b=e.bitb,g=e.bitk,h=e.write,T=h<e.read?e.read-h-1:e.end-h,m===0){n=ge;break}n=Ge;case Ge:if(e.write=h,c=e.inflate_flush(f,c),h=e.write,T=h<e.read?e.read-h-1:e.end-h,e.read!=e.write)return e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);n=nn;case nn:return c=ne,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);case he:return c=H,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c);default:return c=K,e.bitb=b,e.bitk=g,f.avail_in=S,f.total_in+=w-f.next_in_index,f.next_in_index=w,e.write=h,e.inflate_flush(f,c)}}},e.free=function(f){e.reset(f,null),e.win=null,y=null},e.set_dictionary=function(f,c,u){e.win.set(f.subarray(c,c+u),0),e.read=e.write=u},e.sync_point=function(){return n==tt?1:0}}const vr=32,Fr=8,Mr=0,sn=1,rn=2,an=3,on=4,cn=5,nt=6,Re=7,ln=12,ae=13,Ur=[0,0,255,255];function Wr(){const s=this;s.mode=0,s.method=0,s.was=[0],s.need=0,s.marker=0,s.wbits=0;function t(e){return!e||!e.istate?K:(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=Re,e.istate.blocks.reset(e,null),v)}s.inflateEnd=function(e){return s.blocks&&s.blocks.free(e),s.blocks=null,v},s.inflateInit=function(e,n){return e.msg=null,s.blocks=null,n<8||n>15?(s.inflateEnd(e),K):(s.wbits=n,e.istate.blocks=new Lr(e,1<<n),t(e),v)},s.inflate=function(e,n){let r,i;if(!e||!e.istate||!e.next_in)return K;const a=e.istate;for(n=n==Sr?se:v,r=se;;)switch(a.mode){case Mr:if(e.avail_in===0)return r;if(r=n,e.avail_in--,e.total_in++,((a.method=e.read_byte(e.next_in_index++))&15)!=Fr){a.mode=ae,e.msg="unknown compression method",a.marker=5;break}if((a.method>>4)+8>a.wbits){a.mode=ae,e.msg="invalid win size",a.marker=5;break}a.mode=sn;case sn:if(e.avail_in===0)return r;if(r=n,e.avail_in--,e.total_in++,i=e.read_byte(e.next_in_index++)&255,((a.method<<8)+i)%31!==0){a.mode=ae,e.msg="incorrect header check",a.marker=5;break}if((i&vr)===0){a.mode=Re;break}a.mode=rn;case rn:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need=(e.read_byte(e.next_in_index++)&255)<<24&4278190080,a.mode=an;case an:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need+=(e.read_byte(e.next_in_index++)&255)<<16&16711680,a.mode=on;case on:if(e.avail_in===0)return r;r=n,e.avail_in--,e.total_in++,a.need+=(e.read_byte(e.next_in_index++)&255)<<8&65280,a.mode=cn;case cn:return e.avail_in===0?r:(r=n,e.avail_in--,e.total_in++,a.need+=e.read_byte(e.next_in_index++)&255,a.mode=nt,xr);case nt:return a.mode=ae,e.msg="need dictionary",a.marker=0,K;case Re:if(r=a.blocks.proc(e,r),r==H){a.mode=ae,a.marker=0;break}if(r==v&&(r=n),r!=ne)return r;r=n,a.blocks.reset(e,a.was),a.mode=ln;case ln:return e.avail_in=0,ne;case ae:return H;default:return K}},s.inflateSetDictionary=function(e,n,r){let i=0,a=r;if(!e||!e.istate||e.istate.mode!=nt)return K;const o=e.istate;return a>=1<<o.wbits&&(a=(1<<o.wbits)-1,i=r-a),o.blocks.set_dictionary(n,i,a),o.mode=Re,v},s.inflateSync=function(e){let n,r,i,a,o;if(!e||!e.istate)return K;const l=e.istate;if(l.mode!=ae&&(l.mode=ae,l.marker=0),(n=e.avail_in)===0)return se;for(r=e.next_in_index,i=l.marker;n!==0&&i<4;)e.read_byte(r)==Ur[i]?i++:e.read_byte(r)!==0?i=0:i=4-i,r++,n--;return e.total_in+=r-e.next_in_index,e.next_in_index=r,e.avail_in=n,l.marker=i,i!=4?H:(a=e.total_in,o=e.total_out,t(e),e.total_in=a,e.total_out=o,l.mode=Re,v)},s.inflateSyncPoint=function(e){return!e||!e.istate||!e.istate.blocks?K:e.istate.blocks.sync_point()}}function qn(){}qn.prototype={inflateInit(s){const t=this;return t.istate=new Wr,s||(s=Er),t.istate.inflateInit(t,s)},inflate(s){const t=this;return t.istate?t.istate.inflate(t,s):K},inflateEnd(){const s=this;if(!s.istate)return K;const t=s.istate.inflateEnd(s);return s.istate=null,t},inflateSync(){const s=this;return s.istate?s.istate.inflateSync(s):K},inflateSetDictionary(s,t){const e=this;return e.istate?e.istate.inflateSetDictionary(e,s,t):K},read_byte(s){return this.next_in[s]},read_buf(s,t){return this.next_in.subarray(s,s+t)}};function Hr(s){const t=this,e=new qn,n=s&&s.chunkSize?Math.floor(s.chunkSize*2):128*1024,r=Tr,i=new Uint8Array(n);let a=!1;e.inflateInit(),e.next_out=i,t.append=function(o,l){const _=[];let d,m,y=0,R=0,A=0;if(o.length!==0){e.next_in_index=0,e.next_in=o,e.avail_in=o.length;do{if(e.next_out_index=0,e.avail_out=n,e.avail_in===0&&!a&&(e.next_in_index=0,a=!0),d=e.inflate(r),a&&d===se){if(e.avail_in!==0)throw new Error("inflating: bad input")}else if(d!==v&&d!==ne)throw new Error("inflating: "+e.msg);if((a||d===ne)&&e.avail_in===o.length)throw new Error("inflating: bad input");e.next_out_index&&(e.next_out_index===n?_.push(new Uint8Array(i)):_.push(i.subarray(0,e.next_out_index))),A+=e.next_out_index,l&&e.next_in_index>0&&e.next_in_index!=y&&(l(e.next_in_index),y=e.next_in_index)}while(e.avail_in>0||e.avail_out===0);return _.length>1?(m=new Uint8Array(A),_.forEach(function(f){m.set(f,R),R+=f.length})):m=_[0]?new Uint8Array(_[0]):new Uint8Array,m}},t.flush=function(){e.inflateEnd()}}const pe=4294967295,le=65535,Br=8,jr=0,Gr=99,Yr=67324752,Vn=134695760,qr=Vn,fn=33639248,Vr=101010256,un=101075792,Zr=117853008,te=22,st=20,rt=56,Kr=12,Xr=20,dn=4,$r=1,Jr=39169,Qr=10,zr=1,ei=21589,ti=28789,ni=25461,si=6534,_n=1,ri=6,hn=8,pn=2048,mn=16,ii=61440,ai=16384,oi=73,wn="/",it=30,ci=10,li=14,fi=18,j=void 0,de="undefined",ke="function";class gn{constructor(t){return class extends TransformStream{constructor(e,n){const r=new t(n);super({transform(i,a){a.enqueue(r.append(i))},flush(i){const a=r.flush();a&&i.enqueue(a)}})}}}}const ui=64;let Zn=2;try{typeof navigator!=de&&navigator.hardwareConcurrency&&(Zn=navigator.hardwareConcurrency)}catch{}const di={chunkSize:512*1024,maxWorkers:Zn,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:j,CompressionStreamNative:typeof CompressionStream!=de&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=de&&DecompressionStream},fe=Object.assign({},di);function Kn(){return fe}function _i(s){return Math.max(s.chunkSize,ui)}function Xn(s){const{baseURL:t,chunkSize:e,maxWorkers:n,terminateWorkerTimeout:r,useCompressionStream:i,useWebWorkers:a,Deflate:o,Inflate:l,CompressionStream:_,DecompressionStream:d,workerScripts:m}=s;if(oe("baseURL",t),oe("chunkSize",e),oe("maxWorkers",n),oe("terminateWorkerTimeout",r),oe("useCompressionStream",i),oe("useWebWorkers",a),o&&(fe.CompressionStream=new gn(o)),l&&(fe.DecompressionStream=new gn(l)),oe("CompressionStream",_),oe("DecompressionStream",d),m!==j){const{deflate:y,inflate:R}=m;if((y||R)&&(fe.workerScripts||(fe.workerScripts={})),y){if(!Array.isArray(y))throw new Error("workerScripts.deflate must be an array");fe.workerScripts.deflate=y}if(R){if(!Array.isArray(R))throw new Error("workerScripts.inflate must be an array");fe.workerScripts.inflate=R}}}function oe(s,t){t!==j&&(fe[s]=t)}function hi(){return"application/octet-stream"}const $n=[];for(let s=0;s<256;s++){let t=s;for(let e=0;e<8;e++)t&1?t=t>>>1^3988292384:t=t>>>1;$n[s]=t}class Ze{constructor(t){this.crc=t||-1}append(t){let e=this.crc|0;for(let n=0,r=t.length|0;n<r;n++)e=e>>>8^$n[(e^t[n])&255];this.crc=e}get(){return~this.crc}}class Jn extends TransformStream{constructor(){let t;const e=new Ze;super({transform(n,r){e.append(n),r.enqueue(n)},flush(){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,e.get()),t.value=n}}),t=this}}function pi(s){if(typeof TextEncoder==de){s=unescape(encodeURIComponent(s));const t=new Uint8Array(s.length);for(let e=0;e<t.length;e++)t[e]=s.charCodeAt(e);return t}else return new TextEncoder().encode(s)}const Z={concat(s,t){if(s.length===0||t.length===0)return s.concat(t);const e=s[s.length-1],n=Z.getPartial(e);return n===32?s.concat(t):Z._shiftRight(t,n,e|0,s.slice(0,s.length-1))},bitLength(s){const t=s.length;if(t===0)return 0;const e=s[t-1];return(t-1)*32+Z.getPartial(e)},clamp(s,t){if(s.length*32<t)return s;s=s.slice(0,Math.ceil(t/32));const e=s.length;return t=t&31,e>0&&t&&(s[e-1]=Z.partial(t,s[e-1]&2147483648>>t-1,1)),s},partial(s,t,e){return s===32?t:(e?t|0:t<<32-s)+s*1099511627776},getPartial(s){return Math.round(s/1099511627776)||32},_shiftRight(s,t,e,n){for(n===void 0&&(n=[]);t>=32;t-=32)n.push(e),e=0;if(t===0)return n.concat(s);for(let a=0;a<s.length;a++)n.push(e|s[a]>>>t),e=s[a]<<32-t;const r=s.length?s[s.length-1]:0,i=Z.getPartial(r);return n.push(Z.partial(t+i&31,t+i>32?e:n.pop(),1)),n}},Ke={bytes:{fromBits(s){const e=Z.bitLength(s)/8,n=new Uint8Array(e);let r;for(let i=0;i<e;i++)(i&3)===0&&(r=s[i/4]),n[i]=r>>>24,r<<=8;return n},toBits(s){const t=[];let e,n=0;for(e=0;e<s.length;e++)n=n<<8|s[e],(e&3)===3&&(t.push(n),n=0);return e&3&&t.push(Z.partial(8*(e&3),n)),t}}},Qn={};Qn.sha1=class{constructor(s){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],s?(t._h=s._h.slice(0),t._buffer=s._buffer.slice(0),t._length=s._length):t.reset()}reset(){const s=this;return s._h=s._init.slice(0),s._buffer=[],s._length=0,s}update(s){const t=this;typeof s=="string"&&(s=Ke.utf8String.toBits(s));const e=t._buffer=Z.concat(t._buffer,s),n=t._length,r=t._length=n+Z.bitLength(s);if(r>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const i=new Uint32Array(e);let a=0;for(let o=t.blockSize+n-(t.blockSize+n&t.blockSize-1);o<=r;o+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return e.splice(0,16*a),t}finalize(){const s=this;let t=s._buffer;const e=s._h;t=Z.concat(t,[Z.partial(1,1)]);for(let n=t.length+2;n&15;n++)t.push(0);for(t.push(Math.floor(s._length/4294967296)),t.push(s._length|0);t.length;)s._block(t.splice(0,16));return s.reset(),e}_f(s,t,e,n){if(s<=19)return t&e|~t&n;if(s<=39)return t^e^n;if(s<=59)return t&e|t&n|e&n;if(s<=79)return t^e^n}_S(s,t){return t<<s|t>>>32-s}_block(s){const t=this,e=t._h,n=Array(80);for(let _=0;_<16;_++)n[_]=s[_];let r=e[0],i=e[1],a=e[2],o=e[3],l=e[4];for(let _=0;_<=79;_++){_>=16&&(n[_]=t._S(1,n[_-3]^n[_-8]^n[_-14]^n[_-16]));const d=t._S(5,r)+t._f(_,i,a,o)+l+n[_]+t._key[Math.floor(_/20)]|0;l=o,o=a,a=t._S(30,i),i=r,r=d}e[0]=e[0]+r|0,e[1]=e[1]+i|0,e[2]=e[2]+a|0,e[3]=e[3]+o|0,e[4]=e[4]+l|0}};const zn={};zn.aes=class{constructor(s){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const e=t._tables[0][4],n=t._tables[1],r=s.length;let i,a,o,l=1;if(r!==4&&r!==6&&r!==8)throw new Error("invalid aes key size");for(t._key=[a=s.slice(0),o=[]],i=r;i<4*r+28;i++){let _=a[i-1];(i%r===0||r===8&&i%r===4)&&(_=e[_>>>24]<<24^e[_>>16&255]<<16^e[_>>8&255]<<8^e[_&255],i%r===0&&(_=_<<8^_>>>24^l<<24,l=l<<1^(l>>7)*283)),a[i]=a[i-r]^_}for(let _=0;i;_++,i--){const d=a[_&3?i:i-4];i<=4||_<4?o[_]=d:o[_]=n[0][e[d>>>24]]^n[1][e[d>>16&255]]^n[2][e[d>>8&255]]^n[3][e[d&255]]}}encrypt(s){return this._crypt(s,0)}decrypt(s){return this._crypt(s,1)}_precompute(){const s=this._tables[0],t=this._tables[1],e=s[4],n=t[4],r=[],i=[];let a,o,l,_;for(let d=0;d<256;d++)i[(r[d]=d<<1^(d>>7)*283)^d]=d;for(let d=a=0;!e[d];d^=o||1,a=i[a]||1){let m=a^a<<1^a<<2^a<<3^a<<4;m=m>>8^m&255^99,e[d]=m,n[m]=d,_=r[l=r[o=r[d]]];let y=_*16843009^l*65537^o*257^d*16843008,R=r[m]*257^m*16843008;for(let A=0;A<4;A++)s[A][d]=R=R<<24^R>>>8,t[A][m]=y=y<<24^y>>>8}for(let d=0;d<5;d++)s[d]=s[d].slice(0),t[d]=t[d].slice(0)}_crypt(s,t){if(s.length!==4)throw new Error("invalid aes block size");const e=this._key[t],n=e.length/4-2,r=[0,0,0,0],i=this._tables[t],a=i[0],o=i[1],l=i[2],_=i[3],d=i[4];let m=s[0]^e[0],y=s[t?3:1]^e[1],R=s[2]^e[2],A=s[t?1:3]^e[3],f=4,c,u,b;for(let g=0;g<n;g++)c=a[m>>>24]^o[y>>16&255]^l[R>>8&255]^_[A&255]^e[f],u=a[y>>>24]^o[R>>16&255]^l[A>>8&255]^_[m&255]^e[f+1],b=a[R>>>24]^o[A>>16&255]^l[m>>8&255]^_[y&255]^e[f+2],A=a[A>>>24]^o[m>>16&255]^l[y>>8&255]^_[R&255]^e[f+3],f+=4,m=c,y=u,R=b;for(let g=0;g<4;g++)r[t?3&-g:g]=d[m>>>24]<<24^d[y>>16&255]<<16^d[R>>8&255]<<8^d[A&255]^e[f++],c=m,m=y,y=R,R=A,A=c;return r}};const mi={getRandomValues(s){const t=new Uint32Array(s.buffer),e=n=>{let r=987654321;const i=4294967295;return function(){return r=36969*(r&65535)+(r>>16)&i,n=18e3*(n&65535)+(n>>16)&i,(((r<<16)+n&i)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let n=0,r;n<s.length;n+=4){const i=e((r||Math.random())*4294967296);r=i()*987654071,t[n/4]=i()*4294967296|0}return s}},es={};es.ctrGladman=class{constructor(s,t){this._prf=s,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(s){return this.calculate(this._prf,s,this._iv)}incWord(s){if((s>>24&255)===255){let t=s>>16&255,e=s>>8&255,n=s&255;t===255?(t=0,e===255?(e=0,n===255?n=0:++n):++e):++t,s=0,s+=t<<16,s+=e<<8,s+=n}else s+=1<<24;return s}incCounter(s){(s[0]=this.incWord(s[0]))===0&&(s[1]=this.incWord(s[1]))}calculate(s,t,e){let n;if(!(n=t.length))return[];const r=Z.bitLength(t);for(let i=0;i<n;i+=4){this.incCounter(e);const a=s.encrypt(e);t[i]^=a[0],t[i+1]^=a[1],t[i+2]^=a[2],t[i+3]^=a[3]}return Z.clamp(t,r)}};const me={importKey(s){return new me.hmacSha1(Ke.bytes.toBits(s))},pbkdf2(s,t,e,n){if(e=e||1e4,n<0||e<0)throw new Error("invalid params to pbkdf2");const r=(n>>5)+1<<2;let i,a,o,l,_;const d=new ArrayBuffer(r),m=new DataView(d);let y=0;const R=Z;for(t=Ke.bytes.toBits(t),_=1;y<(r||1);_++){for(i=a=s.encrypt(R.concat(t,[_])),o=1;o<e;o++)for(a=s.encrypt(a),l=0;l<a.length;l++)i[l]^=a[l];for(o=0;y<(r||1)&&o<i.length;o++)m.setInt32(y,i[o]),y+=4}return d.slice(0,n/8)}};me.hmacSha1=class{constructor(s){const t=this,e=t._hash=Qn.sha1,n=[[],[]];t._baseHash=[new e,new e];const r=t._baseHash[0].blockSize/32;s.length>r&&(s=new e().update(s).finalize());for(let i=0;i<r;i++)n[0][i]=s[i]^909522486,n[1][i]=s[i]^1549556828;t._baseHash[0].update(n[0]),t._baseHash[1].update(n[1]),t._resultHash=new e(t._baseHash[0])}reset(){const s=this;s._resultHash=new s._hash(s._baseHash[0]),s._updated=!1}update(s){const t=this;t._updated=!0,t._resultHash.update(s)}digest(){const s=this,t=s._resultHash.finalize(),e=new s._hash(s._baseHash[1]).update(t).finalize();return s.reset(),e}encrypt(s){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(s),this.digest(s)}};const wi=typeof crypto!=de&&typeof crypto.getRandomValues==ke,Et="Invalid password",xt="Invalid signature",Tt="zipjs-abort-check-password";function ts(s){return wi?crypto.getRandomValues(s):mi.getRandomValues(s)}const be=16,gi="raw",ns={name:"PBKDF2"},bi={name:"HMAC"},yi="SHA-1",Ei=Object.assign({hash:bi},ns),dt=Object.assign({iterations:1e3,hash:{name:yi}},ns),xi=["deriveBits"],Ce=[8,12,16],Ae=[16,24,32],ce=10,Ti=[0,0,0,0],Je=typeof crypto!=de,Le=Je&&crypto.subtle,ss=Je&&typeof Le!=de,z=Ke.bytes,Si=zn.aes,Ri=es.ctrGladman,Ai=me.hmacSha1;let bn=Je&&ss&&typeof Le.importKey==ke,yn=Je&&ss&&typeof Le.deriveBits==ke;class Oi extends TransformStream{constructor({password:t,rawPassword:e,signed:n,encryptionStrength:r,checkPasswordOnly:i}){super({start(){Object.assign(this,{ready:new Promise(a=>this.resolveReady=a),password:as(t,e),signed:n,strength:r-1,pending:new Uint8Array})},async transform(a,o){const l=this,{password:_,strength:d,resolveReady:m,ready:y}=l;_?(await Ci(l,d,_,$(a,0,Ce[d]+2)),a=$(a,Ce[d]+2),i?o.error(new Error(Tt)):m()):await y;const R=new Uint8Array(a.length-ce-(a.length-ce)%be);o.enqueue(rs(l,a,R,0,ce,!0))},async flush(a){const{signed:o,ctr:l,hmac:_,pending:d,ready:m}=this;if(_&&l){await m;const y=$(d,0,d.length-ce),R=$(d,d.length-ce);let A=new Uint8Array;if(y.length){const f=De(z,y);_.update(f);const c=l.update(f);A=Ne(z,c)}if(o){const f=$(Ne(z,_.digest()),0,ce);for(let c=0;c<ce;c++)if(f[c]!=R[c])throw new Error(xt)}a.enqueue(A)}}})}}class Ii extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n}){let r;super({start(){Object.assign(this,{ready:new Promise(i=>this.resolveReady=i),password:as(t,e),strength:n-1,pending:new Uint8Array})},async transform(i,a){const o=this,{password:l,strength:_,resolveReady:d,ready:m}=o;let y=new Uint8Array;l?(y=await Ni(o,_,l),d()):await m;const R=new Uint8Array(y.length+i.length-i.length%be);R.set(y,0),a.enqueue(rs(o,i,R,y.length,0))},async flush(i){const{ctr:a,hmac:o,pending:l,ready:_}=this;if(o&&a){await _;let d=new Uint8Array;if(l.length){const m=a.update(De(z,l));o.update(m),d=Ne(z,m)}r.signature=Ne(z,o.digest()).slice(0,ce),i.enqueue(St(d,r.signature))}}}),r=this}}function rs(s,t,e,n,r,i){const{ctr:a,hmac:o,pending:l}=s,_=t.length-r;l.length&&(t=St(l,t),e=ki(e,_-_%be));let d;for(d=0;d<=_-be;d+=be){const m=De(z,$(t,d,d+be));i&&o.update(m);const y=a.update(m);i||o.update(y),e.set(Ne(z,y),d+n)}return s.pending=$(t,d),e}async function Ci(s,t,e,n){const r=await is(s,t,e,$(n,0,Ce[t])),i=$(n,Ce[t]);if(r[0]!=i[0]||r[1]!=i[1])throw new Error(Et)}async function Ni(s,t,e){const n=ts(new Uint8Array(Ce[t])),r=await is(s,t,e,n);return St(n,r)}async function is(s,t,e,n){s.password=null;const r=await Di(gi,e,Ei,!1,xi),i=await Pi(Object.assign({salt:n},dt),r,8*(Ae[t]*2+2)),a=new Uint8Array(i),o=De(z,$(a,0,Ae[t])),l=De(z,$(a,Ae[t],Ae[t]*2)),_=$(a,Ae[t]*2);return Object.assign(s,{keys:{key:o,authentication:l,passwordVerification:_},ctr:new Ri(new Si(o),Array.from(Ti)),hmac:new Ai(l)}),_}async function Di(s,t,e,n,r){if(bn)try{return await Le.importKey(s,t,e,n,r)}catch{return bn=!1,me.importKey(t)}else return me.importKey(t)}async function Pi(s,t,e){if(yn)try{return await Le.deriveBits(s,t,e)}catch{return yn=!1,me.pbkdf2(t,s.salt,dt.iterations,e)}else return me.pbkdf2(t,s.salt,dt.iterations,e)}function as(s,t){return t===j?pi(s):t}function St(s,t){let e=s;return s.length+t.length&&(e=new Uint8Array(s.length+t.length),e.set(s,0),e.set(t,s.length)),e}function ki(s,t){if(t&&t>s.length){const e=s;s=new Uint8Array(t),s.set(e,0)}return s}function $(s,t,e){return s.subarray(t,e)}function Ne(s,t){return s.fromBits(t)}function De(s,t){return s.toBits(t)}const Ie=12;class Li extends TransformStream{constructor({password:t,passwordVerification:e,checkPasswordOnly:n}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),os(this,t)},transform(r,i){const a=this;if(a.password){const o=En(a,r.subarray(0,Ie));if(a.password=null,o.at(-1)!=a.passwordVerification)throw new Error(Et);r=r.subarray(Ie)}n?i.error(new Error(Tt)):i.enqueue(En(a,r))}})}}class vi extends TransformStream{constructor({password:t,passwordVerification:e}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),os(this,t)},transform(n,r){const i=this;let a,o;if(i.password){i.password=null;const l=ts(new Uint8Array(Ie));l[Ie-1]=i.passwordVerification,a=new Uint8Array(n.length+l.length),a.set(xn(i,l),0),o=Ie}else a=new Uint8Array(n.length),o=0;a.set(xn(i,n),o),r.enqueue(a)}})}}function En(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=cs(s)^t[n],Rt(s,e[n]);return e}function xn(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=cs(s)^t[n],Rt(s,t[n]);return e}function os(s,t){const e=[305419896,591751049,878082192];Object.assign(s,{keys:e,crcKey0:new Ze(e[0]),crcKey2:new Ze(e[2])});for(let n=0;n<t.length;n++)Rt(s,t.charCodeAt(n))}function Rt(s,t){let[e,n,r]=s.keys;s.crcKey0.append([t]),e=~s.crcKey0.get(),n=Tn(Math.imul(Tn(n+ls(e)),134775813)+1),s.crcKey2.append([n>>>24]),r=~s.crcKey2.get(),s.keys=[e,n,r]}function cs(s){const t=s.keys[2]|2;return ls(Math.imul(t,t^1)>>>8)}function ls(s){return s&255}function Tn(s){return s&4294967295}const At="Invalid uncompressed size",Sn="deflate-raw";class Fi extends TransformStream{constructor(t,{chunkSize:e,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:l,signed:_,level:d}=t,m=this;let y,R,A=super.readable;(!a||l)&&_&&(y=new Jn,A=re(A,y)),i&&(A=us(A,o,{level:d,chunkSize:e},r,n)),a&&(l?A=re(A,new vi(t)):(R=new Ii(t),A=re(A,R))),fs(m,A,()=>{let f;a&&!l&&(f=R.signature),(!a||l)&&_&&(f=new DataView(y.value.buffer).getUint32(0)),m.signature=f})}}class Mi extends TransformStream{constructor(t,{chunkSize:e,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:a,signed:o,signature:l,compressed:_,useCompressionStream:d}=t;let m,y,R=super.readable;a&&(i?R=re(R,new Li(t)):(y=new Oi(t),R=re(R,y))),_&&(R=us(R,d,{chunkSize:e},r,n)),(!a||i)&&o&&(m=new Jn,R=re(R,m)),fs(this,R,()=>{if((!a||i)&&o){const A=new DataView(m.value.buffer);if(l!=A.getUint32(0,!1))throw new Error(xt)}})}}function fs(s,t,e){t=re(t,new TransformStream({flush:e})),Object.defineProperty(s,"readable",{get(){return t}})}function us(s,t,e,n,r){try{const i=t&&n?n:r;s=re(s,new i(Sn,e))}catch(i){if(t)s=re(s,new r(Sn,e));else throw i}return s}function re(s,t){return s.pipeThrough(t)}const Ui="message",Wi="start",Hi="pull",Rn="data",Bi="ack",An="close",ji="deflate",ds="inflate";class Gi extends TransformStream{constructor(t,e){super({});const n=this,{codecType:r}=t;let i;r.startsWith(ji)?i=Fi:r.startsWith(ds)&&(i=Mi),n.outputSize=0;let a=0;const o=new i(t,e),l=super.readable,_=new TransformStream({transform(m,y){m&&m.length&&(a+=m.length,y.enqueue(m))},flush(){Object.assign(n,{inputSize:a})}}),d=new TransformStream({transform(m,y){if(m&&m.length&&(y.enqueue(m),n.outputSize+=m.length,t.outputSize&&n.outputSize>t.outputSize))throw new Error(At)},flush(){const{signature:m}=o;Object.assign(n,{signature:m,inputSize:a})}});Object.defineProperty(n,"readable",{get(){return l.pipeThrough(_).pipeThrough(o).pipeThrough(d)}})}}class Yi extends TransformStream{constructor(t){let e;super({transform:n,flush(r){e&&e.length&&r.enqueue(e)}});function n(r,i){if(e){const a=new Uint8Array(e.length+r.length);a.set(e),a.set(r,e.length),r=a,e=null}r.length>t?(i.enqueue(r.slice(0,t)),n(r.slice(t),i)):e=r}}}let _s=typeof Worker!=de;class at{constructor(t,{readable:e,writable:n},{options:r,config:i,streamOptions:a,useWebWorkers:o,transferStreams:l,scripts:_},d){const{signal:m}=a;return Object.assign(t,{busy:!0,readable:e.pipeThrough(new Yi(i.chunkSize)).pipeThrough(new qi(a),{signal:m}),writable:n,options:Object.assign({},r),scripts:_,transferStreams:l,terminate(){return new Promise(y=>{const{worker:R,busy:A}=t;R?(A?t.resolveTerminated=y:(R.terminate(),y()),t.interface=null):y()})},onTaskFinished(){const{resolveTerminated:y}=t;y&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),y()),t.busy=!1,d(t)}}),(o&&_s?Vi:hs)(t,i)}}class qi extends TransformStream{constructor({onstart:t,onprogress:e,size:n,onend:r}){let i=0;super({async start(){t&&await ot(t,n)},async transform(a,o){i+=a.length,e&&await ot(e,i,n),o.enqueue(a)},async flush(){r&&await ot(r,i)}})}}async function ot(s,...t){try{await s(...t)}catch{}}function hs(s,t){return{run:()=>Zi(s,t)}}function Vi(s,t){const{baseURL:e,chunkSize:n}=t;if(!s.interface){let r;try{r=$i(s.scripts[0],e,s)}catch{return _s=!1,hs(s,t)}Object.assign(s,{worker:r,interface:{run:()=>Ki(s,{chunkSize:n})}})}return s.interface}async function Zi({options:s,readable:t,writable:e,onTaskFinished:n},r){let i;try{i=new Gi(s,r),await t.pipeThrough(i).pipeTo(e,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:o,outputSize:l}=i;return{signature:a,inputSize:o,outputSize:l}}catch(a){throw i&&(a.outputSize=i.outputSize),a}finally{n()}}async function Ki(s,t){let e,n;const r=new Promise((y,R)=>{e=y,n=R});Object.assign(s,{reader:null,writer:null,resolveResult:e,rejectResult:n,result:r});const{readable:i,options:a,scripts:o}=s,{writable:l,closed:_}=Xi(s.writable),d=Ye({type:Wi,scripts:o.slice(1),options:a,config:t,readable:i,writable:l},s);d||Object.assign(s,{reader:i.getReader(),writer:l.getWriter()});const m=await r;return d||await l.getWriter().close(),await _,m}function Xi(s){let t;const e=new Promise(r=>t=r);return{writable:new WritableStream({async write(r){const i=s.getWriter();await i.ready,await i.write(r),i.releaseLock()},close(){t()},abort(r){return s.getWriter().abort(r)}}),closed:e}}let On=!0,In=!0;function $i(s,t,e){const n={type:"module"};let r,i;typeof s==ke&&(s=s());try{r=new URL(s,t)}catch{r=s}if(On)try{i=new Worker(r)}catch{On=!1,i=new Worker(r,n)}else i=new Worker(r,n);return i.addEventListener(Ui,a=>Ji(a,e)),i}function Ye(s,{worker:t,writer:e,onTaskFinished:n,transferStreams:r}){try{const{value:i,readable:a,writable:o}=s,l=[];if(i&&(i.byteLength<i.buffer.byteLength?s.value=i.buffer.slice(0,i.byteLength):s.value=i.buffer,l.push(s.value)),r&&In?(a&&l.push(a),o&&l.push(o)):s.readable=s.writable=null,l.length)try{return t.postMessage(s,l),!0}catch{In=!1,s.readable=s.writable=null,t.postMessage(s)}else t.postMessage(s)}catch(i){throw e&&e.releaseLock(),n(),i}}async function Ji({data:s},t){const{type:e,value:n,messageId:r,result:i,error:a}=s,{reader:o,writer:l,resolveResult:_,rejectResult:d,onTaskFinished:m}=t;try{if(a){const{message:R,stack:A,code:f,name:c,outputSize:u}=a,b=new Error(R);Object.assign(b,{stack:A,code:f,name:c,outputSize:u}),y(b)}else{if(e==Hi){const{value:R,done:A}=await o.read();Ye({type:Rn,value:R,done:A,messageId:r},t)}e==Rn&&(await l.ready,await l.write(new Uint8Array(n)),Ye({type:Bi,messageId:r},t)),e==An&&y(null,i)}}catch(R){Ye({type:An,messageId:r},t),y(R)}function y(R,A){R?d(R):_(A),l&&l.releaseLock(),m()}}let ue=[];const ct=[];let Cn=0;async function Qi(s,t){const{options:e,config:n}=t,{transferStreams:r,useWebWorkers:i,useCompressionStream:a,codecType:o,compressed:l,signed:_,encrypted:d}=e,{workerScripts:m,maxWorkers:y}=n;t.transferStreams=r||r===j;const R=!l&&!_&&!d&&!t.transferStreams;return t.useWebWorkers=!R&&(i||i===j&&n.useWebWorkers),t.scripts=t.useWebWorkers&&m?m[o]:[],e.useCompressionStream=a||a===j&&n.useCompressionStream,(await A()).run();async function A(){const c=ue.find(u=>!u.busy);if(c)return _t(c),new at(c,s,t,f);if(ue.length<y){const u={indexWorker:Cn};return Cn++,ue.push(u),new at(u,s,t,f)}else return new Promise(u=>ct.push({resolve:u,stream:s,workerOptions:t}))}function f(c){if(ct.length){const[{resolve:u,stream:b,workerOptions:g}]=ct.splice(0,1);u(new at(c,b,g,f))}else c.worker?(_t(c),zi(c,t)):ue=ue.filter(u=>u!=c)}}function zi(s,t){const{config:e}=t,{terminateWorkerTimeout:n}=e;Number.isFinite(n)&&n>=0&&(s.terminated?s.terminated=!1:s.terminateTimeout=setTimeout(async()=>{ue=ue.filter(r=>r!=s);try{await s.terminate()}catch{}},n))}function _t(s){const{terminateTimeout:t}=s;t&&(clearTimeout(t),s.terminateTimeout=null)}async function ea(){await Promise.allSettled(ue.map(s=>(_t(s),s.terminate())))}const ps="HTTP error ",ve="HTTP Range not supported",ms="Writer iterator completed too soon",ws="Writer not initialized",ta="text/plain",na="Content-Length",sa="Content-Range",ra="Accept-Ranges",ia="Range",aa="Content-Type",oa="HEAD",Ot="GET",gs="bytes",ca=64*1024,It="writable";class Qe{constructor(){this.size=0}init(){this.initialized=!0}}class _e extends Qe{get readable(){const t=this,{chunkSize:e=ca}=t,n=new ReadableStream({start(){this.chunkOffset=0},async pull(r){const{offset:i=0,size:a,diskNumberStart:o}=n,{chunkOffset:l}=this,_=a===j?e:Math.min(e,a-l),d=await G(t,i+l,_,o);r.enqueue(d),l+e>a||a===j&&!d.length&&_?r.close():this.chunkOffset+=e}});return n}}class Ct extends Qe{constructor(){super();const t=this,e=new WritableStream({write(n){if(!t.initialized)throw new Error(ws);return t.writeUint8Array(n)}});Object.defineProperty(t,It,{get(){return e}})}writeUint8Array(){}}class la extends _e{constructor(t){super();let e=t.length;for(;t.charAt(e-1)=="=";)e--;const n=t.indexOf(",")+1;Object.assign(this,{dataURI:t,dataStart:n,size:Math.floor((e-n)*.75)})}readUint8Array(t,e){const{dataStart:n,dataURI:r}=this,i=new Uint8Array(e),a=Math.floor(t/3)*4,o=atob(r.substring(a+n,Math.ceil((t+e)/3)*4+n)),l=t-Math.floor(a/4)*3;let _=0;for(let d=l;d<l+e&&d<o.length;d++)i[d-l]=o.charCodeAt(d),_++;return _<i.length?i.subarray(0,_):i}}class fa extends Ct{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let n=0,r=e.pending;const i=e.pending.length;for(e.pending="",n=0;n<Math.floor((i+t.length)/3)*3-i;n++)r+=String.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=String.fromCharCode(t[n]);r.length&&(r.length>2?e.data+=btoa(r):e.pending+=r)}getData(){return this.data+btoa(this.pending)}}class Nt extends _e{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,e){const n=this,r=t+e;let a=await(t||r<n.size?n.blob.slice(t,r):n.blob).arrayBuffer();return a.byteLength>e&&(a=a.slice(t,r)),new Uint8Array(a)}}class bs extends Qe{constructor(t){super();const e=this,n=new TransformStream,r=[];t&&r.push([aa,t]),Object.defineProperty(e,It,{get(){return n.writable}}),e.blob=new Response(n.readable,{headers:r}).blob()}getData(){return this.blob}}class ua extends Nt{constructor(t){super(new Blob([t],{type:ta}))}}class da extends bs{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){const{encoding:t,utf8:e}=this,n=await super.getData();if(n.text&&e)return n.text();{const r=new FileReader;return new Promise((i,a)=>{Object.assign(r,{onload:({target:o})=>i(o.result),onerror:()=>a(r.error)}),r.readAsText(n,t)})}}}class _a extends _e{constructor(t,e){super(),ys(this,t,e)}async init(){await Es(this,ht,Nn),super.init()}readUint8Array(t,e){return xs(this,t,e,ht,Nn)}}class ha extends _e{constructor(t,e){super(),ys(this,t,e)}async init(){await Es(this,pt,Dn),super.init()}readUint8Array(t,e){return xs(this,t,e,pt,Dn)}}function ys(s,t,e){const{preventHeadRequest:n,useRangeHeader:r,forceRangeRequests:i,combineSizeEocd:a}=e;e=Object.assign({},e),delete e.preventHeadRequest,delete e.useRangeHeader,delete e.forceRangeRequests,delete e.combineSizeEocd,delete e.useXHR,Object.assign(s,{url:t,options:e,preventHeadRequest:n,useRangeHeader:r,forceRangeRequests:i,combineSizeEocd:a})}async function Es(s,t,e){const{url:n,preventHeadRequest:r,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=s;if(ga(n)&&(i||a)&&(typeof r>"u"||r)){const l=await t(Ot,s,Ts(s,o?-te:void 0));if(!a&&l.headers.get(ra)!=gs)throw new Error(ve);{o&&(s.eocdCache=new Uint8Array(await l.arrayBuffer()));let _;const d=l.headers.get(sa);if(d){const m=d.trim().split(/\s*\/\s*/);if(m.length){const y=m[1];y&&y!="*"&&(_=Number(y))}}_===j?await Pn(s,t,e):s.size=_}}else await Pn(s,t,e)}async function xs(s,t,e,n,r){const{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:l,options:_}=s;if(i||a){if(o&&t==l-te&&e==te)return o;if(t>=l)return new Uint8Array;{t+e>l&&(e=l-t);const d=await n(Ot,s,Ts(s,t,e));if(d.status!=206)throw new Error(ve);return new Uint8Array(await d.arrayBuffer())}}else{const{data:d}=s;return d||await r(s,_),new Uint8Array(s.data.subarray(t,t+e))}}function Ts(s,t=0,e=1){return Object.assign({},Dt(s),{[ia]:gs+"="+(t<0?t:t+"-"+(t+e-1))})}function Dt({options:s}){const{headers:t}=s;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function Nn(s){await Ss(s,ht)}async function Dn(s){await Ss(s,pt)}async function Ss(s,t){const e=await t(Ot,s,Dt(s));s.data=new Uint8Array(await e.arrayBuffer()),s.size||(s.size=s.data.length)}async function Pn(s,t,e){if(s.preventHeadRequest)await e(s,s.options);else{const r=(await t(oa,s,Dt(s))).headers.get(na);r?s.size=Number(r):await e(s,s.options)}}async function ht(s,{options:t,url:e},n){const r=await fetch(e,Object.assign({},t,{method:s,headers:n}));if(r.status<400)return r;throw r.status==416?new Error(ve):new Error(ps+(r.statusText||r.status))}function pt(s,{url:t},e){return new Promise((n,r)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const a=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{const l=o.trim().split(/\s*:\s*/);l[0]=l[0].trim().replace(/^[a-z]|-[a-z]/g,_=>_.toUpperCase()),a.push(l)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new Map(a)})}else r(i.status==416?new Error(ve):new Error(ps+(i.statusText||i.status)))},!1),i.addEventListener("error",a=>r(a.detail?a.detail.error:new Error("Network error")),!1),i.open(s,t),e)for(const a of Object.entries(e))i.setRequestHeader(a[0],a[1]);i.responseType="arraybuffer",i.send()})}class Rs extends _e{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR?new ha(t,e):new _a(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class pa extends Rs{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}}class ma extends _e{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class wa extends Ct{init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t)}),super.init()}writeUint8Array(t){const e=this;if(e.offset+t.length>e.array.length){const n=e.array;e.array=new Uint8Array(n.length+t.length),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.array}}class Pt extends _e{constructor(t){super(),this.readers=t}async init(){const t=this,{readers:e}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(e.map(async(n,r)=>{await n.init(),r!=e.length-1&&(t.lastDiskOffset+=n.size),t.size+=n.size})),super.init()}async readUint8Array(t,e,n=0){const r=this,{readers:i}=this;let a,o=n;o==-1&&(o=i.length-1);let l=t;for(;i[o]&&l>=i[o].size;)l-=i[o].size,o++;const _=i[o];if(_){const d=_.size;if(l+e<=d)a=await G(_,l,e);else{const m=d-l;a=new Uint8Array(e);const y=await G(_,l,m);a.set(y,0);const R=await r.readUint8Array(t+m,e-m,n);a.set(R,m),y.length+R.length<e&&(a=a.subarray(0,y.length+R.length))}}else a=new Uint8Array;return r.lastDiskNumber=Math.max(o,r.lastDiskNumber),a}}class Xe extends Qe{constructor(t,e=4294967295){super();const n=this;Object.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});let r,i,a;const o=new WritableStream({async write(d){const{availableSize:m}=n;if(a)d.length>=m?(await l(d.subarray(0,m)),await _(),n.diskOffset+=r.size,n.diskNumber++,a=null,await this.write(d.subarray(m))):await l(d);else{const{value:y,done:R}=await t.next();if(R&&!y)throw new Error(ms);r=y,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await Pe(r),i=y.writable,a=i.getWriter(),await this.write(d)}},async close(){await a.ready,await _()}});Object.defineProperty(n,It,{get(){return o}});async function l(d){const m=d.length;m&&(await a.ready,await a.write(d),r.size+=m,n.size+=m,n.availableSize-=m)}async function _(){await a.close()}}}class As{constructor(t){return Array.isArray(t)&&(t=new Pt(t)),t instanceof ReadableStream&&(t={readable:t}),t}}class Os{constructor(t){return t.writable===j&&typeof t.next==ke&&(t=new Xe(t)),t instanceof WritableStream&&(t={writable:t}),t.size===j&&(t.size=0),t instanceof Xe||Object.assign(t,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),t}}function ga(s){const{baseURL:t}=Kn(),{protocol:e}=new URL(s,t);return e=="http:"||e=="https:"}async function Pe(s,t){if(s.init&&!s.initialized)await s.init(t);else return Promise.resolve()}function G(s,t,e,n){return s.readUint8Array(t,e,n)}const ba=Pt,ya=Xe,Is="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Ea=Is.length==256;function xa(s){if(Ea){let t="";for(let e=0;e<s.length;e++)t+=Is[s[e]];return t}else return new TextDecoder().decode(s)}function qe(s,t){return t&&t.trim().toLowerCase()=="cp437"?xa(s):new TextDecoder(t).decode(s)}const Cs="filename",Ns="rawFilename",Ds="comment",Ps="rawComment",ks="uncompressedSize",Ls="compressedSize",vs="offset",mt="diskNumberStart",wt="lastModDate",gt="rawLastModDate",Fs="lastAccessDate",Ta="rawLastAccessDate",Ms="creationDate",Sa="rawCreationDate",Ra="internalFileAttribute",Aa="internalFileAttributes",Oa="externalFileAttribute",Ia="externalFileAttributes",Ca="msDosCompatible",Na="zip64",Da="encrypted",Pa="version",ka="versionMadeBy",La="zipCrypto",va="directory",Fa="executable",Ma="compressionMethod",Ua="signature",Wa="extraField",Ha=[Cs,Ns,Ls,ks,wt,gt,Ds,Ps,Fs,Ms,vs,mt,mt,Ra,Aa,Oa,Ia,Ca,Na,Da,Pa,ka,La,va,Fa,Ma,Ua,Wa,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class kn{constructor(t){Ha.forEach(e=>this[e]=t[e])}}const Ba="filenameEncoding",ja="commentEncoding",Ga="decodeText",Ya="extractPrependedData",qa="extractAppendedData",Va="password",Za="rawPassword",Ka="passThrough",Xa="signal",$a="checkPasswordOnly",Ja="checkOverlappingEntryOnly",Qa="checkOverlappingEntry",za="checkSignature",eo="useWebWorkers",to="useCompressionStream",no="transferStreams",so="preventClose",Ve="File format is not recognized",Us="End of central directory not found",Ws="End of Zip64 central directory locator not found",Hs="Central directory header not found",Bs="Local file header not found",js="Zip64 extra field not found",Gs="File contains encrypted entry",Ys="Encryption method not supported",bt="Compression method not supported",yt="Split zip file",qs="Overlapping entry found",Ln="utf-8",vn="cp437",ro=[[ks,pe],[Ls,pe],[vs,pe],[mt,le]],io={[le]:{getValue:W,bytes:4},[pe]:{getValue:Ee,bytes:8}};class Vs{constructor(t,e={}){Object.assign(this,{reader:new As(t),options:e,config:Kn(),readRanges:[]})}async*getEntriesGenerator(t={}){const e=this;let{reader:n}=e;const{config:r}=e;if(await Pe(n),(n.size===j||!n.readUint8Array)&&(n=new Nt(await new Response(n.readable).blob()),await Pe(n)),n.size<te)throw new Error(Ve);n.chunkSize=_i(r);const i=await ho(n,Vr,n.size,te,le*16);if(!i){const x=await G(n,0,4),p=B(x);throw W(p)==Vn?new Error(yt):new Error(Us)}const a=B(i);let o=W(a,12),l=W(a,16);const _=i.offset,d=Y(a,20),m=_+te+d;let y=Y(a,4);const R=n.lastDiskNumber||0;let A=Y(a,6),f=Y(a,8),c=0,u=0;if(l==pe||o==pe||f==le||A==le){const x=await G(n,i.offset-st,st),p=B(x);if(W(p,0)==Zr){l=Ee(p,8);let C=await G(n,l,rt,-1),I=B(C);const k=i.offset-st-rt;if(W(I,0)!=un&&l!=k){const N=l;l=k,l>N&&(c=l-N),C=await G(n,l,rt,-1),I=B(C)}if(W(I,0)!=un)throw new Error(Ws);y==le&&(y=W(I,16)),A==le&&(A=W(I,20)),f==le&&(f=Ee(I,32)),o==pe&&(o=Ee(I,40)),l-=o}}if(l>=n.size&&(c=n.size-l-o-te,l=n.size-o-te),R!=y)throw new Error(yt);if(l<0)throw new Error(Ve);let b=0,g=await G(n,l,o,A),w=B(g);if(o){const x=i.offset-o;if(W(w,b)!=fn&&l!=x){const p=l;l=x,l>p&&(c+=l-p),g=await G(n,l,o,A),w=B(g)}}const S=i.offset-l-(n.lastDiskOffset||0);if(o!=S&&S>=0&&(o=S,g=await G(n,l,o,A),w=B(g)),l<0||l>=n.size)throw new Error(Ve);const h=q(e,t,Ba),T=q(e,t,ja);for(let x=0;x<f;x++){const p=new oo(n,r,e.options);if(W(w,b)!=fn)throw new Error(Hs);Zs(p,w,b+6);const C=!!p.bitFlag.languageEncodingFlag,I=b+46,k=I+p.filenameLength,N=k+p.extraFieldLength,P=Y(w,b+4),M=P>>8==0,L=P>>8==3,V=g.subarray(I,k),D=Y(w,b+32),J=N+D,F=g.subarray(N,J),U=C,Fe=C,Te=W(w,b+38),ee=M&&(ye(w,b+38)&mn)==mn||L&&(Te>>16&ii)==ai||V.length&&V.at(-1)==wn.charCodeAt(0),Q=L&&(Te>>16&oi)!=0,Lt=W(w,b+42)+c;Object.assign(p,{versionMadeBy:P,msDosCompatible:M,compressedSize:0,uncompressedSize:0,commentLength:D,directory:ee,offset:Lt,diskNumberStart:Y(w,b+34),internalFileAttributes:Y(w,b+36),externalFileAttributes:Te,rawFilename:V,filenameUTF8:U,commentUTF8:Fe,rawExtraField:g.subarray(k,N),executable:Q}),p.internalFileAttribute=p.internalFileAttributes,p.externalFileAttribute=p.externalFileAttributes;const vt=q(e,t,Ga)||qe,Ft=U?Ln:h||vn,Mt=Fe?Ln:T||vn;let Me=vt(V,Ft);Me===j&&(Me=qe(V,Ft));let ze=vt(F,Mt);ze===j&&(ze=qe(F,Mt)),Object.assign(p,{rawComment:F,filename:Me,comment:ze,directory:ee||Me.endsWith(wn)}),u=Math.max(Lt,u),Ks(p,p,w,b+6),p.zipCrypto=p.encrypted&&!p.extraFieldAES;const Se=new kn(p);Se.getData=(Ue,We)=>p.getData(Ue,Se,e.readRanges,We),Se.arrayBuffer=async Ue=>{const We=new TransformStream,[Js]=await Promise.all([new Response(We.readable).arrayBuffer(),p.getData(We,Se,e.readRanges,Ue)]);return Js},b=J;const{onprogress:Ut}=t;if(Ut)try{await Ut(x+1,f,new kn(p))}catch{}yield Se}const E=q(e,t,Ya),O=q(e,t,qa);return E&&(e.prependedData=u>0?await G(n,0,u):new Uint8Array),e.comment=d?await G(n,_+te,d):new Uint8Array,O&&(e.appendedData=m<n.size?await G(n,m,n.size-m):new Uint8Array),!0}async getEntries(t={}){const e=[];for await(const n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}}class ao{constructor(t={}){const{readable:e,writable:n}=new TransformStream,r=new Vs(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(i){const{done:a,value:o}=await r.next();if(a)return i.close();const l={...o,readable:(function(){const{readable:_,writable:d}=new TransformStream;if(o.getData)return o.getData(d),_})()};delete l.getData,i.enqueue(l)}}),this.writable=n}}class oo{constructor(t,e,n){Object.assign(this,{reader:t,config:e,options:n})}async getData(t,e,n,r={}){const i=this,{reader:a,offset:o,diskNumberStart:l,extraFieldAES:_,extraFieldZip64:d,compressionMethod:m,config:y,bitFlag:R,signature:A,rawLastModDate:f,uncompressedSize:c,compressedSize:u}=i,{dataDescriptor:b}=R,g=e.localDirectory={},w=await G(a,o,it,l),S=B(w);let h=q(i,r,Va),T=q(i,r,Za);const E=q(i,r,Ka);if(h=h&&h.length&&h,T=T&&T.length&&T,_&&_.originalCompressionMethod!=Gr)throw new Error(bt);if(m!=jr&&m!=Br&&!E)throw new Error(bt);if(W(S,0)!=Yr)throw new Error(Bs);Zs(g,S,4);const{extraFieldLength:O,filenameLength:x,lastAccessDate:p,creationDate:C}=g;g.rawExtraField=O?await G(a,o+it+x,O,l):new Uint8Array,Ks(i,g,S,4,!0),Object.assign(e,{lastAccessDate:p,creationDate:C});const I=i.encrypted&&g.encrypted&&!E,k=I&&!_;if(E||(e.zipCrypto=k),I){if(!k&&_.strength===j)throw new Error(Ys);if(!h&&!T)throw new Error(Gs)}const N=o+it+x+O,P=u,M=a.readable;Object.assign(M,{diskNumberStart:l,offset:N,size:P});const L=q(i,r,Xa),V=q(i,r,$a);let D=q(i,r,Qa);const J=q(i,r,Ja);J&&(D=!0);const{onstart:F,onprogress:U,onend:Fe}=r,Te={options:{codecType:ds,password:h,rawPassword:T,zipCrypto:k,encryptionStrength:_&&_.strength,signed:q(i,r,za)&&!E,passwordVerification:k&&(b?f>>>8&255:A>>>24&255),outputSize:c,signature:A,compressed:m!=0&&!E,encrypted:i.encrypted&&!E,useWebWorkers:q(i,r,eo),useCompressionStream:q(i,r,to),transferStreams:q(i,r,no),checkPasswordOnly:V},config:y,streamOptions:{signal:L,size:P,onstart:F,onprogress:U,onend:Fe}};D&&await _o({reader:a,fileEntry:e,offset:o,diskNumberStart:l,signature:A,compressedSize:u,uncompressedSize:c,dataOffset:N,dataDescriptor:b||g.bitFlag.dataDescriptor,extraFieldZip64:d||g.extraFieldZip64,readRanges:n});let ee;try{if(!J){V&&(t=new WritableStream),t=new Os(t),await Pe(t,E?u:c),{writable:ee}=t;const{outputSize:Q}=await Qi({readable:M,writable:ee},Te);if(t.size+=Q,Q!=(E?u:c))throw new Error(At)}}catch(Q){if(Q.outputSize!==j&&(t.size+=Q.outputSize),!V||Q.message!=Tt)throw Q}finally{!q(i,r,so)&&ee&&!ee.locked&&await ee.getWriter().close()}return V||J?j:t.getData?t.getData():ee}}function Zs(s,t,e){const n=s.rawBitFlag=Y(t,e+2),r=(n&_n)==_n,i=W(t,e+6);Object.assign(s,{encrypted:r,version:Y(t,e),bitFlag:{level:(n&ri)>>1,dataDescriptor:(n&hn)==hn,languageEncodingFlag:(n&pn)==pn},rawLastModDate:i,lastModDate:po(i),filenameLength:Y(t,e+22),extraFieldLength:Y(t,e+24)})}function Ks(s,t,e,n,r){const{rawExtraField:i}=t,a=t.extraField=new Map,o=B(new Uint8Array(i));let l=0;try{for(;l<i.length;){const u=Y(o,l),b=Y(o,l+2);a.set(u,{type:u,data:i.slice(l+4,l+4+b)}),l+=4+b}}catch{}const _=Y(e,n+4);Object.assign(t,{signature:W(e,n+ci),compressedSize:W(e,n+li),uncompressedSize:W(e,n+fi)});const d=a.get($r);d&&(co(d,t),t.extraFieldZip64=d);const m=a.get(ti);m&&(Fn(m,Cs,Ns,t,s),t.extraFieldUnicodePath=m);const y=a.get(ni);y&&(Fn(y,Ds,Ps,t,s),t.extraFieldUnicodeComment=y);const R=a.get(Jr);R?(lo(R,t,_),t.extraFieldAES=R):t.compressionMethod=_;const A=a.get(Qr);A&&(fo(A,t),t.extraFieldNTFS=A);const f=a.get(ei);f&&(uo(f,t,r),t.extraFieldExtendedTimestamp=f);const c=a.get(si);c&&(t.extraFieldUSDZ=c)}function co(s,t){t.zip64=!0;const e=B(s.data),n=ro.filter(([r,i])=>t[r]==i);for(let r=0,i=0;r<n.length;r++){const[a,o]=n[r];if(t[a]==o){const l=io[o];t[a]=s[a]=l.getValue(e,i),i+=l.bytes}else if(s[a])throw new Error(js)}}function Fn(s,t,e,n,r){const i=B(s.data),a=new Ze;a.append(r[e]);const o=B(new Uint8Array(4));o.setUint32(0,a.get(),!0);const l=W(i,1);Object.assign(s,{version:ye(i,0),[t]:qe(s.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&l==W(o,0)}),s.valid&&(n[t]=s[t],n[t+"UTF8"]=!0)}function lo(s,t,e){const n=B(s.data),r=ye(n,4);Object.assign(s,{vendorVersion:ye(n,0),vendorId:ye(n,2),strength:r,originalCompressionMethod:e,compressionMethod:Y(n,5)}),t.compressionMethod=s.compressionMethod}function fo(s,t){const e=B(s.data);let n=4,r;try{for(;n<s.data.length&&!r;){const i=Y(e,n),a=Y(e,n+2);i==zr&&(r=s.data.slice(n+4,n+4+a)),n+=4+a}}catch{}try{if(r&&r.length==24){const i=B(r),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),l=i.getBigUint64(16,!0);Object.assign(s,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:l});const _=lt(a),d=lt(o),m=lt(l),y={lastModDate:_,lastAccessDate:d,creationDate:m};Object.assign(s,y),Object.assign(t,y)}}catch{}}function uo(s,t,e){const n=B(s.data),r=ye(n,0),i=[],a=[];e?((r&1)==1&&(i.push(wt),a.push(gt)),(r&2)==2&&(i.push(Fs),a.push(Ta)),(r&4)==4&&(i.push(Ms),a.push(Sa))):s.data.length>=5&&(i.push(wt),a.push(gt));let o=1;i.forEach((l,_)=>{if(s.data.length>=o+4){const d=W(n,o);t[l]=s[l]=new Date(d*1e3);const m=a[_];s[m]=d}o+=4})}async function _o({reader:s,fileEntry:t,offset:e,diskNumberStart:n,signature:r,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:l,extraFieldZip64:_,readRanges:d}){let m=0;if(n)for(let A=0;A<n;A++){const f=s.readers[A];m+=f.size}let y=0;if(l&&(_?y=Xr:y=Kr),y){const A=await G(s,o+i,y+dn,n);if(W(B(A),0)==qr){const c=W(B(A),4);let u,b;_?(u=Ee(B(A),8),b=Ee(B(A),16)):(u=W(B(A),8),b=W(B(A),12)),(t.encrypted&&!t.zipCrypto||c==r)&&u==i&&b==a&&(y+=dn)}}const R={start:m+e,end:m+o+i+y,fileEntry:t};for(const A of d)if(A.fileEntry!=t&&R.start>=A.start&&R.start<A.end){const f=new Error(qs);throw f.overlappingEntry=A.fileEntry,f}d.push(R)}async function ho(s,t,e,n,r){const i=new Uint8Array(4),a=B(i);mo(a,0,t);const o=n+r;return await l(n)||await l(Math.min(o,e));async function l(_){const d=e-_,m=await G(s,d,_);for(let y=m.length-n;y>=0;y--)if(m[y]==i[0]&&m[y+1]==i[1]&&m[y+2]==i[2]&&m[y+3]==i[3])return{offset:d+y,buffer:m.slice(y,y+n).buffer}}}function q(s,t,e){return t[e]===j?s.options[e]:t[e]}function po(s){const t=(s&4294901760)>>16,e=s&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(e&63488)>>11,(e&2016)>>5,(e&31)*2,0)}catch{}}function lt(s){return new Date(Number(s/BigInt(1e4)-BigInt(116444736e5)))}function ye(s,t){return s.getUint8(t)}function Y(s,t){return s.getUint16(t,!0)}function W(s,t){return s.getUint32(t,!0)}function Ee(s,t){return Number(s.getBigUint64(t,!0))}function mo(s,t,e){s.setUint32(t,e,!0)}function B(s){return new DataView(s.buffer)}Xn({Inflate:Hr});const wo=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:Nt,BlobWriter:bs,Data64URIReader:la,Data64URIWriter:fa,ERR_BAD_FORMAT:Ve,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Hs,ERR_ENCRYPTED:Gs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ws,ERR_EOCDR_NOT_FOUND:Us,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:js,ERR_HTTP_RANGE:ve,ERR_INVALID_PASSWORD:Et,ERR_INVALID_SIGNATURE:xt,ERR_INVALID_UNCOMPRESSED_SIZE:At,ERR_ITERATOR_COMPLETED_TOO_SOON:ms,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Bs,ERR_OVERLAPPING_ENTRY:qs,ERR_SPLIT_ZIP_FILE:yt,ERR_UNSUPPORTED_COMPRESSION:bt,ERR_UNSUPPORTED_ENCRYPTION:Ys,ERR_WRITER_NOT_INITIALIZED:ws,GenericReader:As,GenericWriter:Os,HttpRangeReader:pa,HttpReader:Rs,Reader:_e,SplitDataReader:Pt,SplitDataWriter:Xe,SplitZipReader:ba,SplitZipWriter:ya,TextReader:ua,TextWriter:da,Uint8ArrayReader:ma,Uint8ArrayWriter:wa,Writer:Ct,ZipReader:Vs,ZipReaderStream:ao,configure:Xn,getMimeType:hi,initStream:Pe,readUint8Array:G,terminateWorkers:ea},Symbol.toStringTag,{value:"Module"})),Oe=wo;class go{constructor(t,e){we(this,"_zipReader");we(this,"_entriesPromise");we(this,"_traceURL");this._traceURL=t,Oe.configure({baseURL:self.location.href}),this._zipReader=new Oe.ZipReader(new Oe.HttpReader(this._resolveTraceURL(t),{mode:"cors",preventHeadRequest:!0}),{useWebWorkers:!1}),this._entriesPromise=this._zipReader.getEntries({onprogress:e}).then(n=>{const r=new Map;for(const i of n)r.set(i.filename,i);return r})}_resolveTraceURL(t){let e;return t.startsWith("http")||t.startsWith("blob")?(e=t,e.startsWith("https://www.dropbox.com/")&&(e="https://dl.dropboxusercontent.com/"+e.substring(24))):e=kt(t),e}isLive(){return!1}traceURL(){return this._traceURL}async entryNames(){return[...(await this._entriesPromise).keys()]}async hasEntry(t){return(await this._entriesPromise).has(t)}async readText(t){var i;const n=(await this._entriesPromise).get(t);if(!n)return;const r=new Oe.TextWriter;return await((i=n.getData)==null?void 0:i.call(n,r)),r.getData()}async readBlob(t){const n=(await this._entriesPromise).get(t);if(!n)return;const r=new Oe.BlobWriter;return await n.getData(r),r.getData()}}class bo{constructor(t){we(this,"_entriesPromise");we(this,"_path");this._path=t,this._entriesPromise=this._readFile(t).then(async e=>{if(!e)throw new Error("File not found");const n=await e.json(),r=new Map;for(const i of n.entries)r.set(i.name,i.path);return r})}isLive(){return!0}traceURL(){return this._path}async entryNames(){return[...(await this._entriesPromise).keys()]}async hasEntry(t){return(await this._entriesPromise).has(t)}async readText(t){const e=await this._readEntry(t);return e==null?void 0:e.text()}async readBlob(t){const e=await this._readEntry(t);return(e==null?void 0:e.status)===200?await(e==null?void 0:e.blob()):void 0}async _readEntry(t){const n=(await this._entriesPromise).get(t);if(n)return this._readFile(n)}async _readFile(t){const e=await fetch(kt(t));if(e.status!==404)return e}}function kt(s){return`file?path=${encodeURIComponent(s)}`}self.addEventListener("install",function(s){self.skipWaiting()});self.addEventListener("activate",function(s){s.waitUntil(self.clients.claim())});const yo=new URL(self.registration.scope).pathname,xe=new Map,$e=new Map,Mn=self.registration.scope.startsWith("https://");function Eo(){xe.clear(),$e.clear()}async function Un(s,t,e,n){try{return{loadedTrace:await Xs(s,t,e,n)}}catch(r){return{errorResponse:new Response(JSON.stringify({error:r==null?void 0:r.message}),{status:500,headers:{"Content-Type":"application/json"}})}}}function Xs(s,t,e,n){const r=t.searchParams.get("trace");if(!r)throw new Error("trace parameter is missing");$e.set(s,r);const a=e&&$s(r)?void 0:xe.get(r);if(a)return a;const o=xo(r,n);return xe.set(r,o),o.catch(()=>xe.delete(r)),o}async function xo(s,t){var r;await Ro();const e=new gr;try{const[i,a]=yr(t,[.5,.4,.1]),o=$s(s)||s.endsWith("traces.dir")?new bo(s):new go(s,i);await e.load(o,a)}catch(i){if(console.error(i),(r=i==null?void 0:i.message)!=null&&r.includes("Cannot find .trace file")&&await e.hasEntry("index.html"))throw new Error("Could not load trace. Did you upload a Playwright HTML report instead? Make sure to extract the archive first and then double-click the index.html file or put it on a web server.");if(i instanceof Gn)throw new Error(`Could not load trace from ${s}. ${i.message}`);let a=`Could not load trace from ${s}. Make sure a valid Playwright Trace is accessible over this url.`;const o=await navigator.permissions.query({name:"local-network-access"}).catch(()=>{});throw o&&o.state!=="granted"&&(a+=`
|
|
4
|
+
|
|
5
|
+
If your trace is in a local or private network, please grant permission for Local Network Access.`),new Error(a)}const n=new er(e.storage(),i=>e.resourceForSha1(i));return{traceLoader:e,snapshotServer:n}}async function To(s){const t=s.request;if(t.url.startsWith("chrome-extension://"))return fetch(t);const e=new URL(t.url);let n;if(t.url.startsWith(self.registration.scope)&&(n=e.pathname.substring(yo.length-1)),n==="/restartServiceWorker")return Eo(),new Response(null,{status:200});if(n==="/ping")return new Response(null,{status:200});const r=!!s.resultingClientId,i=s.clientId?await self.clients.get(s.clientId):void 0;if(r&&!(n!=null&&n.startsWith("/sha1/"))){if(n!=null&&n.startsWith("/snapshot/")){const{errorResponse:a,loadedTrace:o}=await Un(s.resultingClientId,e,!1,Ao);if(a)return a;const l=n.substring(10),_=o.snapshotServer.serveSnapshot(l,e.searchParams,e.href);return Mn&&_.headers.set("Content-Security-Policy","upgrade-insecure-requests"),_}return fetch(s.request)}if(!n){if(!i)return new Response("Sub-resource without a client",{status:500});const{snapshotServer:a}=await Xs(i.id,new URL(i.url),!1,Wn(i));if(!a)return new Response(null,{status:404});const o=[t.url];return Mn&&t.url.startsWith("https://")&&o.push(t.url.replace(/^https/,"http")),a.serveResource(o,t.method,i.url)}if(n==="/contexts"||n.startsWith("/snapshotInfo/")||n.startsWith("/closest-screenshot/")||n.startsWith("/sha1/")){if(!i)return new Response("Sub-resource without a client",{status:500});const a=n==="/contexts",{errorResponse:o,loadedTrace:l}=await Un(i.id,e,a,Wn(i));if(o)return o;if(n==="/contexts")return new Response(JSON.stringify(l.traceLoader.contextEntries),{status:200,headers:{"Content-Type":"application/json"}});if(n.startsWith("/snapshotInfo/")){const _=n.substring(14);return l.snapshotServer.serveSnapshotInfo(_,e.searchParams)}if(n.startsWith("/closest-screenshot/")){const _=n.substring(20);return l.snapshotServer.serveClosestScreenshot(_,e.searchParams)}if(n.startsWith("/sha1/")){const _=await l.traceLoader.resourceForSha1(n.slice(6));return _?new Response(_,{status:200,headers:So(e.searchParams)}):new Response(null,{status:404})}}if(n!=null&&n.startsWith("/file/")){const a=e.searchParams.get("path");return await fetch(kt(a))}return fetch(s.request)}function So(s){const t=s.get("dn"),e=s.get("dct");if(!t)return;const n=new Headers;return n.set("Content-Disposition",`attachment; filename="attachment"; filename*=UTF-8''${encodeURIComponent(t)}`),e&&n.set("Content-Type",e),n}async function Ro(){const s=await self.clients.matchAll(),t=new Set;for(const[e,n]of $e){if(!s.find(r=>r.id===e)){$e.delete(e);continue}t.add(n)}for(const e of xe.keys())t.has(e)||xe.delete(e)}function Wn(s){return(t,e)=>{s.postMessage({method:"progress",params:{done:t,total:e}})}}function Ao(s,t){}function $s(s){return s.endsWith(".json")}self.addEventListener("fetch",function(s){if(s.request.headers.get("x-pw-serviceworker")==="skip")return!1;s.respondWith(To(s))});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/xtermModule-CsJ4vdCR.js","./xtermModule.DYP7pi_n.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{u as zt,r as H,g as Kt,_ as Vt,h as $t,i as Ht,j as n,R as u,E as qt,s as yt,k as mt,l as Yt,t as Qt,m as Xt,n as q,o as F,T as Et,c as Jt,p as at,a as Zt,W as Gt,S as te,q as ee,b as se,e as ie,f as oe}from"./assets/defaultSettingsView-V7hnXDpz.js";var re={};class pt{constructor(t,e={}){this.isListing=!1,this._tests=new Map,this._rootSuite=new Z("","root"),this._options=e,this._reporter=t}reset(){this._rootSuite._entries=[],this._tests.clear()}dispatch(t){const{method:e,params:s}=t;if(e==="onConfigure"){this._onConfigure(s.config);return}if(e==="onProject"){this._onProject(s.project);return}if(e==="onBegin"){this._onBegin();return}if(e==="onTestBegin"){this._onTestBegin(s.testId,s.result);return}if(e==="onTestPaused"){this._onTestPaused(s.testId,s.resultId,s.stepId,s.errors);return}if(e==="onTestEnd"){this._onTestEnd(s.test,s.result);return}if(e==="onStepBegin"){this._onStepBegin(s.testId,s.resultId,s.step);return}if(e==="onAttach"){this._onAttach(s.testId,s.resultId,s.attachments);return}if(e==="onStepEnd"){this._onStepEnd(s.testId,s.resultId,s.step);return}if(e==="onError"){this._onError(s.error);return}if(e==="onStdIO"){this._onStdIO(s.type,s.testId,s.resultId,s.data,s.isBase64);return}if(e==="onEnd")return this._onEnd(s.result);if(e==="onExit")return this._onExit()}_onConfigure(t){var e,s;this._rootDir=t.rootDir,this._config=this._parseConfig(t),(s=(e=this._reporter).onConfigure)==null||s.call(e,this._config)}_onProject(t){let e=this._options.mergeProjects?this._rootSuite.suites.find(s=>s.project().name===t.name):void 0;e||(e=new Z(t.name,"project"),this._rootSuite._addSuite(e)),e._project=this._parseProject(t);for(const s of t.suites)this._mergeSuiteInto(s,e)}_onBegin(){var t,e;(e=(t=this._reporter).onBegin)==null||e.call(t,this._rootSuite)}_onTestBegin(t,e){var c,r;const s=this._tests.get(t);this._options.clearPreviousResultsWhenTestBegins&&(s.results=[]);const i=s._createTestResult(e.id);i.retry=e.retry,i.workerIndex=e.workerIndex,i.parallelIndex=e.parallelIndex,i.setStartTimeNumber(e.startTime),(r=(c=this._reporter).onTestBegin)==null||r.call(c,s,i)}_onTestPaused(t,e,s,i){var d,h;const c=this._tests.get(t),r=c.results.find(a=>a._id===e),m=r._stepMap.get(s);r.errors.push(...i),r.error=r.errors[0],(h=(d=this._reporter).onTestPaused)==null||h.call(d,c,r,m)}_onTestEnd(t,e){var c,r;const s=this._tests.get(t.testId);s.timeout=t.timeout,s.expectedStatus=t.expectedStatus;const i=s.results.find(m=>m._id===e.id);i.duration=e.duration,i.status=e.status,i.errors.push(...e.errors??[]),i.error=i.errors[0],e.attachments&&(i.attachments=this._parseAttachments(e.attachments)),e.annotations&&(this._absoluteAnnotationLocationsInplace(e.annotations),i.annotations=e.annotations,s.annotations=e.annotations),(r=(c=this._reporter).onTestEnd)==null||r.call(c,s,i),i._stepMap=new Map}_onStepBegin(t,e,s){var h,a;const i=this._tests.get(t),c=i.results.find(w=>w._id===e),r=s.parentStepId?c._stepMap.get(s.parentStepId):void 0,m=this._absoluteLocation(s.location),d=new ae(s,r,m,c);r?r.steps.push(d):c.steps.push(d),c._stepMap.set(s.id,d),(a=(h=this._reporter).onStepBegin)==null||a.call(h,i,c,d)}_onStepEnd(t,e,s){var m,d;const i=this._tests.get(t),c=i.results.find(h=>h._id===e),r=c._stepMap.get(s.id);r._endPayload=s,r.duration=s.duration,r.error=s.error,(d=(m=this._reporter).onStepEnd)==null||d.call(m,i,c,r)}_onAttach(t,e,s){this._tests.get(t).results.find(r=>r._id===e).attachments.push(...s.map(r=>({name:r.name,contentType:r.contentType,path:r.path,body:r.base64&&globalThis.Buffer?Buffer.from(r.base64,"base64"):void 0})))}_onError(t){var e,s;(s=(e=this._reporter).onError)==null||s.call(e,t)}_onStdIO(t,e,s,i,c){var h,a,w,S;const r=c?globalThis.Buffer?Buffer.from(i,"base64"):atob(i):i,m=e?this._tests.get(e):void 0,d=m&&s?m.results.find(l=>l._id===s):void 0;t==="stdout"?(d==null||d.stdout.push(r),(a=(h=this._reporter).onStdOut)==null||a.call(h,r,m,d)):(d==null||d.stderr.push(r),(S=(w=this._reporter).onStdErr)==null||S.call(w,r,m,d))}async _onEnd(t){var e,s;await((s=(e=this._reporter).onEnd)==null?void 0:s.call(e,{status:t.status,startTime:new Date(t.startTime),duration:t.duration}))}_onExit(){var t,e;return(e=(t=this._reporter).onExit)==null?void 0:e.call(t)}_parseConfig(t){const e={...ce,...t};return this._options.configOverrides&&(e.configFile=this._options.configOverrides.configFile,e.reportSlowTests=this._options.configOverrides.reportSlowTests,e.quiet=this._options.configOverrides.quiet,e.reporter=[...this._options.configOverrides.reporter]),e}_parseProject(t){return{metadata:t.metadata,name:t.name,outputDir:this._absolutePath(t.outputDir),repeatEach:t.repeatEach,retries:t.retries,testDir:this._absolutePath(t.testDir),testIgnore:lt(t.testIgnore),testMatch:lt(t.testMatch),timeout:t.timeout,grep:lt(t.grep),grepInvert:lt(t.grepInvert),dependencies:t.dependencies,teardown:t.teardown,snapshotDir:this._absolutePath(t.snapshotDir),use:t.use}}_parseAttachments(t){return t.map(e=>({...e,body:e.base64&&globalThis.Buffer?Buffer.from(e.base64,"base64"):void 0}))}_mergeSuiteInto(t,e){let s=e.suites.find(i=>i.title===t.title);s||(s=new Z(t.title,e.type==="project"?"file":"describe"),e._addSuite(s)),s.location=this._absoluteLocation(t.location),t.entries.forEach(i=>{"testId"in i?this._mergeTestInto(i,s):this._mergeSuiteInto(i,s)})}_mergeTestInto(t,e){let s=this._options.mergeTestCases?e.tests.find(i=>i.title===t.title&&i.repeatEachIndex===t.repeatEachIndex):void 0;s||(s=new ne(t.testId,t.title,this._absoluteLocation(t.location),t.repeatEachIndex),e._addTest(s),this._tests.set(s.id,s)),this._updateTest(t,s)}_updateTest(t,e){return e.id=t.testId,e.location=this._absoluteLocation(t.location),e.retries=t.retries,e.tags=t.tags??[],e.annotations=t.annotations??[],this._absoluteAnnotationLocationsInplace(e.annotations),e}_absoluteAnnotationLocationsInplace(t){for(const e of t)e.location&&(e.location=this._absoluteLocation(e.location))}_absoluteLocation(t){return t&&{...t,file:this._absolutePath(t.file)}}_absolutePath(t){if(t!==void 0)return this._options.resolvePath?this._options.resolvePath(this._rootDir,t):this._rootDir+"/"+t}}class Z{constructor(t,e){this._entries=[],this._requireFile="",this._parallelMode="none",this.title=t,this._type=e}get type(){return this._type}get suites(){return this._entries.filter(t=>t.type!=="test")}get tests(){return this._entries.filter(t=>t.type==="test")}entries(){return this._entries}allTests(){const t=[],e=s=>{for(const i of s.entries())i.type==="test"?t.push(i):e(i)};return e(this),t}titlePath(){const t=this.parent?this.parent.titlePath():[];return(this.title||this._type!=="describe")&&t.push(this.title),t}project(){var t;return this._project??((t=this.parent)==null?void 0:t.project())}_addTest(t){t.parent=this,this._entries.push(t)}_addSuite(t){t.parent=this,this._entries.push(t)}}class ne{constructor(t,e,s,i){this.fn=()=>{},this.results=[],this.type="test",this.expectedStatus="passed",this.timeout=0,this.annotations=[],this.retries=0,this.tags=[],this.repeatEachIndex=0,this.id=t,this.title=e,this.location=s,this.repeatEachIndex=i}titlePath(){const t=this.parent?this.parent.titlePath():[];return t.push(this.title),t}outcome(){return de(this)}ok(){const t=this.outcome();return t==="expected"||t==="flaky"||t==="skipped"}_createTestResult(t){const e=new le(this.results.length,t);return this.results.push(e),e}}class ae{constructor(t,e,s,i){this.duration=-1,this.steps=[],this._startTime=0,this.title=t.title,this.category=t.category,this.location=s,this.parent=e,this._startTime=t.startTime,this._result=i}titlePath(){var e;return[...((e=this.parent)==null?void 0:e.titlePath())||[],this.title]}get startTime(){return new Date(this._startTime)}set startTime(t){this._startTime=+t}get attachments(){var t,e;return((e=(t=this._endPayload)==null?void 0:t.attachments)==null?void 0:e.map(s=>this._result.attachments[s]))??[]}get annotations(){var t;return((t=this._endPayload)==null?void 0:t.annotations)??[]}}class le{constructor(t,e){this.parallelIndex=-1,this.workerIndex=-1,this.duration=-1,this.stdout=[],this.stderr=[],this.attachments=[],this.annotations=[],this.status="skipped",this.steps=[],this.errors=[],this._stepMap=new Map,this._startTime=0,this.retry=t,this._id=e}setStartTimeNumber(t){this._startTime=t}get startTime(){return new Date(this._startTime)}set startTime(t){this._startTime=+t}}const ce={forbidOnly:!1,fullyParallel:!1,globalSetup:null,globalTeardown:null,globalTimeout:0,grep:/.*/,grepInvert:null,maxFailures:0,metadata:{},preserveOutput:"always",projects:[],reporter:[[re.CI?"dot":"list"]],reportSlowTests:{max:5,threshold:3e5},configFile:"",rootDir:"",quiet:!1,shard:null,tags:[],updateSnapshots:"missing",updateSourceMethod:"patch",version:"",workers:0,webServer:null};function lt(o){return o.map(t=>t.s!==void 0?t.s:new RegExp(t.r.source,t.r.flags))}function de(o){let t=0,e=0,s=0;for(const i of o.results)i.status==="interrupted"||(i.status==="skipped"&&o.expectedStatus==="skipped"?++t:i.status==="skipped"||(i.status===o.expectedStatus?++e:++s));return e===0&&s===0?"skipped":s===0?"expected":e===0&&t===0?"unexpected":"flaky"}class gt{constructor(t,e,s,i,c,r){this._treeItemById=new Map,this._treeItemByTestId=new Map;const m=i&&[...i.values()].some(Boolean);this.pathSeparator=c,this.rootItem={kind:"group",subKind:"folder",id:t,title:"",location:{file:"",line:0,column:0},duration:0,parent:void 0,children:[],status:"none",hasLoadErrors:!1},this._treeItemById.set(t,this.rootItem);const d=(h,a,w,S)=>{for(const l of S==="tests"?[]:a.suites){if(!l.title){d(h,l,w,"all");continue}let k=w.children.find(_=>_.kind==="group"&&_.title===l.title);k||(k={kind:"group",subKind:"describe",id:"suite:"+a.titlePath().join("")+""+l.title,title:l.title,location:l.location,duration:0,parent:w,children:[],status:"none",hasLoadErrors:!1},this._addChild(w,k)),d(h,l,k,"all")}for(const l of S==="suites"?[]:a.tests){const k=l.title;let _=w.children.find(D=>D.kind!=="group"&&D.title===k);_||(_={kind:"case",id:"test:"+l.titlePath().join(""),title:k,parent:w,children:[],tests:[],location:l.location,duration:0,status:"none",project:void 0,test:void 0,tags:l.tags},this._addChild(w,_));const x=l.results[0];let I="none";(x==null?void 0:x[G])==="scheduled"?I="scheduled":(x==null?void 0:x[G])==="running"?I="running":(x==null?void 0:x.status)==="skipped"?I="skipped":(x==null?void 0:x.status)==="interrupted"?I="none":x&&l.outcome()!=="expected"?I="failed":x&&l.outcome()==="expected"&&(I="passed"),_.tests.push(l);const b={kind:"test",id:l.id,title:h.name,location:l.location,test:l,parent:_,children:[],status:I,duration:l.results.length?Math.max(0,l.results[0].duration):0,project:h};this._addChild(_,b),this._treeItemByTestId.set(l.id,b),_.duration=_.children.reduce((D,C)=>D+C.duration,0)}};for(const h of(e==null?void 0:e.suites)||[])if(!(m&&!i.get(h.title)))for(const a of h.suites)if(r){if(d(h.project(),a,this.rootItem,"suites"),a.tests.length){const w=this._defaultDescribeItem();d(h.project(),a,w,"tests")}}else{const w=this._fileItem(a.location.file.split(c),!0);d(h.project(),a,w,"all")}for(const h of s){if(!h.location)continue;const a=this._fileItem(h.location.file.split(c),!0);a.hasLoadErrors=!0}}_addChild(t,e){t.children.push(e),e.parent=t,this._treeItemById.set(e.id,e)}filterTree(t,e,s){const i=t.trim().toLowerCase().split(" "),c=[...e.values()].some(Boolean),r=d=>{const h=[...d.tests[0].titlePath(),...d.tests[0].tags].join(" ").toLowerCase();return!i.every(a=>h.includes(a))&&!d.tests.some(a=>s==null?void 0:s.has(a.id))?!1:(d.children=d.children.filter(a=>!c||(s==null?void 0:s.has(a.test.id))||e.get(a.status)),d.tests=d.children.map(a=>a.test),!!d.children.length)},m=d=>{const h=[];for(const a of d.children)a.kind==="case"?r(a)&&h.push(a):(m(a),(a.children.length||a.hasLoadErrors)&&h.push(a));d.children=h};m(this.rootItem)}_fileItem(t,e){if(t.length===0)return this.rootItem;const s=t.join(this.pathSeparator),i=this._treeItemById.get(s);if(i)return i;const c=this._fileItem(t.slice(0,t.length-1),!1),r={kind:"group",subKind:e?"file":"folder",id:s,title:t[t.length-1],location:{file:s,line:0,column:0},duration:0,parent:c,children:[],status:"none",hasLoadErrors:!1};return this._addChild(c,r),r}_defaultDescribeItem(){let t=this._treeItemById.get("<anonymous>");return t||(t={kind:"group",subKind:"describe",id:"<anonymous>",title:"<anonymous>",location:{file:"",line:0,column:0},duration:0,parent:this.rootItem,children:[],status:"none",hasLoadErrors:!1},this._addChild(this.rootItem,t)),t}sortAndPropagateStatus(){Rt(this.rootItem)}flattenForSingleProject(){const t=e=>{e.kind==="case"&&e.children.length===1?(e.project=e.children[0].project,e.test=e.children[0].test,e.children=[],this._treeItemByTestId.set(e.test.id,e)):e.children.forEach(t)};t(this.rootItem)}shortenRoot(){let t=this.rootItem;for(;t.children.length===1&&t.children[0].kind==="group"&&t.children[0].subKind==="folder";)t=t.children[0];t.location=this.rootItem.location,this.rootItem=t}fileNames(){const t=new Set,e=s=>{s.kind==="group"&&s.subKind==="file"?t.add(s.id):s.children.forEach(e)};return e(this.rootItem),[...t]}flatTreeItems(){const t=[],e=s=>{t.push(s),s.children.forEach(e)};return e(this.rootItem),t}treeItemById(t){return this._treeItemById.get(t)}collectTestIds(t){return ue(t)}}function Rt(o){for(const r of o.children)Rt(r);o.kind==="group"&&o.children.sort((r,m)=>r.location.file.localeCompare(m.location.file)||r.location.line-m.location.line);let t=o.children.length>0,e=o.children.length>0,s=!1,i=!1,c=!1;for(const r of o.children)e=e&&r.status==="skipped",t=t&&(r.status==="passed"||r.status==="skipped"),s=s||r.status==="failed",i=i||r.status==="running",c=c||r.status==="scheduled";i?o.status="running":c?o.status="scheduled":s?o.status="failed":e?o.status="skipped":t&&(o.status="passed")}function ue(o){const t=new Set,e=new Set,s=i=>{if(i.kind!=="test"&&i.kind!=="case"){i.children.forEach(s);return}let c=i;for(;c&&c.parent&&!(c.kind==="group"&&c.subKind==="file");)c=c.parent;e.add(c.location.file),i.kind==="case"?i.tests.forEach(r=>t.add(r.id)):t.add(i.id)};return s(o),{testIds:t,locations:e}}const G=Symbol("statusEx");class he{constructor(t){this.loadErrors=[],this.progress={total:0,passed:0,failed:0,skipped:0},this._lastRunTestCount=0,this._receiver=new pt(this._createReporter(),{mergeProjects:!0,mergeTestCases:!0,resolvePath:Tt(t.pathSeparator),clearPreviousResultsWhenTestBegins:!0}),this._options=t}_createReporter(){return{version:()=>"v2",onConfigure:t=>{this.config=t,this._lastRunReceiver=new pt({version:()=>"v2",onBegin:e=>{this._lastRunTestCount=e.allTests().length,this._lastRunReceiver=void 0}},{mergeProjects:!0,mergeTestCases:!1,resolvePath:Tt(this._options.pathSeparator)}),this._lastRunReceiver.dispatch({method:"onConfigure",params:{config:t}})},onBegin:t=>{var e;if(this.rootSuite||(this.rootSuite=t),this._testResultsSnapshot){for(const s of this.rootSuite.allTests())s.results=((e=this._testResultsSnapshot)==null?void 0:e.get(s.id))||s.results;this._testResultsSnapshot=void 0}this.progress.total=this._lastRunTestCount,this.progress.passed=0,this.progress.failed=0,this.progress.skipped=0,this._options.onUpdate(!0)},onEnd:()=>{this._options.onUpdate(!0)},onTestBegin:(t,e)=>{e[G]="running",this._options.onUpdate()},onTestEnd:(t,e)=>{t.outcome()==="skipped"?++this.progress.skipped:t.outcome()==="unexpected"?++this.progress.failed:++this.progress.passed,e[G]=e.status,this._options.onUpdate()},onError:t=>this._handleOnError(t),printsToStdio:()=>!1}}processGlobalReport(t){const e=new pt({version:()=>"v2",onConfigure:s=>{this.config=s},onError:s=>this._handleOnError(s)});for(const s of t)e.dispatch(s)}processListReport(t){var s;const e=((s=this.rootSuite)==null?void 0:s.allTests())||[];this._testResultsSnapshot=new Map(e.map(i=>[i.id,i.results])),this._receiver.reset();for(const i of t)this._receiver.dispatch(i)}processTestReportEvent(t){var e,s,i;(s=(e=this._lastRunReceiver)==null?void 0:e.dispatch(t))==null||s.catch(()=>{}),(i=this._receiver.dispatch(t))==null||i.catch(()=>{})}_handleOnError(t){var e,s;this.loadErrors.push(t),(s=(e=this._options).onError)==null||s.call(e,t),this._options.onUpdate()}asModel(){return{rootSuite:this.rootSuite||new Z("","root"),config:this.config,loadErrors:this.loadErrors,progress:this.progress}}}function Tt(o){return(t,e)=>{const s=[];for(const i of[...t.split(o),...e.split(o)]){const c=o==="\\"&&s.length===1&&s[0].endsWith(":"),r=!s.length;if(!(!i&&!r&&!c)&&i!=="."){if(i===".."){s.pop();continue}s.push(i)}}return s.join(o)}}const fe=({source:o})=>{const[t,e]=zt(),[s,i]=H.useState(Kt()),[c]=H.useState(Vt(()=>import("./assets/xtermModule-CsJ4vdCR.js"),__vite__mapDeps([0,1]),import.meta.url).then(m=>m.default)),r=H.useRef(null);return H.useEffect(()=>($t(i),()=>Ht(i)),[]),H.useEffect(()=>{const m=o.write,d=o.clear;return(async()=>{const{Terminal:h,FitAddon:a}=await c,w=e.current;if(!w)return;const S=s==="dark-mode"?ge:pe;if(r.current&&r.current.terminal.options.theme===S)return;r.current&&(w.textContent="");const l=new h({convertEol:!0,fontSize:13,scrollback:1e4,fontFamily:"monospace",theme:S}),k=new a;l.loadAddon(k);for(const _ of o.pending)l.write(_);o.write=(_=>{o.pending.push(_),l.write(_)}),o.clear=()=>{o.pending=[],l.clear()},l.open(w),k.fit(),r.current={terminal:l,fitAddon:k}})(),()=>{o.clear=d,o.write=m}},[c,r,e,o,s]),H.useEffect(()=>{setTimeout(()=>{r.current&&(r.current.fitAddon.fit(),o.resize(r.current.terminal.cols,r.current.terminal.rows))},250)},[t,o]),n.jsx("div",{"data-testid":"output",className:"xterm-wrapper",style:{flex:"auto"},ref:e})},pe={foreground:"#383a42",background:"#fafafa",cursor:"#383a42",black:"#000000",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a0a0",brightBlack:"#000000",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#d19a66",brightBlue:"#4078f2",brightMagenta:"#a626a4",brightCyan:"#0184bc",brightWhite:"#383a42",selectionBackground:"#d7d7d7",selectionForeground:"#383a42"},ge={foreground:"#f8f8f2",background:"#1e1e1e",cursor:"#f8f8f0",black:"#000000",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#bfbfbf",brightBlack:"#4d4d4d",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#e6e6e6",selectionBackground:"#44475a",selectionForeground:"#f8f8f2"},me=({filterText:o,setFilterText:t,statusFilters:e,setStatusFilters:s,projectFilters:i,setProjectFilters:c,testModel:r,runTests:m})=>{const[d,h]=u.useState(!1),a=u.useRef(null);u.useEffect(()=>{var l;(l=a.current)==null||l.focus()},[]);const w=[...e.entries()].filter(([l,k])=>k).map(([l])=>l).join(" ")||"all",S=[...i.entries()].filter(([l,k])=>k).map(([l])=>l).join(" ")||"all";return n.jsxs("div",{className:"filters",children:[n.jsx(qt,{expanded:d,setExpanded:h,title:n.jsx("input",{ref:a,type:"search",placeholder:"Filter (e.g. text, @tag)",spellCheck:!1,value:o,onChange:l=>{t(l.target.value)},onKeyDown:l=>{l.key==="Enter"&&m()}})}),n.jsxs("div",{className:"filter-summary",title:"Status: "+w+`
|
|
3
|
+
Projects: `+S,onClick:()=>h(!d),children:[n.jsx("span",{className:"filter-label",children:"Status:"})," ",w,n.jsx("span",{className:"filter-label",children:"Projects:"})," ",S]}),d&&n.jsxs("div",{className:"hbox",style:{marginLeft:14,maxHeight:200,overflowY:"auto"},children:[n.jsx("div",{className:"filter-list",role:"list","data-testid":"status-filters",children:[...e.entries()].map(([l,k])=>n.jsx("div",{className:"filter-entry",role:"listitem",children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:k,onChange:()=>{const _=new Map(e);_.set(l,!_.get(l)),s(_)}}),n.jsx("div",{children:l})]})},l))}),n.jsx("div",{className:"filter-list",role:"list","data-testid":"project-filters",children:[...i.entries()].map(([l,k])=>n.jsx("div",{className:"filter-entry",role:"listitem",children:n.jsxs("label",{children:[n.jsx("input",{type:"checkbox",checked:k,onChange:()=>{var I;const _=new Map(i);_.set(l,!_.get(l)),c(_);const x=(I=r==null?void 0:r.config)==null?void 0:I.configFile;x&&yt.setObject(x+":projects",[..._.entries()].filter(([b,D])=>D).map(([b])=>b))}}),n.jsx("div",{children:l||"untitled"})]})},l))})]})]})},_e=({tag:o,style:t,onClick:e})=>n.jsx("span",{className:mt("tag",`tag-color-${ve(o)}`),onClick:e,style:{margin:"6px 0 0 6px",...t},title:`Click to filter by tag: ${o}`,children:o});function ve(o){let t=0;for(let e=0;e<o.length;e++)t=o.charCodeAt(e)+((t<<8)-t);return Math.abs(t%6)}const we=Yt,be=({filterText:o,testModel:t,testServerConnection:e,testTree:s,runTests:i,runningState:c,watchAll:r,watchedTreeIds:m,setWatchedTreeIds:d,isLoading:h,onItemSelected:a,requestedCollapseAllCount:w,requestedExpandAllCount:S,setFilterText:l,onRevealSource:k})=>{const[_,x]=u.useState({expandedItems:new Map}),[I,b]=u.useState(),[D,C]=u.useState(w),[U,tt]=u.useState(S);u.useEffect(()=>{if(D!==w){_.expandedItems.clear();for(const j of s.flatTreeItems())_.expandedItems.set(j.id,!1);C(w),b(void 0),x({..._});return}if(U!==S){_.expandedItems.clear();for(const j of s.flatTreeItems())_.expandedItems.set(j.id,!0);tt(S),b(void 0),x({..._});return}if(!c||c.itemSelectedByUser)return;let f;const R=j=>{var M;j.children.forEach(R),!f&&j.status==="failed"&&(j.kind==="test"&&c.testIds.has(j.test.id)||j.kind==="case"&&c.testIds.has((M=j.tests[0])==null?void 0:M.id))&&(f=j)};R(s.rootItem),f&&b(f.id)},[c,b,s,D,C,w,U,tt,S,_,x]);const P=u.useMemo(()=>{if(I)return s.treeItemById(I)},[I,s]);u.useEffect(()=>{if(!t)return;const f=xe(P,t);let R;(P==null?void 0:P.kind)==="test"?R=P.test:(P==null?void 0:P.kind)==="case"&&P.tests.length===1&&(R=P.tests[0]),a({treeItem:P,testCase:R,testFile:f})},[t,P,a]),u.useEffect(()=>{if(!h)if(r)e==null||e.watchNoReply({fileNames:s.fileNames()});else{const f=new Set;for(const R of m.value){const j=s.treeItemById(R),M=j==null?void 0:j.location.file;M&&f.add(M)}e==null||e.watchNoReply({fileNames:[...f]})}},[h,s,r,m,e]);const $=f=>{b(f.id),i("bounce-if-busy",s.collectTestIds(f))},K=(f,R)=>{if(f.preventDefault(),f.stopPropagation(),f.metaKey||f.ctrlKey){const j=o.split(" ");j.includes(R)?l(j.filter(M=>M!==R).join(" ").trim()):l((o+" "+R).trim())}else l((o.split(" ").filter(j=>!j.startsWith("@")).join(" ")+" "+R).trim())};return n.jsx(we,{name:"tests",treeState:_,setTreeState:x,rootItem:s.rootItem,dataTestId:"test-tree",render:f=>{const R=f.id.replace(/[^\w\d-_]/g,"-"),j=R+"-label",M=R+"-time";return n.jsxs("div",{className:"hbox ui-mode-tree-item","aria-labelledby":`${j} ${M}`,children:[n.jsxs("div",{id:j,className:"ui-mode-tree-item-title",children:[n.jsx("span",{children:f.title}),f.kind==="case"?f.tags.map(Y=>n.jsx(_e,{tag:Y.slice(1),onClick:ct=>K(ct,Y)},Y)):null]}),!!f.duration&&f.status!=="skipped"&&n.jsx("div",{id:M,className:"ui-mode-tree-item-time",children:Xt(f.duration)}),n.jsxs(q,{noMinHeight:!0,noShadow:!0,children:[n.jsx(F,{icon:"play",title:"Run",onClick:()=>$(f),disabled:!!c&&!c.completed}),n.jsx(F,{icon:"go-to-file",title:"Show source",onClick:k,style:f.kind==="group"&&f.subKind==="folder"?{visibility:"hidden"}:{}}),!r&&n.jsx(F,{icon:"eye",title:"Watch",onClick:()=>{m.value.has(f.id)?m.value.delete(f.id):m.value.add(f.id),d({...m})},toggled:m.value.has(f.id)})]})]})},icon:f=>Qt(f.status),title:f=>f.title,selectedItem:P,onAccepted:$,onSelected:f=>{c&&(c.itemSelectedByUser=!0),b(f.id)},isError:f=>f.kind==="group"?f.hasLoadErrors:!1,autoExpandDepth:o?5:1,noItemsMessage:h?"Loading…":"No tests"})};function xe(o,t){if(!(!o||!t))return{file:o.location.file,line:o.location.line,column:o.location.column,source:{errors:t.loadErrors.filter(e=>{var s;return((s=e.location)==null?void 0:s.file)===o.location.file}).map(e=>({line:e.location.line,message:e.message})),content:void 0}}}function Se(o){return`.playwright-artifacts-${o}`}const Te=({item:o,rootDir:t,onOpenExternally:e,revealSource:s,pathSeparator:i})=>{var w,S;const[c,r]=u.useState(void 0),[m,d]=u.useState(0),h=u.useRef(null),{outputDir:a}=u.useMemo(()=>({outputDir:o.testCase?ke(o.testCase):void 0}),[o]);return u.useEffect(()=>{var x,I;h.current&&clearTimeout(h.current);const l=(x=o.testCase)==null?void 0:x.results[0];if(!l){r(void 0);return}const k=l&&l.duration>=0&&l.attachments.find(b=>b.name==="trace");if(k&&k.path){kt(k.path).then(b=>r({model:b,isLive:!1}));return}if(!a){r(void 0);return}const _=[a,Se(l.workerIndex),"traces",`${(I=o.testCase)==null?void 0:I.id}.json`].join(i);return h.current=setTimeout(async()=>{try{const b=await kt(_);r({model:b,isLive:!0})}catch{const b=new Et("",[]);b.errorDescriptors.push(...l.errors.flatMap(D=>D.message?[{message:D.message}]:[])),r({model:b,isLive:!1})}finally{d(m+1)}},500),()=>{h.current&&clearTimeout(h.current)}},[a,o,r,m,d,i]),n.jsx(Jt,{model:c==null?void 0:c.model,showSourcesFirst:!0,rootDir:t,fallbackLocation:o.testFile,isLive:c==null?void 0:c.isLive,status:(w=o.treeItem)==null?void 0:w.status,annotations:((S=o.testCase)==null?void 0:S.annotations)??[],onOpenExternally:e,revealSource:s},"workbench")},ke=o=>{var t;for(let e=o.parent;e;e=e.parent)if(e.project())return(t=e.project())==null?void 0:t.outputDir};async function kt(o){const t=new URLSearchParams;t.set("trace",o);const s=await(await fetch(`contexts?${t.toString()}`)).json();return new Et(o,s)}let jt={cols:80};const z={pending:[],clear:()=>{},write:o=>z.pending.push(o),resize:()=>{}},A=new URLSearchParams(window.location.search),je=new URL(A.get("server")??"../",window.location.href),_t=new URL(A.get("ws"),je);_t.protocol=_t.protocol==="https:"?"wss:":"ws:";const B={args:A.getAll("arg"),grep:A.get("grep")||void 0,grepInvert:A.get("grepInvert")||void 0,projects:A.getAll("project"),workers:A.get("workers")||void 0,headed:A.has("headed"),updateSnapshots:A.get("updateSnapshots")||void 0,reporters:A.has("reporter")?A.getAll("reporter"):void 0,pathSeparator:A.get("pathSeparator")||"/"};B.updateSnapshots&&!["all","changed","none","missing"].includes(B.updateSnapshots)&&(B.updateSnapshots=void 0);const It=navigator.platform==="MacIntel";function Ie(o){return o.startsWith("/")&&(o=o.substring(1)),o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const ye=({})=>{var xt;const[o,t]=u.useState(""),[e,s]=u.useState(!1),[i,c]=u.useState(!1),[r,m]=u.useState(new Map([["passed",!1],["failed",!1],["skipped",!1]])),[d,h]=u.useState(new Map),[a,w]=u.useState(),[S,l]=u.useState(),[k,_]=u.useState({}),[x,I]=u.useState(!1),[b,D]=u.useState(),C=b&&!b.completed,[U,tt]=at("watch-all",!1),[P,$]=u.useState({value:new Set}),K=u.useRef(Promise.resolve()),f=u.useRef({testIds:new Set,locations:new Set}),[R,j]=u.useState(0),[M,Y]=u.useState(0),[ct,Bt]=u.useState(!1),[vt,wt]=u.useState(!0),[v,Ct]=u.useState(),[et,Pt]=u.useState(),[st,Nt]=u.useState(!1),[it,Lt]=u.useState(!1),[Dt,bt]=u.useState(!1),Mt=u.useCallback(()=>bt(!0),[bt]),[dt,Ft]=at("single-worker",!1),[ut,Ot]=at("updateSnapshots","missing"),[Q]=at("mergeFiles",!1),At=u.useRef(null),ot=u.useCallback(()=>{Ct(p=>(p==null||p.close(),new Zt(new Gt(_t))))},[]);u.useEffect(()=>{var p;(p=At.current)==null||p.focus(),I(!0),ot()},[ot]),u.useEffect(()=>{if(!v)return;const p=[v.onStdio(g=>{if(g.buffer){const T=atob(g.buffer);z.write(T)}else z.write(g.text);g.type==="stderr"&&c(!0)}),v.onClose(()=>Bt(!0))];return z.resize=(g,T)=>{jt={cols:g,rows:T},v.resizeTerminalNoReply({cols:g,rows:T})},()=>{for(const g of p)g.dispose()}},[v]),u.useEffect(()=>{if(!v)return;let p;const g=new he({onUpdate:T=>{clearTimeout(p),p=void 0,T?w(g.asModel()):p||(p=setTimeout(()=>{w(g.asModel())},250))},onError:T=>{z.write((T.stack||T.value||"")+`
|
|
4
|
+
`),c(!0)},pathSeparator:B.pathSeparator});return Pt(g),w(void 0),I(!0),$({value:new Set}),(async()=>{try{await v.initialize({interceptStdio:!0,watchTestDirs:!0});const{status:T,report:E}=await v.runGlobalSetup({});if(g.processGlobalReport(E),T!=="passed")return;const N=await v.listTests({projects:B.projects,locations:B.args,grep:B.grep,grepInvert:B.grepInvert});g.processListReport(N.report),v.onReport(V=>{g.processTestReportEvent(V)});const{hasBrowsers:O}=await v.checkBrowsers({});wt(O)}finally{I(!1)}})(),()=>{clearTimeout(p)}},[v]),u.useEffect(()=>{if(!a)return;const{config:p,rootSuite:g}=a,T=p.configFile?yt.getObject(p.configFile+":projects",void 0):void 0,E=new Map(d);for(const N of E.keys())g.suites.find(O=>O.title===N)||E.delete(N);for(const N of g.suites)E.has(N.title)||E.set(N.title,!!(T!=null&&T.includes(N.title)));!T&&E.size&&![...E.values()].includes(!0)&&E.set(E.entries().next().value[0],!0),(d.size!==E.size||[...d].some(([N,O])=>E.get(N)!==O))&&h(E)},[d,a]),u.useEffect(()=>{C&&(a!=null&&a.progress)?l(a.progress):a||l(void 0)},[a,C]);const{testTree:rt}=u.useMemo(()=>{if(!a)return{testTree:new gt("",new Z("","root"),[],d,B.pathSeparator,Q)};const p=new gt("",a.rootSuite,a.loadErrors,d,B.pathSeparator,Q);return p.filterTree(o,r,C?b==null?void 0:b.testIds:void 0),p.sortAndPropagateStatus(),p.shortenRoot(),p.flattenForSingleProject(),{testTree:p}},[o,a,r,d,b,C,Q]),X=u.useCallback((p,g)=>{if(!(!v||!a)&&!(p==="bounce-if-busy"&&C)){for(const T of g.testIds)f.current.testIds.add(T);for(const T of g.locations)f.current.locations.add(T);K.current=K.current.then(async()=>{var O,V,W;const{testIds:T,locations:E}=f.current;if(f.current={testIds:new Set,locations:new Set},!T.size)return;{for(const y of((O=a.rootSuite)==null?void 0:O.allTests())||[])if(T.has(y.id)){y.results=[];const L=y._createTestResult("pending");L[G]="scheduled"}w({...a})}const N=" ["+new Date().toLocaleTimeString()+"]";z.write("\x1B[2m—".repeat(Math.max(0,jt.cols-N.length))+N+"\x1B[22m"),l({total:0,passed:0,failed:0,skipped:0}),D({testIds:T}),await v.runTests({locations:[...E].map(Ie),grep:B.grep,grepInvert:B.grepInvert,testIds:[...T],projects:[...d].filter(([y,L])=>L).map(([y])=>y),updateSnapshots:ut,reporters:B.reporters,workers:dt?1:void 0,trace:"on"});for(const y of((V=a.rootSuite)==null?void 0:V.allTests())||[])((W=y.results[0])==null?void 0:W.duration)===-1&&(y.results=[]);w({...a}),D(y=>y?{...y,completed:!0}:void 0)})}},[d,C,a,v,ut,dt]),nt=u.useCallback(()=>X("bounce-if-busy",rt.collectTestIds(rt.rootItem)),[X,rt]);u.useEffect(()=>{if(!v||!et)return;const p=v.onTestFilesChanged(async g=>{if(K.current=K.current.then(async()=>{I(!0);try{const W=await v.listTests({projects:B.projects,locations:B.args,grep:B.grep,grepInvert:B.grepInvert});et.processListReport(W.report)}catch(W){console.log(W)}finally{I(!1)}}),await K.current,g.testFiles.length===0)return;const T=et.asModel(),E=new gt("",T.rootSuite,T.loadErrors,d,B.pathSeparator,Q),N=[],O=[],V=new Set(g.testFiles);if(U){const W=y=>{const L=y.location.file;if(L&&V.has(L)){const J=E.collectTestIds(y);N.push(...J.locations),O.push(...J.testIds)}y.kind==="group"&&y.subKind==="folder"&&y.children.forEach(W)};W(E.rootItem)}else for(const W of P.value){const y=E.treeItemById(W);if(!y)continue;let L=y;for(;!(L.kind==="group"&&(L.subKind==="file"||L.subKind==="folder"))&&L.parent;)L=L.parent;const J=L==null?void 0:L.location.file;if(J&&V.has(J)){const St=E.collectTestIds(y);N.push(...St.locations),O.push(...St.testIds)}}X("queue-if-busy",{locations:N,testIds:O})});return()=>p.dispose()},[X,v,U,P,et,d,Q]),u.useEffect(()=>{if(!v)return;const p=g=>{g.code==="Backquote"&&g.ctrlKey?(g.preventDefault(),s(!e)):g.code==="F5"&&g.shiftKey?(g.preventDefault(),v==null||v.stopTestsNoReply({})):g.code==="F5"&&(g.preventDefault(),nt())};return addEventListener("keydown",p),()=>{removeEventListener("keydown",p)}},[nt,ot,v,e]);const ht=u.useRef(null),Wt=u.useCallback(p=>{var g;p.preventDefault(),p.stopPropagation(),(g=ht.current)==null||g.showModal()},[]),ft=u.useCallback(p=>{var g;p.preventDefault(),p.stopPropagation(),(g=ht.current)==null||g.close()},[]),Ut=u.useCallback(p=>{ft(p),s(!0),v==null||v.installBrowsers({}).then(async()=>{s(!1);const{hasBrowsers:g}=await(v==null?void 0:v.checkBrowsers({}));wt(g)})},[ft,v]);return n.jsxs("div",{className:"vbox ui-mode",children:[!vt&&n.jsxs("dialog",{ref:ht,children:[n.jsxs("div",{className:"title",children:[n.jsx("span",{className:"codicon codicon-lightbulb"}),"Install browsers"]}),n.jsxs("div",{className:"body",children:["Playwright did not find installed browsers.",n.jsx("br",{}),"Would you like to run `playwright install`?",n.jsx("br",{}),n.jsx("button",{className:"button",onClick:Ut,children:"Install"}),n.jsx("button",{className:"button secondary",onClick:ft,children:"Dismiss"})]})]}),ct&&n.jsxs("div",{className:"disconnected",children:[n.jsx("div",{className:"title",children:"UI Mode disconnected"}),n.jsxs("div",{children:[n.jsx("a",{href:"#",onClick:()=>window.location.href="/",children:"Reload the page"})," to reconnect"]})]}),n.jsx(te,{sidebarSize:250,minSidebarSize:150,orientation:"horizontal",sidebarIsFirst:!0,settingName:"testListSidebar",main:n.jsxs("div",{className:"vbox",children:[n.jsxs("div",{className:mt("vbox",!e&&"hidden"),children:[n.jsxs(q,{children:[n.jsx("div",{className:"section-title",style:{flex:"none"},children:"Output"}),n.jsx(F,{icon:"circle-slash",title:"Clear output",onClick:()=>{z.clear(),c(!1)}}),n.jsx("div",{className:"spacer"}),n.jsx(F,{icon:"close",title:"Close",onClick:()=>s(!1)})]}),n.jsx(fe,{source:z})]}),n.jsx("div",{className:mt("vbox",e&&"hidden"),children:n.jsx(Te,{pathSeparator:B.pathSeparator,item:k,rootDir:(xt=a==null?void 0:a.config)==null?void 0:xt.rootDir,revealSource:Dt,onOpenExternally:p=>v==null?void 0:v.openNoReply({location:{file:p.file,line:p.line,column:p.column}})})})]}),sidebar:n.jsxs("div",{className:"vbox ui-mode-sidebar",children:[n.jsxs(q,{noShadow:!0,noMinHeight:!0,children:[n.jsx("img",{src:"playwright-logo.svg",alt:"Playwright logo"}),n.jsx("div",{className:"section-title",children:"Playwright"}),n.jsx(F,{icon:"refresh",title:"Reload",onClick:()=>ot(),disabled:C||x}),n.jsxs("div",{style:{position:"relative"},children:[n.jsx(F,{icon:"terminal",title:"Toggle output — "+(It?"⌃`":"Ctrl + `"),toggled:e,onClick:()=>{s(!e)}}),i&&n.jsx("div",{title:"Output contains error",style:{position:"absolute",top:2,right:2,width:7,height:7,borderRadius:"50%",backgroundColor:"var(--vscode-notificationsErrorIcon-foreground)"}})]}),!vt&&n.jsx(F,{icon:"lightbulb-autofix",style:{color:"var(--vscode-list-warningForeground)"},title:"Playwright browsers are missing",onClick:Wt})]}),n.jsx(me,{filterText:o,setFilterText:t,statusFilters:r,setStatusFilters:m,projectFilters:d,setProjectFilters:h,testModel:a,runTests:nt}),n.jsxs(q,{className:"section-toolbar",noMinHeight:!0,children:[!C&&!S&&n.jsx("div",{className:"section-title",children:"Tests"}),!C&&S&&n.jsx("div",{"data-testid":"status-line",className:"status-line",children:n.jsxs("div",{children:[S.passed,"/",S.total," passed (",S.passed/S.total*100|0,"%)"]})}),C&&S&&n.jsx("div",{"data-testid":"status-line",className:"status-line",children:n.jsxs("div",{children:["Running ",S.passed,"/",b.testIds.size," passed (",S.passed/b.testIds.size*100|0,"%)"]})}),n.jsx(F,{icon:"play",title:"Run all — F5",onClick:nt,disabled:C||x}),n.jsx(F,{icon:"debug-stop",title:"Stop — "+(It?"⇧F5":"Shift + F5"),onClick:()=>v==null?void 0:v.stopTests({}),disabled:!C||x}),n.jsx(F,{icon:"eye",title:"Watch all",toggled:U,onClick:()=>{$({value:new Set}),tt(!U)}}),n.jsx(F,{icon:"collapse-all",title:"Collapse all",onClick:()=>{j(R+1)}}),n.jsx(F,{icon:"expand-all",title:"Expand all",onClick:()=>{Y(M+1)}})]}),n.jsx(be,{filterText:o,testModel:a,testTree:rt,testServerConnection:v,runningState:b,runTests:X,onItemSelected:_,watchAll:U,watchedTreeIds:P,setWatchedTreeIds:$,isLoading:x,requestedCollapseAllCount:R,requestedExpandAllCount:M,setFilterText:t,onRevealSource:Mt}),n.jsxs(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Lt(!it),children:[n.jsx("span",{className:`codicon codicon-${it?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:it?"Hide Testing Options":"Show Testing Options"}),n.jsx("div",{className:"section-title",children:"Testing Options"})]}),it&&n.jsx(ee,{settings:[{type:"check",value:dt,set:Ft,name:"Single worker"},{type:"select",options:[{label:"All",value:"all"},{label:"Changed",value:"changed"},{label:"Missing",value:"missing"},{label:"None",value:"none"}],value:ut,set:Ot,name:"Update snapshots"}]}),n.jsxs(q,{noShadow:!0,noMinHeight:!0,className:"settings-toolbar",onClick:()=>Nt(!st),children:[n.jsx("span",{className:`codicon codicon-${st?"chevron-down":"chevron-right"}`,style:{marginLeft:5},title:st?"Hide Settings":"Show Settings"}),n.jsx("div",{className:"section-title",children:"Settings"})]}),st&&n.jsx(se,{location:"ui-mode"})]})})]})};(async()=>{if(ie(),window.location.protocol!=="file:"){if(window.location.href.includes("isUnderTest=true")&&await new Promise(o=>setTimeout(o,1e3)),!navigator.serviceWorker)throw new Error(`Service workers are not supported.
|
|
5
|
+
Make sure to serve the website (${window.location}) via HTTPS or localhost.`);navigator.serviceWorker.register("sw.bundle.js"),navigator.serviceWorker.controller||await new Promise(o=>{navigator.serviceWorker.oncontrollerchange=()=>o()}),setInterval(function(){fetch("ping")},1e4)}oe.createRoot(document.querySelector("#root")).render(n.jsx(ye,{}))})();
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<link rel="icon" href="./playwright-logo.svg" type="image/svg+xml">
|
|
8
8
|
<title>Playwright Test</title>
|
|
9
|
-
<script type="module" crossorigin src="./uiMode.
|
|
9
|
+
<script type="module" crossorigin src="./uiMode.DiEbKRwa.js"></script>
|
|
10
10
|
<link rel="modulepreload" crossorigin href="./assets/defaultSettingsView-V7hnXDpz.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="./defaultSettingsView.CpI7RarT.css">
|
|
12
12
|
<link rel="stylesheet" crossorigin href="./uiMode.Btcz36p_.css">
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.drop-target{display:flex;align-items:center;justify-content:center;flex:auto;flex-direction:column;background-color:var(--vscode-editor-background);position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;line-height:24px}body .drop-target{background:#fffc}:root.dark-mode .drop-target{background:#000c}.drop-target .title{font-size:24px;font-weight:700;margin-bottom:30px}.drop-target .info{max-width:400px;text-align:center}.drop-target .processing-error{font-size:24px;color:#e74c3c;font-weight:700;text-align:center;margin:30px}.drop-target input{margin-top:50px}.drop-target button{color:#fff;background-color:#007acc;padding:8px 12px;border:none;margin:30px 0;cursor:pointer}.drop-target .version{color:var(--vscode-disabledForeground);margin-top:8px}.progress-dialog{width:400px;top:0;right:0;bottom:0;left:0;border:none;outline:none;background-color:var(--vscode-sideBar-background)}.progress-dialog::backdrop{background-color:#0006}.progress-content{padding:16px}.progress-content .title{background-color:unset;font-size:18px;font-weight:700;padding:0}.progress-wrapper{background-color:var(--vscode-commandCenter-activeBackground);width:100%;margin-top:16px;margin-bottom:8px}.inner-progress{background-color:var(--vscode-progressBar-background);height:4px}.header{display:flex;background-color:#000;flex:none;flex-basis:48px;line-height:48px;font-size:16px;color:#ccc}.workbench-loader{contain:size}.workbench-loader .header .toolbar-button{margin:12px;padding:8px 4px}.workbench-loader .logo{margin-left:16px;display:flex;align-items:center}.workbench-loader .logo img{height:32px;width:32px;pointer-events:none;flex:none}.workbench-loader .product{font-weight:600;margin-left:16px;flex:none}.workbench-loader .header .title{margin-left:16px;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}html,body{min-width:550px;min-height:450px;overflow:auto}
|