@limrun/playwright-core 1.56.1-lim.1 → 1.61.0-lim.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/ThirdPartyNotices.txt +7 -1496
  4. package/bin/install_webkit_wsl.ps1 +1 -3
  5. package/bin/reinstall_chrome_beta_linux.sh +1 -1
  6. package/bin/reinstall_chrome_beta_mac.sh +1 -1
  7. package/bin/reinstall_chrome_stable_linux.sh +1 -1
  8. package/bin/reinstall_chrome_stable_mac.sh +1 -1
  9. package/bin/reinstall_msedge_beta_linux.sh +1 -1
  10. package/bin/reinstall_msedge_beta_mac.sh +1 -1
  11. package/bin/reinstall_msedge_dev_linux.sh +1 -1
  12. package/bin/reinstall_msedge_dev_mac.sh +1 -1
  13. package/bin/reinstall_msedge_stable_linux.sh +1 -1
  14. package/bin/reinstall_msedge_stable_mac.sh +1 -1
  15. package/browsers.json +23 -22
  16. package/cli.js +4 -1
  17. package/index.js +2 -17
  18. package/lib/bootstrap.js +88 -0
  19. package/lib/coreBundle.js +73385 -0
  20. package/lib/entry/cliDaemon.js +5 -0
  21. package/lib/entry/dashboardApp.js +3 -0
  22. package/lib/entry/mcp.js +10 -0
  23. package/lib/entry/oopBrowserDownload.js +3 -0
  24. package/lib/{server/deviceDescriptors.js → package.js} +18 -7
  25. package/lib/server/deviceDescriptorsSource.json +1142 -182
  26. package/lib/server/electron/loader.js +99 -13
  27. package/lib/serverRegistry.js +7343 -0
  28. package/lib/serverRegistry.js.LICENSE +354 -0
  29. package/lib/tools/cli-client/channelSessions.js +141 -0
  30. package/lib/tools/cli-client/cli.js +6 -0
  31. package/lib/tools/cli-client/help.json +693 -0
  32. package/lib/tools/cli-client/minimist.js +128 -0
  33. package/lib/tools/cli-client/output.js +343 -0
  34. package/lib/tools/cli-client/program.js +404 -0
  35. package/lib/tools/cli-client/registry.js +176 -0
  36. package/lib/tools/cli-client/session.js +254 -0
  37. package/lib/tools/cli-client/skill/SKILL.md +404 -0
  38. package/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
  39. package/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
  40. package/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
  41. package/lib/tools/cli-client/skill/references/running-code.md +241 -0
  42. package/lib/tools/cli-client/skill/references/session-management.md +225 -0
  43. package/lib/tools/cli-client/skill/references/spec-driven-testing.md +305 -0
  44. package/lib/tools/cli-client/skill/references/storage-state.md +275 -0
  45. package/lib/tools/cli-client/skill/references/test-generation.md +134 -0
  46. package/lib/tools/cli-client/skill/references/tracing.md +139 -0
  47. package/lib/tools/cli-client/skill/references/video-recording.md +143 -0
  48. package/lib/tools/dashboard/appIcon.png +0 -0
  49. package/lib/tools/trace/SKILL.md +171 -0
  50. package/lib/{server/utils/profiler.js → tools/utils/extension.js} +42 -29
  51. package/lib/tools/utils/socketConnection.js +108 -0
  52. package/lib/utilsBundle.js +86695 -68
  53. package/lib/utilsBundle.js.LICENSE +2056 -0
  54. package/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
  55. package/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
  56. package/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
  57. package/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
  58. package/lib/vite/dashboard/assets/index-BY2S1tHT.css +1 -0
  59. package/lib/vite/dashboard/assets/index-C_5TMfeg.js +52 -0
  60. package/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
  61. package/lib/vite/dashboard/index.html +29 -0
  62. package/lib/vite/dashboard/playwright-logo.svg +24 -0
  63. package/lib/vite/htmlReport/index.html +2 -70
  64. package/lib/vite/htmlReport/report.css +1 -0
  65. package/lib/vite/htmlReport/report.js +72 -0
  66. package/lib/vite/{traceViewer/codeMirrorModule.C3UTv-Ge.css → recorder/assets/codeMirrorModule-DYBRYzYX.css} +1 -1
  67. package/lib/vite/recorder/assets/codeMirrorModule-DeBYQozu.js +32 -0
  68. package/lib/vite/recorder/assets/index-4ZiSSCmn.css +1 -0
  69. package/lib/vite/recorder/assets/index-Bq-mQf8S.js +193 -0
  70. package/lib/vite/recorder/index.html +2 -2
  71. package/lib/vite/traceViewer/assets/codeMirrorModule-LEHpjmcn.js +32 -0
  72. package/lib/vite/traceViewer/assets/defaultSettingsView-BNmKHKpQ.js +264 -0
  73. package/lib/vite/traceViewer/assets/urlMatch-BYQrIQwR.js +1 -0
  74. package/lib/vite/{recorder/assets/codeMirrorModule-C3UTv-Ge.css → traceViewer/codeMirrorModule.DYBRYzYX.css} +1 -1
  75. package/lib/vite/traceViewer/defaultSettingsView.CjdS-WJx.css +1 -0
  76. package/lib/vite/traceViewer/index.CzXZzn5A.css +1 -0
  77. package/lib/vite/traceViewer/index.DEBl1tfz.js +2 -0
  78. package/lib/vite/traceViewer/index.html +7 -6
  79. package/lib/vite/traceViewer/manifest.webmanifest +16 -0
  80. package/lib/vite/traceViewer/snapshot.html +4 -15
  81. package/lib/vite/traceViewer/snapshot.v8KI4P3m.js +2 -0
  82. package/lib/vite/traceViewer/sw.bundle.js +5 -3
  83. package/lib/vite/traceViewer/uiMode.BZQ54Kgt.css +1 -0
  84. package/lib/vite/traceViewer/uiMode.Ut8wwJNp.js +6 -0
  85. package/lib/vite/traceViewer/uiMode.html +5 -4
  86. package/package.json +4 -12
  87. package/types/protocol.d.ts +2101 -602
  88. package/types/types.d.ts +6183 -4591
  89. package/lib/androidServerImpl.js +0 -65
  90. package/lib/browserServerImpl.js +0 -120
  91. package/lib/cli/driver.js +0 -97
  92. package/lib/cli/program.js +0 -633
  93. package/lib/cli/programWithTestStub.js +0 -74
  94. package/lib/client/accessibility.js +0 -49
  95. package/lib/client/android.js +0 -361
  96. package/lib/client/api.js +0 -137
  97. package/lib/client/artifact.js +0 -79
  98. package/lib/client/browser.js +0 -163
  99. package/lib/client/browserContext.js +0 -529
  100. package/lib/client/browserType.js +0 -184
  101. package/lib/client/cdpSession.js +0 -51
  102. package/lib/client/channelOwner.js +0 -194
  103. package/lib/client/clientHelper.js +0 -64
  104. package/lib/client/clientInstrumentation.js +0 -55
  105. package/lib/client/clientStackTrace.js +0 -69
  106. package/lib/client/clock.js +0 -68
  107. package/lib/client/connection.js +0 -314
  108. package/lib/client/consoleMessage.js +0 -54
  109. package/lib/client/coverage.js +0 -44
  110. package/lib/client/dialog.js +0 -56
  111. package/lib/client/download.js +0 -62
  112. package/lib/client/electron.js +0 -138
  113. package/lib/client/elementHandle.js +0 -281
  114. package/lib/client/errors.js +0 -77
  115. package/lib/client/eventEmitter.js +0 -314
  116. package/lib/client/events.js +0 -99
  117. package/lib/client/fetch.js +0 -369
  118. package/lib/client/fileChooser.js +0 -46
  119. package/lib/client/fileUtils.js +0 -34
  120. package/lib/client/frame.js +0 -408
  121. package/lib/client/harRouter.js +0 -87
  122. package/lib/client/input.js +0 -84
  123. package/lib/client/jsHandle.js +0 -109
  124. package/lib/client/jsonPipe.js +0 -39
  125. package/lib/client/localUtils.js +0 -60
  126. package/lib/client/locator.js +0 -366
  127. package/lib/client/network.js +0 -747
  128. package/lib/client/page.js +0 -721
  129. package/lib/client/platform.js +0 -74
  130. package/lib/client/playwright.js +0 -75
  131. package/lib/client/selectors.js +0 -55
  132. package/lib/client/stream.js +0 -39
  133. package/lib/client/timeoutSettings.js +0 -79
  134. package/lib/client/tracing.js +0 -117
  135. package/lib/client/types.js +0 -28
  136. package/lib/client/video.js +0 -59
  137. package/lib/client/waiter.js +0 -142
  138. package/lib/client/webError.js +0 -39
  139. package/lib/client/webSocket.js +0 -93
  140. package/lib/client/worker.js +0 -63
  141. package/lib/client/writableStream.js +0 -39
  142. package/lib/generated/bindingsControllerSource.js +0 -28
  143. package/lib/generated/clockSource.js +0 -28
  144. package/lib/generated/injectedScriptSource.js +0 -28
  145. package/lib/generated/pollingRecorderSource.js +0 -28
  146. package/lib/generated/storageScriptSource.js +0 -28
  147. package/lib/generated/utilityScriptSource.js +0 -28
  148. package/lib/generated/webSocketMockSource.js +0 -336
  149. package/lib/inProcessFactory.js +0 -62
  150. package/lib/inprocess.js +0 -3
  151. package/lib/outofprocess.js +0 -76
  152. package/lib/protocol/serializers.js +0 -192
  153. package/lib/protocol/validator.js +0 -2912
  154. package/lib/protocol/validatorPrimitives.js +0 -193
  155. package/lib/remote/playwrightConnection.js +0 -129
  156. package/lib/remote/playwrightServer.js +0 -335
  157. package/lib/server/accessibility.js +0 -69
  158. package/lib/server/android/android.js +0 -465
  159. package/lib/server/android/backendAdb.js +0 -177
  160. package/lib/server/artifact.js +0 -127
  161. package/lib/server/bidi/bidiBrowser.js +0 -490
  162. package/lib/server/bidi/bidiChromium.js +0 -153
  163. package/lib/server/bidi/bidiConnection.js +0 -212
  164. package/lib/server/bidi/bidiExecutionContext.js +0 -221
  165. package/lib/server/bidi/bidiFirefox.js +0 -130
  166. package/lib/server/bidi/bidiInput.js +0 -146
  167. package/lib/server/bidi/bidiNetworkManager.js +0 -383
  168. package/lib/server/bidi/bidiOverCdp.js +0 -102
  169. package/lib/server/bidi/bidiPage.js +0 -552
  170. package/lib/server/bidi/bidiPdf.js +0 -106
  171. package/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
  172. package/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
  173. package/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
  174. package/lib/server/bidi/third_party/bidiProtocol.js +0 -24
  175. package/lib/server/bidi/third_party/bidiProtocolCore.js +0 -179
  176. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +0 -42
  177. package/lib/server/bidi/third_party/bidiSerializer.js +0 -148
  178. package/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
  179. package/lib/server/browser.js +0 -149
  180. package/lib/server/browserContext.js +0 -696
  181. package/lib/server/browserType.js +0 -328
  182. package/lib/server/callLog.js +0 -82
  183. package/lib/server/chromium/chromium.js +0 -391
  184. package/lib/server/chromium/chromiumSwitches.js +0 -95
  185. package/lib/server/chromium/crAccessibility.js +0 -263
  186. package/lib/server/chromium/crBrowser.js +0 -502
  187. package/lib/server/chromium/crConnection.js +0 -202
  188. package/lib/server/chromium/crCoverage.js +0 -235
  189. package/lib/server/chromium/crDevTools.js +0 -113
  190. package/lib/server/chromium/crDragDrop.js +0 -131
  191. package/lib/server/chromium/crExecutionContext.js +0 -146
  192. package/lib/server/chromium/crInput.js +0 -187
  193. package/lib/server/chromium/crNetworkManager.js +0 -666
  194. package/lib/server/chromium/crPage.js +0 -1069
  195. package/lib/server/chromium/crPdf.js +0 -121
  196. package/lib/server/chromium/crProtocolHelper.js +0 -145
  197. package/lib/server/chromium/crServiceWorker.js +0 -123
  198. package/lib/server/chromium/defaultFontFamilies.js +0 -162
  199. package/lib/server/chromium/protocol.d.js +0 -16
  200. package/lib/server/chromium/videoRecorder.js +0 -113
  201. package/lib/server/clock.js +0 -149
  202. package/lib/server/codegen/csharp.js +0 -327
  203. package/lib/server/codegen/java.js +0 -274
  204. package/lib/server/codegen/javascript.js +0 -270
  205. package/lib/server/codegen/jsonl.js +0 -52
  206. package/lib/server/codegen/language.js +0 -132
  207. package/lib/server/codegen/languages.js +0 -68
  208. package/lib/server/codegen/python.js +0 -279
  209. package/lib/server/codegen/types.js +0 -16
  210. package/lib/server/console.js +0 -53
  211. package/lib/server/cookieStore.js +0 -206
  212. package/lib/server/debugController.js +0 -191
  213. package/lib/server/debugger.js +0 -119
  214. package/lib/server/dialog.js +0 -116
  215. package/lib/server/dispatchers/androidDispatcher.js +0 -325
  216. package/lib/server/dispatchers/artifactDispatcher.js +0 -118
  217. package/lib/server/dispatchers/browserContextDispatcher.js +0 -364
  218. package/lib/server/dispatchers/browserDispatcher.js +0 -118
  219. package/lib/server/dispatchers/browserTypeDispatcher.js +0 -64
  220. package/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
  221. package/lib/server/dispatchers/debugControllerDispatcher.js +0 -78
  222. package/lib/server/dispatchers/dialogDispatcher.js +0 -47
  223. package/lib/server/dispatchers/dispatcher.js +0 -371
  224. package/lib/server/dispatchers/electronDispatcher.js +0 -89
  225. package/lib/server/dispatchers/elementHandlerDispatcher.js +0 -181
  226. package/lib/server/dispatchers/frameDispatcher.js +0 -227
  227. package/lib/server/dispatchers/jsHandleDispatcher.js +0 -85
  228. package/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
  229. package/lib/server/dispatchers/localUtilsDispatcher.js +0 -149
  230. package/lib/server/dispatchers/networkDispatchers.js +0 -213
  231. package/lib/server/dispatchers/pageDispatcher.js +0 -401
  232. package/lib/server/dispatchers/playwrightDispatcher.js +0 -112
  233. package/lib/server/dispatchers/streamDispatcher.js +0 -67
  234. package/lib/server/dispatchers/tracingDispatcher.js +0 -68
  235. package/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -165
  236. package/lib/server/dispatchers/writableStreamDispatcher.js +0 -79
  237. package/lib/server/dom.js +0 -806
  238. package/lib/server/download.js +0 -70
  239. package/lib/server/electron/electron.js +0 -270
  240. package/lib/server/errors.js +0 -69
  241. package/lib/server/fetch.js +0 -621
  242. package/lib/server/fileChooser.js +0 -43
  243. package/lib/server/fileUploadUtils.js +0 -84
  244. package/lib/server/firefox/ffAccessibility.js +0 -238
  245. package/lib/server/firefox/ffBrowser.js +0 -428
  246. package/lib/server/firefox/ffConnection.js +0 -147
  247. package/lib/server/firefox/ffExecutionContext.js +0 -150
  248. package/lib/server/firefox/ffInput.js +0 -159
  249. package/lib/server/firefox/ffNetworkManager.js +0 -256
  250. package/lib/server/firefox/ffPage.js +0 -503
  251. package/lib/server/firefox/firefox.js +0 -105
  252. package/lib/server/firefox/protocol.d.js +0 -16
  253. package/lib/server/formData.js +0 -147
  254. package/lib/server/frameSelectors.js +0 -156
  255. package/lib/server/frames.js +0 -1448
  256. package/lib/server/har/harRecorder.js +0 -147
  257. package/lib/server/har/harTracer.js +0 -607
  258. package/lib/server/harBackend.js +0 -157
  259. package/lib/server/helper.js +0 -96
  260. package/lib/server/index.js +0 -58
  261. package/lib/server/input.js +0 -273
  262. package/lib/server/instrumentation.js +0 -69
  263. package/lib/server/javascript.js +0 -291
  264. package/lib/server/launchApp.js +0 -128
  265. package/lib/server/localUtils.js +0 -218
  266. package/lib/server/macEditingCommands.js +0 -143
  267. package/lib/server/network.js +0 -629
  268. package/lib/server/page.js +0 -870
  269. package/lib/server/pipeTransport.js +0 -89
  270. package/lib/server/playwright.js +0 -71
  271. package/lib/server/progress.js +0 -112
  272. package/lib/server/protocolError.js +0 -52
  273. package/lib/server/recorder/chat.js +0 -161
  274. package/lib/server/recorder/recorderApp.js +0 -387
  275. package/lib/server/recorder/recorderRunner.js +0 -138
  276. package/lib/server/recorder/recorderSignalProcessor.js +0 -83
  277. package/lib/server/recorder/recorderUtils.js +0 -157
  278. package/lib/server/recorder/throttledFile.js +0 -57
  279. package/lib/server/recorder.js +0 -498
  280. package/lib/server/registry/browserFetcher.js +0 -175
  281. package/lib/server/registry/dependencies.js +0 -371
  282. package/lib/server/registry/index.js +0 -1333
  283. package/lib/server/registry/nativeDeps.js +0 -1280
  284. package/lib/server/registry/oopDownloadBrowserMain.js +0 -120
  285. package/lib/server/screenshotter.js +0 -333
  286. package/lib/server/selectors.js +0 -112
  287. package/lib/server/socksClientCertificatesInterceptor.js +0 -383
  288. package/lib/server/socksInterceptor.js +0 -95
  289. package/lib/server/trace/recorder/snapshotter.js +0 -147
  290. package/lib/server/trace/recorder/snapshotterInjected.js +0 -541
  291. package/lib/server/trace/recorder/tracing.js +0 -602
  292. package/lib/server/trace/test/inMemorySnapshotter.js +0 -87
  293. package/lib/server/trace/viewer/traceViewer.js +0 -240
  294. package/lib/server/transport.js +0 -181
  295. package/lib/server/types.js +0 -28
  296. package/lib/server/usKeyboardLayout.js +0 -145
  297. package/lib/server/utils/ascii.js +0 -44
  298. package/lib/server/utils/comparators.js +0 -161
  299. package/lib/server/utils/crypto.js +0 -216
  300. package/lib/server/utils/debug.js +0 -42
  301. package/lib/server/utils/debugLogger.js +0 -122
  302. package/lib/server/utils/env.js +0 -73
  303. package/lib/server/utils/eventsHelper.js +0 -39
  304. package/lib/server/utils/expectUtils.js +0 -38
  305. package/lib/server/utils/fileUtils.js +0 -191
  306. package/lib/server/utils/happyEyeballs.js +0 -207
  307. package/lib/server/utils/hostPlatform.js +0 -111
  308. package/lib/server/utils/httpServer.js +0 -218
  309. package/lib/server/utils/image_tools/colorUtils.js +0 -89
  310. package/lib/server/utils/image_tools/compare.js +0 -109
  311. package/lib/server/utils/image_tools/imageChannel.js +0 -78
  312. package/lib/server/utils/image_tools/stats.js +0 -102
  313. package/lib/server/utils/linuxUtils.js +0 -71
  314. package/lib/server/utils/network.js +0 -227
  315. package/lib/server/utils/nodePlatform.js +0 -148
  316. package/lib/server/utils/pipeTransport.js +0 -84
  317. package/lib/server/utils/processLauncher.js +0 -241
  318. package/lib/server/utils/socksProxy.js +0 -511
  319. package/lib/server/utils/spawnAsync.js +0 -41
  320. package/lib/server/utils/task.js +0 -51
  321. package/lib/server/utils/userAgent.js +0 -98
  322. package/lib/server/utils/wsServer.js +0 -121
  323. package/lib/server/utils/zipFile.js +0 -74
  324. package/lib/server/utils/zones.js +0 -57
  325. package/lib/server/webkit/protocol.d.js +0 -16
  326. package/lib/server/webkit/webkit.js +0 -119
  327. package/lib/server/webkit/wkAccessibility.js +0 -237
  328. package/lib/server/webkit/wkBrowser.js +0 -339
  329. package/lib/server/webkit/wkConnection.js +0 -149
  330. package/lib/server/webkit/wkExecutionContext.js +0 -154
  331. package/lib/server/webkit/wkInput.js +0 -181
  332. package/lib/server/webkit/wkInterceptableRequest.js +0 -169
  333. package/lib/server/webkit/wkPage.js +0 -1134
  334. package/lib/server/webkit/wkProvisionalPage.js +0 -83
  335. package/lib/server/webkit/wkWorkers.js +0 -104
  336. package/lib/server/webkit/wsl/webkit-wsl-transport-client.js +0 -74
  337. package/lib/server/webkit/wsl/webkit-wsl-transport-server.js +0 -113
  338. package/lib/third_party/pixelmatch.js +0 -255
  339. package/lib/utils/isomorphic/ariaSnapshot.js +0 -392
  340. package/lib/utils/isomorphic/assert.js +0 -31
  341. package/lib/utils/isomorphic/colors.js +0 -72
  342. package/lib/utils/isomorphic/cssParser.js +0 -245
  343. package/lib/utils/isomorphic/cssTokenizer.js +0 -1051
  344. package/lib/utils/isomorphic/headers.js +0 -53
  345. package/lib/utils/isomorphic/locatorGenerators.js +0 -673
  346. package/lib/utils/isomorphic/locatorParser.js +0 -176
  347. package/lib/utils/isomorphic/locatorUtils.js +0 -81
  348. package/lib/utils/isomorphic/manualPromise.js +0 -114
  349. package/lib/utils/isomorphic/mimeType.js +0 -459
  350. package/lib/utils/isomorphic/multimap.js +0 -80
  351. package/lib/utils/isomorphic/protocolFormatter.js +0 -78
  352. package/lib/utils/isomorphic/protocolMetainfo.js +0 -321
  353. package/lib/utils/isomorphic/rtti.js +0 -43
  354. package/lib/utils/isomorphic/selectorParser.js +0 -386
  355. package/lib/utils/isomorphic/semaphore.js +0 -54
  356. package/lib/utils/isomorphic/stackTrace.js +0 -158
  357. package/lib/utils/isomorphic/stringUtils.js +0 -155
  358. package/lib/utils/isomorphic/time.js +0 -49
  359. package/lib/utils/isomorphic/timeoutRunner.js +0 -66
  360. package/lib/utils/isomorphic/traceUtils.js +0 -58
  361. package/lib/utils/isomorphic/types.js +0 -16
  362. package/lib/utils/isomorphic/urlMatch.js +0 -176
  363. package/lib/utils/isomorphic/utilityScriptSerializers.js +0 -251
  364. package/lib/utils.js +0 -107
  365. package/lib/utilsBundleImpl/index.js +0 -218
  366. package/lib/vite/recorder/assets/codeMirrorModule-RJCXzfmE.js +0 -24
  367. package/lib/vite/recorder/assets/index-Ri0uHF7I.css +0 -1
  368. package/lib/vite/recorder/assets/index-Y-X2TGJv.js +0 -193
  369. package/lib/vite/traceViewer/assets/codeMirrorModule-eyVcHN77.js +0 -24
  370. package/lib/vite/traceViewer/assets/defaultSettingsView-w0zYjHsW.js +0 -265
  371. package/lib/vite/traceViewer/defaultSettingsView.TQ8_7ybu.css +0 -1
  372. package/lib/vite/traceViewer/index.Bx16ehp1.js +0 -2
  373. package/lib/vite/traceViewer/index.I8N9v4jT.css +0 -1
  374. package/lib/vite/traceViewer/uiMode.Btcz36p_.css +0 -1
  375. package/lib/vite/traceViewer/uiMode.DRQ310U5.js +0 -5
  376. package/lib/zipBundle.js +0 -34
  377. package/lib/zipBundleImpl.js +0 -5
  378. /package/lib/{utilsBundleImpl/xdg-open → xdg-open} +0 -0
@@ -1,3 +1,5 @@
1
- var Kr=Object.defineProperty;var Xr=(n,t,e)=>t in n?Kr(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var v=(n,t,e)=>Xr(n,typeof t!="symbol"?t+"":t,e);function $r(n,t){const e=new Array(t.length).fill(0);return new Array(t.length).fill(0).map((r,s)=>(i,a)=>{e[s]=i/a*t[s]*1e3,n(e.reduce((o,u)=>o+u,0),1e3)})}const Un={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function Jr(n){return n.replace(/[&<>"']/ug,t=>Un[t])}function Qr(n){return n.replace(/[&<]/ug,t=>Un[t])}function Ht(n,t,e){return n.find((r,s)=>{if(s===n.length-1)return!0;const i=n[s+1];return Math.abs(t(r)-e)<Math.abs(t(i)-e)})}function Mn(n){return Array.isArray(n)&&typeof n[0]=="string"}function zr(n){return Array.isArray(n)&&Array.isArray(n[0])}class es{constructor(t,e,r,s,i){v(this,"_htmlCache");v(this,"_snapshots");v(this,"_index");v(this,"snapshotName");v(this,"_resources");v(this,"_snapshot");v(this,"_callId");v(this,"_screencastFrames");this._htmlCache=t,this._resources=e,this._snapshots=r,this._index=i,this._snapshot=r[i],this._callId=r[i].callId,this._screencastFrames=s,this.snapshotName=r[i].snapshotName}snapshot(){return this._snapshots[this._index]}viewport(){return this._snapshots[this._index].viewport}closestScreenshot(){var s;const{wallTime:t,timestamp:e}=this.snapshot(),r=t&&((s=this._screencastFrames[0])!=null&&s.frameSwapWallTime)?Ht(this._screencastFrames,i=>i.frameSwapWallTime,t):Ht(this._screencastFrames,i=>i.timestamp,e);return r==null?void 0:r.sha1}render(){const t=[],e=(i,a,o,u)=>{if(typeof i=="string"){o==="STYLE"||o==="style"?t.push(cs(is(i))):t.push(Qr(i));return}if(zr(i)){const _=a-i[0][0];if(_>=0&&_<=a){const l=ns(this._snapshots[_]),m=i[0][1];if(m>=0&&m<l.length)return e(l[m],_,o,u)}}else if(Mn(i)){const[_,l,...m]=i,h=_==="NOSCRIPT"?"X-NOSCRIPT":_,x=Object.entries(l||{});t.push("<",h);const S="__playwright_current_src__",f=h==="IFRAME"||h==="FRAME",c=h==="A",d=h==="IMG",y=d&&x.some(g=>g[0]===S),b=h==="SOURCE"&&o==="PICTURE"&&(u==null?void 0:u.some(g=>g[0]===S));for(const[g,A]of x){let p=g;f&&g.toLowerCase()==="src"&&(p="__playwright_src__"),d&&g===S&&(p="src"),["src","srcset"].includes(g.toLowerCase())&&(y||b)&&(p="_"+p);let R=A;c&&g.toLowerCase()==="href"?R="link://"+A:(g.toLowerCase()==="href"||g.toLowerCase()==="src"||g===S)&&(R=ft(A)),t.push(" ",p,'="',Jr(R),'"')}t.push(">");for(const g of m)e(g,a,h,x);ts.has(h)||t.push("</",h,">");return}else return},r=this._snapshot;return{html:this._htmlCache.getOrCompute(this,()=>{e(r.html,this._index,void 0,void 0);const a=(r.doctype?`<!DOCTYPE ${r.doctype}>`:"")+["<style>*,*::before,*::after { visibility: hidden }</style>",`<script>${rs(this.viewport(),this._callId,this.snapshotName)}<\/script>`].join("")+t.join("");return{value:a,size:a.length}}),pageId:r.pageId,frameId:r.frameId,index:this._index}}resourceByUrl(t,e){const r=this._snapshot;let s,i;for(const o of this._resources){if(typeof o._monotonicTime=="number"&&o._monotonicTime>=r.timestamp)break;o.response.status!==304&&o.request.url===t&&o.request.method===e&&(o._frameref===r.frameId?s=o:i=o)}let a=s??i;if(a&&e.toUpperCase()==="GET"){for(const o of r.resourceOverrides)if(t===o.url&&o.sha1){a={...a,response:{...a.response,content:{...a.response.content,_sha1:o.sha1}}};break}}return a}}const ts=new Set(["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","MENUITEM","META","PARAM","SOURCE","TRACK","WBR"]);function ns(n){if(!n._nodes){const t=[],e=r=>{if(typeof r=="string")t.push(r);else if(Mn(r)){const[,,...s]=r;for(const i of s)e(i);t.push(r)}};e(n.html),n._nodes=t}return n._nodes}function rs(n,...t){function e(r,s,...i){const a=new URLSearchParams(location.search),o=a.has("shouldPopulateCanvasFromScreenshot"),u=a.has("isUnderTest"),_={viewport:s,frames:new WeakMap};window.__playwright_frame_bounding_rects__=_;const l="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=[],h=[],x=[],S=[];let f=window;for(;f!==f.parent&&!f.location.pathname.match(/\/page@[a-z0-9]+$/);)f=f.parent;const c=b=>{for(const g of b.querySelectorAll("[__playwright_scroll_top_]"))m.push(g);for(const g of b.querySelectorAll("[__playwright_scroll_left_]"))h.push(g);for(const g of b.querySelectorAll("[__playwright_value_]")){const A=g;A.type!=="file"&&(A.value=A.getAttribute("__playwright_value_")),g.removeAttribute("__playwright_value_")}for(const g of b.querySelectorAll("[__playwright_checked_]"))g.checked=g.getAttribute("__playwright_checked_")==="true",g.removeAttribute("__playwright_checked_");for(const g of b.querySelectorAll("[__playwright_selected_]"))g.selected=g.getAttribute("__playwright_selected_")==="true",g.removeAttribute("__playwright_selected_");for(const g of b.querySelectorAll("[__playwright_popover_open_]")){try{g.showPopover()}catch{}g.removeAttribute("__playwright_popover_open_")}for(const g of b.querySelectorAll("[__playwright_dialog_open_]")){try{g.getAttribute("__playwright_dialog_open_")==="modal"?g.showModal():g.show()}catch{}g.removeAttribute("__playwright_dialog_open_")}for(const g of i)for(const A of b.querySelectorAll(`[__playwright_target__="${g}"]`)){const p=A.style;p.outline="2px solid #006ab1",p.backgroundColor="#6fa8dc7f",x.push(A)}for(const g of b.querySelectorAll("iframe, frame")){const A=g.getAttribute("__playwright_bounding_rect__");g.removeAttribute("__playwright_bounding_rect__");const p=A?JSON.parse(A):void 0;p&&_.frames.set(g,{boundingRect:p,scrollLeft:0,scrollTop:0});const R=g.getAttribute("__playwright_src__");if(!R)g.setAttribute("src",'data:text/html,<body style="background: #ddd"></body>');else{const E=new URL(r(window.location.href)),O=E.pathname.lastIndexOf("/snapshot/");O!==-1&&(E.pathname=E.pathname.substring(0,O+1)),E.pathname+=R.substring(1),g.setAttribute("src",E.toString())}}{const g=b.querySelector("body[__playwright_custom_elements__]");if(g&&window.customElements){const A=(g.getAttribute("__playwright_custom_elements__")||"").split(",");for(const p of A)window.customElements.define(p,class extends HTMLElement{})}}for(const g of b.querySelectorAll("template[__playwright_shadow_root_]")){const A=g,p=A.parentElement.attachShadow({mode:"open"});p.appendChild(A.content),A.remove(),c(p)}if("adoptedStyleSheets"in b){const g=[...b.adoptedStyleSheets];for(const A of b.querySelectorAll("template[__playwright_style_sheet_]")){const p=A,R=new CSSStyleSheet;R.replaceSync(p.getAttribute("__playwright_style_sheet_")),g.push(R)}b.adoptedStyleSheets=g}S.push(...b.querySelectorAll("canvas"))},d=()=>{window.removeEventListener("load",d);for(const A of m)A.scrollTop=+A.getAttribute("__playwright_scroll_top_"),A.removeAttribute("__playwright_scroll_top_"),_.frames.has(A)&&(_.frames.get(A).scrollTop=A.scrollTop);for(const A of h)A.scrollLeft=+A.getAttribute("__playwright_scroll_left_"),A.removeAttribute("__playwright_scroll_left_"),_.frames.has(A)&&(_.frames.get(A).scrollLeft=A.scrollTop);document.styleSheets[0].disabled=!0;const b=new URL(window.location.href).searchParams,g=window===f;if(b.get("pointX")&&b.get("pointY")){const A=+b.get("pointX"),p=+b.get("pointY"),R=b.has("hasInputTarget"),E=x.length>0,O=document.documentElement?[document.documentElement]:[];for(const T of E?x:O){const w=document.createElement("x-pw-pointer");if(w.style.position="fixed",w.style.backgroundColor="#f44336",w.style.width="20px",w.style.height="20px",w.style.borderRadius="10px",w.style.margin="-10px 0 0 -10px",w.style.zIndex="2147483646",w.style.display="flex",w.style.alignItems="center",w.style.justifyContent="center",E){const C=T.getBoundingClientRect(),I=C.left+C.width/2,k=C.top+C.height/2;if(w.style.left=I+"px",w.style.top=k+"px",g&&(Math.abs(I-A)>=10||Math.abs(k-p)>=10)){const P=document.createElement("x-pw-pointer-warning");P.textContent="⚠",P.style.fontSize="19px",P.style.color="white",P.style.marginTop="-3.5px",P.style.userSelect="none",w.appendChild(P),w.setAttribute("title",l)}document.documentElement.appendChild(w)}else g&&!R&&(w.style.left=A+"px",w.style.top=p+"px",document.documentElement.appendChild(w))}}if(S.length>0){let A=function(R,E){function O(){const T=document.createElement("canvas");T.width=T.width/Math.floor(T.width/24),T.height=T.height/Math.floor(T.height/24);const w=T.getContext("2d");return w.fillStyle="lightgray",w.fillRect(0,0,T.width,T.height),w.fillStyle="white",w.fillRect(0,0,T.width/2,T.height/2),w.fillRect(T.width/2,T.height/2,T.width,T.height),w.createPattern(T,"repeat")}R.fillStyle=O(),R.fillRect(0,0,E.width,E.height)};const p=new Image;p.onload=()=>{var R;for(const E of S){const O=E.getContext("2d"),T=E.getAttribute("__playwright_bounding_rect__");if(E.removeAttribute("__playwright_bounding_rect__"),!T)continue;let w;try{w=JSON.parse(T)}catch{continue}let C=window;for(;C!==f;){const M=C.frameElement;C=C.parent;const L=(R=C.__playwright_frame_bounding_rects__)==null?void 0:R.frames.get(M);if(!(L!=null&&L.boundingRect))break;const Z=L.boundingRect.left-L.scrollLeft,N=L.boundingRect.top-L.scrollTop;w.left+=Z,w.top+=N,w.right+=Z,w.bottom+=N}const{width:I,height:k}=f.__playwright_frame_bounding_rects__.viewport;w.left=w.left/I,w.top=w.top/k,w.right=w.right/I,w.bottom=w.bottom/k;const P=w.right>1||w.bottom>1;if(w.left>1||w.top>1){E.title="Playwright couldn't capture canvas contents because it's located outside the viewport.";continue}A(O,E),o?(O.drawImage(p,w.left*p.width,w.top*p.height,(w.right-w.left)*p.width,(w.bottom-w.top)*p.height,0,0,E.width,E.height),P?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.",u&&console.log("canvas drawn:",JSON.stringify([w.left,w.top,w.right-w.left,w.bottom-w.top].map(M=>Math.floor(M*100))))}},p.onerror=()=>{for(const R of S){const E=R.getContext("2d");A(E,R),R.title="Playwright couldn't show canvas contents because the screenshot failed to load."}},p.src=location.href.replace("/snapshot","/closest-screenshot")}},y=()=>c(document);window.addEventListener("load",d),window.addEventListener("DOMContentLoaded",y)}return`
2
- (${e.toString()})(${ut.toString()}, ${JSON.stringify(n)}${t.map(r=>`, "${r}"`).join("")})`}const Hn=["about:","blob:","data:","file:","ftp:","http:","https:","mailto:","sftp:","ws:","wss:"],Wt="http://playwright.bloburl/#";function ft(n){n.startsWith(Wt)&&(n=n.substring(Wt.length));try{const t=new URL(n);if(t.protocol==="javascript:"||t.protocol==="vbscript:")return"javascript:void(0)";const e=t.protocol==="blob:",r=t.protocol==="file:";if(!e&&!r&&Hn.includes(t.protocol))return n;const s="pw-"+t.protocol.slice(0,t.protocol.length-1);return r||(t.protocol="https:"),t.hostname=t.hostname?`${s}--${t.hostname}`:s,r&&(t.protocol="https:"),t.toString()}catch{return n}}const ss=/url\(['"]?([\w-]+:)\/\//ig;function is(n){return n.replace(ss,(t,e)=>!(e==="blob:")&&!(e==="file:")&&Hn.includes(e)?t:t.replace(e+"//",`https://pw-${e.slice(0,-1)}--`))}const as=/url\(\s*'([^']*)'\s*\)/ig,os=/url\(\s*"([^"]*)"\s*\)/ig;function cs(n){const t=(e,r)=>r.includes("</")?e.replace(r,encodeURI(r)):e;return n.replace(as,t).replace(os,t)}function ut(n){const t=new URL(n);return t.pathname.endsWith("/snapshot.html")?t.searchParams.get("r"):n}class ls{constructor(t,e){v(this,"_snapshotStorage");v(this,"_resourceLoader");v(this,"_snapshotIds",new Map);this._snapshotStorage=t,this._resourceLoader=e}serveSnapshot(t,e,r){const s=this._snapshot(t,e);if(!s)return new Response(null,{status:404});const i=s.render();return this._snapshotIds.set(r,s),new Response(i.html,{status:200,headers:{"Content-Type":"text/html; charset=utf-8"}})}async serveClosestScreenshot(t,e){const r=this._snapshot(t,e),s=r==null?void 0:r.closestScreenshot();return s?new Response(await this._resourceLoader(s)):new Response(null,{status:404})}serveSnapshotInfo(t,e){const r=this._snapshot(t,e);return this._respondWithJson(r?{viewport:r.viewport(),url:r.snapshot().frameUrl,timestamp:r.snapshot().timestamp,wallTime:r.snapshot().wallTime}:{error:"No snapshot found"})}_snapshot(t,e){const r=e.get("name");return this._snapshotStorage.snapshotByName(t,r)}_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,r){let s;const i=this._snapshotIds.get(r);for(const x of t)if(s=i==null?void 0:i.resourceByUrl(fs(x),e),s)break;if(!s)return new Response(null,{status:404});const a=s.response.content._sha1,o=a?await this._resourceLoader(a)||new Blob([]):new Blob([]);let u=s.response.content.mimeType;/^text\/|^application\/(javascript|json)/.test(u)&&!u.includes("charset")&&(u=`${u}; charset=utf-8`);const l=new Headers;u!=="x-unknown"&&l.set("Content-Type",u);for(const{name:x,value:S}of s.response.headers)l.set(x,S);l.delete("Content-Encoding"),l.delete("Access-Control-Allow-Origin"),l.set("Access-Control-Allow-Origin","*"),l.delete("Content-Length"),l.set("Content-Length",String(o.size)),l.set("Cache-Control","public, max-age=31536000");const{status:m}=s.response,h=m===101||m===204||m===205||m===304;return new Response(h?null:o,{headers:l,status:s.response.status,statusText:s.response.statusText})}}function fs(n){try{const t=new URL(n);return t.hash="",t.toString()}catch{return n}}function us(n){const t=new Map,{files:e,stacks:r}=n;for(const s of r){const[i,a]=s;t.set(`call@${i}`,a.map(o=>({file:e[o[0]],line:o[1],column:o[2],function:o[3]})))}return t}class ds{constructor(t){v(this,"_maxSize");v(this,"_map");v(this,"_size");this._maxSize=t,this._map=new Map,this._size=0}getOrCompute(t,e){if(this._map.has(t)){const s=this._map.get(t);return this._map.delete(t),this._map.set(t,s),s.value}const r=e();for(;this._map.size&&this._size+r.size>this._maxSize;){const[s,i]=this._map.entries().next().value;this._size-=i.size,this._map.delete(s)}return this._map.set(t,r),this._size+=r.size,r.value}}class _s{constructor(){v(this,"_frameSnapshots",new Map);v(this,"_cache",new ds(1e8));v(this,"_contextToResources",new Map)}addResource(t,e){e.request.url=ft(e.request.url),this._ensureResourcesForContext(t).push(e)}addFrameSnapshot(t,e,r){for(const o of e.resourceOverrides)o.url=ft(o.url);let s=this._frameSnapshots.get(e.frameId);s||(s={raw:[],renderers:[]},this._frameSnapshots.set(e.frameId,s),e.isMainFrame&&this._frameSnapshots.set(e.pageId,s)),s.raw.push(e);const i=this._ensureResourcesForContext(t),a=new es(this._cache,i,s.raw,r,s.raw.length-1);return s.renderers.push(a),a}snapshotByName(t,e){const r=this._frameSnapshots.get(t);return r==null?void 0:r.renderers.find(s=>s.snapshotName===e)}snapshotsForTest(){return[...this._frameSnapshots.keys()]}finalize(){for(const t of this._contextToResources.values())t.sort((e,r)=>(e._monotonicTime||0)-(r._monotonicTime||0))}_ensureResourcesForContext(t){let e=this._contextToResources.get(t);return e||(e=[],this._contextToResources.set(t,e)),e}}class Wn extends Error{constructor(t){super(t),this.name="TraceVersionError"}}const Bt=8;class hs{constructor(t,e){v(this,"_contextEntry");v(this,"_snapshotStorage");v(this,"_actionMap",new Map);v(this,"_version");v(this,"_pageEntries",new Map);v(this,"_jsHandles",new Map);v(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 r of e)this._innerAppendEvent(r)}_innerAppendEvent(t){const e=this._contextEntry;switch(t.type){case"context-options":{if(t.version>Bt)throw new Wn("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.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 r=this._actionMap.get(t.callId);r.inputSnapshot=t.inputSnapshot,r.point=t.point;break}case"log":{const r=this._actionMap.get(t.callId);if(!r)return;r.log.push({time:t.time,message:t.message});break}case"after":{const r=this._actionMap.get(t.callId);r.afterSnapshot=t.afterSnapshot,r.endTime=t.endTime,r.result=t.result,r.error=t.error,r.attachments=t.attachments,r.annotations=t.annotations,t.point&&(r.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,r=[t];for(;e<Bt;++e)r=this[`_modernize_${e}_to_${e+1}`].call(this,r);return r}_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 r of t)r.type!=="frame-snapshot"||!r.snapshot.isMainFrame||(r.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 r=e.snapshot;e.snapshot={_frameref:r.frameId,request:{url:r.url,method:r.method,headers:r.requestHeaders,postData:r.requestSha1?{_sha1:r.requestSha1}:void 0},response:{status:r.status,headers:r.responseHeaders,content:{mimeType:r.contentType,_sha1:r.responseSha1}},_monotonicTime:r.timestamp}}return t}_modernize_3_to_4(t){const e=[];for(const r of t){const s=this._modernize_event_3_to_4(r);s&&e.push(s)}return e}_modernize_event_3_to_4(t){var r,s,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:(r=e.snapshots.find(o=>o.title==="before"))==null?void 0:r.snapshotName,inputSnapshot:(s=e.snapshots.find(o=>o.title==="input"))==null?void 0:s.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 r of t){const s=this._modernize_event_4_to_5(r);s&&e.push(s)}return e}_modernize_event_4_to_5(t){var e,r;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 s=(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:s}),null}if(t.type==="event"&&t.method==="console"){const s=this._consoleObjects.get(((r=t.params.message)==null?void 0:r.guid)||"");return s?{type:"console",time:t.time,pageId:t.pageId,messageType:s.type,text:s.text,args:s.args,location:s.location}:null}return t}_modernize_5_to_6(t){const e=[];for(const r of t)if(e.push(r),!(r.type!=="after"||!r.log.length))for(const s of r.log)e.push({type:"log",callId:r.callId,message:s,time:-1});return e}_modernize_6_to_7(t){const e=[];if(!this._processedContextCreatedEvent()&&t[0].type!=="context-options"){const r={type:"context-options",origin:"testRunner",version:6,browserName:"",options:{},platform:"unknown",wallTime:0,monotonicTime:0,sdkLanguage:"javascript",contextId:""};e.push(r)}for(const r of t){if(r.type==="context-options"){e.push({...r,monotonicTime:0,origin:"library",contextId:""});continue}if(r.type==="before"||r.type==="action"){this._contextEntry.wallTime||(this._contextEntry.wallTime=r.wallTime);const s=r,i=r;i.stepId=`${s.apiName}@${s.wallTime}`,e.push(i)}else e.push(r)}return e}_modernize_7_to_8(t){const e=[];for(const r of t)if(r.type==="before"||r.type==="action"){const s=r,i=r;s.apiName&&(i.title=s.apiName,delete i.apiName),i.stepId=s.stepId??s.callId,e.push(i)}else e.push(r);return e}}class ps{constructor(){v(this,"contextEntries",[]);v(this,"_snapshotStorage");v(this,"_backend");v(this,"_resourceToContentType",new Map)}async load(t,e){var o,u;this._backend=t;const r=[];let s=!1;for(const _ of await this._backend.entryNames()){const l=_.match(/(.+)\.trace$/);l&&r.push(l[1]||""),_.includes("src@")&&(s=!0)}if(!r.length)throw new Error("Cannot find .trace file");this._snapshotStorage=new _s;const i=r.length*3;let a=0;for(const _ of r){const l=ms();l.traceUrl=t.traceURL(),l.hasSource=s;const m=new hs(l,this._snapshotStorage),h=await this._backend.readText(_+".trace")||"";m.appendTrace(h),e(++a,i);const x=await this._backend.readText(_+".network")||"";if(m.appendTrace(x),e(++a,i),l.actions=m.actions().sort((f,c)=>f.startTime-c.startTime),!t.isLive()){for(const f of l.actions.slice().reverse())if(!f.endTime&&!f.error)for(const c of l.actions)c.parentId===f.callId&&f.endTime<c.endTime&&(f.endTime=c.endTime)}const S=await this._backend.readText(_+".stacks");if(S){const f=us(JSON.parse(S));for(const c of l.actions)c.stack=c.stack||f.get(c.callId)}e(++a,i);for(const f of l.resources)(o=f.request.postData)!=null&&o._sha1&&this._resourceToContentType.set(f.request.postData._sha1,jt(f.request.postData.mimeType)),(u=f.response.content)!=null&&u._sha1&&this._resourceToContentType.set(f.response.content._sha1,jt(f.response.content.mimeType));this.contextEntries.push(l)}this._snapshotStorage.finalize()}async hasEntry(t){return this._backend.hasEntry(t)}async resourceForSha1(t){const e=await this._backend.readBlob("resources/"+t),r=this._resourceToContentType.get(t);return!e||r===void 0||r==="x-unknown"?e:new Blob([e],{type:r})}storage(){return this._snapshotStorage}}function jt(n){const t=n.match(/^(.*);\s*charset=.*$/);return t?t[1]:n}function ms(){return{origin:"testRunner",traceUrl:"",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:""}}const ws=15,F=0,re=1,gs=2,X=-2,B=-3,Gt=-4,se=-5,$=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Bn=1440,bs=0,ys=4,Es=9,xs=5,Ts=[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],Ss=[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],Rs=[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],As=[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],Os=[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],Is=[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],ae=15;function dt(){const n=this;let t,e,r,s,i,a;function o(_,l,m,h,x,S,f,c,d,y,b){let g,A,p,R,E,O,T,w,C,I,k,P,D,M,L;I=0,E=m;do r[_[l+I]]++,I++,E--;while(E!==0);if(r[0]==m)return f[0]=-1,c[0]=0,F;for(w=c[0],O=1;O<=ae&&r[O]===0;O++);for(T=O,w<O&&(w=O),E=ae;E!==0&&r[E]===0;E--);for(p=E,w>E&&(w=E),c[0]=w,M=1<<O;O<E;O++,M<<=1)if((M-=r[O])<0)return B;if((M-=r[E])<0)return B;for(r[E]+=M,a[1]=O=0,I=1,D=2;--E!==0;)a[D]=O+=r[I],D++,I++;E=0,I=0;do(O=_[l+I])!==0&&(b[a[O]++]=E),I++;while(++E<m);for(m=a[p],a[0]=E=0,I=0,R=-1,P=-w,i[0]=0,k=0,L=0;T<=p;T++)for(g=r[T];g--!==0;){for(;T>P+w;){if(R++,P+=w,L=p-P,L=L>w?w:L,(A=1<<(O=T-P))>g+1&&(A-=g+1,D=T,O<L))for(;++O<L&&!((A<<=1)<=r[++D]);)A-=r[D];if(L=1<<O,y[0]+L>Bn)return B;i[R]=k=y[0],y[0]+=L,R!==0?(a[R]=E,s[0]=O,s[1]=w,O=E>>>P-w,s[2]=k-i[R-1]-O,d.set(s,(i[R-1]+O)*3)):f[0]=k}for(s[1]=T-P,I>=m?s[0]=192:b[I]<h?(s[0]=b[I]<256?0:96,s[2]=b[I++]):(s[0]=S[b[I]-h]+16+64,s[2]=x[b[I++]-h]),A=1<<T-P,O=E>>>P;O<L;O+=A)d.set(s,(k+O)*3);for(O=1<<T-1;(E&O)!==0;O>>>=1)E^=O;for(E^=O,C=(1<<P)-1;(E&C)!=a[R];)R--,P-=w,C=(1<<P)-1}return M!==0&&p!=1?se:F}function u(_){let l;for(t||(t=[],e=[],r=new Int32Array(ae+1),s=[],i=new Int32Array(ae),a=new Int32Array(ae+1)),e.length<_&&(e=[]),l=0;l<_;l++)e[l]=0;for(l=0;l<ae+1;l++)r[l]=0;for(l=0;l<3;l++)s[l]=0;i.set(r.subarray(0,ae),0),a.set(r.subarray(0,ae+1),0)}n.inflate_trees_bits=function(_,l,m,h,x){let S;return u(19),t[0]=0,S=o(_,0,19,19,null,null,m,l,h,t,e),S==B?x.msg="oversubscribed dynamic bit lengths tree":(S==se||l[0]===0)&&(x.msg="incomplete dynamic bit lengths tree",S=B),S},n.inflate_trees_dynamic=function(_,l,m,h,x,S,f,c,d){let y;return u(288),t[0]=0,y=o(m,0,_,257,Rs,As,S,h,c,t,e),y!=F||h[0]===0?(y==B?d.msg="oversubscribed literal/length tree":y!=Gt&&(d.msg="incomplete literal/length tree",y=B),y):(u(288),y=o(m,_,l,0,Os,Is,f,x,c,t,e),y!=F||x[0]===0&&_>257?(y==B?d.msg="oversubscribed distance tree":y==se?(d.msg="incomplete distance tree",y=B):y!=Gt&&(d.msg="empty distance tree with lengths",y=B),y):F)}}dt.inflate_trees_fixed=function(n,t,e,r){return n[0]=Es,t[0]=xs,e[0]=Ts,r[0]=Ss,F};const Be=0,Yt=1,qt=2,Vt=3,Zt=4,Kt=5,Xt=6,et=7,$t=8,je=9;function Cs(){const n=this;let t,e=0,r,s=0,i=0,a=0,o=0,u=0,_=0,l=0,m,h=0,x,S=0;function f(c,d,y,b,g,A,p,R){let E,O,T,w,C,I,k,P,D,M,L,Z,N,Q,U,H;k=R.next_in_index,P=R.avail_in,C=p.bitb,I=p.bitk,D=p.write,M=D<p.read?p.read-D-1:p.end-D,L=$[c],Z=$[d];do{for(;I<20;)P--,C|=(R.read_byte(k++)&255)<<I,I+=8;if(E=C&L,O=y,T=b,H=(T+E)*3,(w=O[H])===0){C>>=O[H+1],I-=O[H+1],p.win[D++]=O[H+2],M--;continue}do{if(C>>=O[H+1],I-=O[H+1],(w&16)!==0){for(w&=15,N=O[H+2]+(C&$[w]),C>>=w,I-=w;I<15;)P--,C|=(R.read_byte(k++)&255)<<I,I+=8;E=C&Z,O=g,T=A,H=(T+E)*3,w=O[H];do if(C>>=O[H+1],I-=O[H+1],(w&16)!==0){for(w&=15;I<w;)P--,C|=(R.read_byte(k++)&255)<<I,I+=8;if(Q=O[H+2]+(C&$[w]),C>>=w,I-=w,M-=N,D>=Q)U=D-Q,D-U>0&&2>D-U?(p.win[D++]=p.win[U++],p.win[D++]=p.win[U++],N-=2):(p.win.set(p.win.subarray(U,U+2),D),D+=2,U+=2,N-=2);else{U=D-Q;do U+=p.end;while(U<0);if(w=p.end-U,N>w){if(N-=w,D-U>0&&w>D-U)do p.win[D++]=p.win[U++];while(--w!==0);else p.win.set(p.win.subarray(U,U+w),D),D+=w,U+=w,w=0;U=0}}if(D-U>0&&N>D-U)do p.win[D++]=p.win[U++];while(--N!==0);else p.win.set(p.win.subarray(U,U+N),D),D+=N,U+=N,N=0;break}else if((w&64)===0)E+=O[H+2],E+=C&$[w],H=(T+E)*3,w=O[H];else return R.msg="invalid distance code",N=R.avail_in-P,N=I>>3<N?I>>3:N,P+=N,k-=N,I-=N<<3,p.bitb=C,p.bitk=I,R.avail_in=P,R.total_in+=k-R.next_in_index,R.next_in_index=k,p.write=D,B;while(!0);break}if((w&64)===0){if(E+=O[H+2],E+=C&$[w],H=(T+E)*3,(w=O[H])===0){C>>=O[H+1],I-=O[H+1],p.win[D++]=O[H+2],M--;break}}else return(w&32)!==0?(N=R.avail_in-P,N=I>>3<N?I>>3:N,P+=N,k-=N,I-=N<<3,p.bitb=C,p.bitk=I,R.avail_in=P,R.total_in+=k-R.next_in_index,R.next_in_index=k,p.write=D,re):(R.msg="invalid literal/length code",N=R.avail_in-P,N=I>>3<N?I>>3:N,P+=N,k-=N,I-=N<<3,p.bitb=C,p.bitk=I,R.avail_in=P,R.total_in+=k-R.next_in_index,R.next_in_index=k,p.write=D,B)}while(!0)}while(M>=258&&P>=10);return N=R.avail_in-P,N=I>>3<N?I>>3:N,P+=N,k-=N,I-=N<<3,p.bitb=C,p.bitk=I,R.avail_in=P,R.total_in+=k-R.next_in_index,R.next_in_index=k,p.write=D,F}n.init=function(c,d,y,b,g,A){t=Be,_=c,l=d,m=y,h=b,x=g,S=A,r=null},n.proc=function(c,d,y){let b,g,A,p=0,R=0,E=0,O,T,w,C;for(E=d.next_in_index,O=d.avail_in,p=c.bitb,R=c.bitk,T=c.write,w=T<c.read?c.read-T-1:c.end-T;;)switch(t){case Be:if(w>=258&&O>=10&&(c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,y=f(_,l,m,h,x,S,c,d),E=d.next_in_index,O=d.avail_in,p=c.bitb,R=c.bitk,T=c.write,w=T<c.read?c.read-T-1:c.end-T,y!=F)){t=y==re?et:je;break}i=_,r=m,s=h,t=Yt;case Yt:for(b=i;R<b;){if(O!==0)y=F;else return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);O--,p|=(d.read_byte(E++)&255)<<R,R+=8}if(g=(s+(p&$[b]))*3,p>>>=r[g+1],R-=r[g+1],A=r[g],A===0){a=r[g+2],t=Xt;break}if((A&16)!==0){o=A&15,e=r[g+2],t=qt;break}if((A&64)===0){i=A,s=g/3+r[g+2];break}if((A&32)!==0){t=et;break}return t=je,d.msg="invalid literal/length code",y=B,c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);case qt:for(b=o;R<b;){if(O!==0)y=F;else return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);O--,p|=(d.read_byte(E++)&255)<<R,R+=8}e+=p&$[b],p>>=b,R-=b,i=l,r=x,s=S,t=Vt;case Vt:for(b=i;R<b;){if(O!==0)y=F;else return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);O--,p|=(d.read_byte(E++)&255)<<R,R+=8}if(g=(s+(p&$[b]))*3,p>>=r[g+1],R-=r[g+1],A=r[g],(A&16)!==0){o=A&15,u=r[g+2],t=Zt;break}if((A&64)===0){i=A,s=g/3+r[g+2];break}return t=je,d.msg="invalid distance code",y=B,c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);case Zt:for(b=o;R<b;){if(O!==0)y=F;else return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);O--,p|=(d.read_byte(E++)&255)<<R,R+=8}u+=p&$[b],p>>=b,R-=b,t=Kt;case Kt:for(C=T-u;C<0;)C+=c.end;for(;e!==0;){if(w===0&&(T==c.end&&c.read!==0&&(T=0,w=T<c.read?c.read-T-1:c.end-T),w===0&&(c.write=T,y=c.inflate_flush(d,y),T=c.write,w=T<c.read?c.read-T-1:c.end-T,T==c.end&&c.read!==0&&(T=0,w=T<c.read?c.read-T-1:c.end-T),w===0)))return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);c.win[T++]=c.win[C++],w--,C==c.end&&(C=0),e--}t=Be;break;case Xt:if(w===0&&(T==c.end&&c.read!==0&&(T=0,w=T<c.read?c.read-T-1:c.end-T),w===0&&(c.write=T,y=c.inflate_flush(d,y),T=c.write,w=T<c.read?c.read-T-1:c.end-T,T==c.end&&c.read!==0&&(T=0,w=T<c.read?c.read-T-1:c.end-T),w===0)))return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);y=F,c.win[T++]=a,w--,t=Be;break;case et:if(R>7&&(R-=8,O++,E--),c.write=T,y=c.inflate_flush(d,y),T=c.write,w=T<c.read?c.read-T-1:c.end-T,c.read!=c.write)return c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);t=$t;case $t:return y=re,c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);case je:return y=B,c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y);default:return y=X,c.bitb=p,c.bitk=R,d.avail_in=O,d.total_in+=E-d.next_in_index,d.next_in_index=E,c.write=T,c.inflate_flush(d,y)}},n.free=function(){}}const Jt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],be=0,tt=1,Qt=2,zt=3,en=4,tn=5,Ge=6,Ye=7,nn=8,me=9;function Ps(n,t){const e=this;let r=be,s=0,i=0,a=0,o;const u=[0],_=[0],l=new Cs;let m=0,h=new Int32Array(Bn*3);const x=0,S=new dt;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]=x),r==Ge&&l.free(f),r=be,e.bitk=0,e.bitb=0,e.read=e.write=0},e.reset(n,null),e.inflate_flush=function(f,c){let d,y,b;return y=f.next_out_index,b=e.read,d=(b<=e.write?e.write:e.end)-b,d>f.avail_out&&(d=f.avail_out),d!==0&&c==se&&(c=F),f.avail_out-=d,f.total_out+=d,f.next_out.set(e.win.subarray(b,b+d),y),y+=d,b+=d,b==e.end&&(b=0,e.write==e.end&&(e.write=0),d=e.write-b,d>f.avail_out&&(d=f.avail_out),d!==0&&c==se&&(c=F),f.avail_out-=d,f.total_out+=d,f.next_out.set(e.win.subarray(b,b+d),y),y+=d,b+=d),f.next_out_index=y,e.read=b,c},e.proc=function(f,c){let d,y,b,g,A,p,R,E;for(g=f.next_in_index,A=f.avail_in,y=e.bitb,b=e.bitk,p=e.write,R=p<e.read?e.read-p-1:e.end-p;;){let O,T,w,C,I,k,P,D;switch(r){case be:for(;b<3;){if(A!==0)c=F;else return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);A--,y|=(f.read_byte(g++)&255)<<b,b+=8}switch(d=y&7,m=d&1,d>>>1){case 0:y>>>=3,b-=3,d=b&7,y>>>=d,b-=d,r=tt;break;case 1:O=[],T=[],w=[[]],C=[[]],dt.inflate_trees_fixed(O,T,w,C),l.init(O[0],T[0],w[0],0,C[0],0),y>>>=3,b-=3,r=Ge;break;case 2:y>>>=3,b-=3,r=zt;break;case 3:return y>>>=3,b-=3,r=me,f.msg="invalid block type",c=B,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c)}break;case tt:for(;b<32;){if(A!==0)c=F;else return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);A--,y|=(f.read_byte(g++)&255)<<b,b+=8}if((~y>>>16&65535)!=(y&65535))return r=me,f.msg="invalid stored block lengths",c=B,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);s=y&65535,y=b=0,r=s!==0?Qt:m!==0?Ye:be;break;case Qt:if(A===0||R===0&&(p==e.end&&e.read!==0&&(p=0,R=p<e.read?e.read-p-1:e.end-p),R===0&&(e.write=p,c=e.inflate_flush(f,c),p=e.write,R=p<e.read?e.read-p-1:e.end-p,p==e.end&&e.read!==0&&(p=0,R=p<e.read?e.read-p-1:e.end-p),R===0)))return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);if(c=F,d=s,d>A&&(d=A),d>R&&(d=R),e.win.set(f.read_buf(g,d),p),g+=d,A-=d,p+=d,R-=d,(s-=d)!==0)break;r=m!==0?Ye:be;break;case zt:for(;b<14;){if(A!==0)c=F;else return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);A--,y|=(f.read_byte(g++)&255)<<b,b+=8}if(i=d=y&16383,(d&31)>29||(d>>5&31)>29)return r=me,f.msg="too many length or distance symbols",c=B,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);if(d=258+(d&31)+(d>>5&31),!o||o.length<d)o=[];else for(E=0;E<d;E++)o[E]=0;y>>>=14,b-=14,a=0,r=en;case en:for(;a<4+(i>>>10);){for(;b<3;){if(A!==0)c=F;else return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);A--,y|=(f.read_byte(g++)&255)<<b,b+=8}o[Jt[a++]]=y&7,y>>>=3,b-=3}for(;a<19;)o[Jt[a++]]=0;if(u[0]=7,d=S.inflate_trees_bits(o,u,_,h,f),d!=F)return c=d,c==B&&(o=null,r=me),e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);a=0,r=tn;case tn:for(;d=i,!(a>=258+(d&31)+(d>>5&31));){let M,L;for(d=u[0];b<d;){if(A!==0)c=F;else return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);A--,y|=(f.read_byte(g++)&255)<<b,b+=8}if(d=h[(_[0]+(y&$[d]))*3+1],L=h[(_[0]+(y&$[d]))*3+2],L<16)y>>>=d,b-=d,o[a++]=L;else{for(E=L==18?7:L-14,M=L==18?11:3;b<d+E;){if(A!==0)c=F;else return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);A--,y|=(f.read_byte(g++)&255)<<b,b+=8}if(y>>>=d,b-=d,M+=y&$[E],y>>>=E,b-=E,E=a,d=i,E+M>258+(d&31)+(d>>5&31)||L==16&&E<1)return o=null,r=me,f.msg="invalid bit length repeat",c=B,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,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=[],P=[],D=[],I[0]=9,k[0]=6,d=i,d=S.inflate_trees_dynamic(257+(d&31),1+(d>>5&31),o,I,k,P,D,h,f),d!=F)return d==B&&(o=null,r=me),c=d,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);l.init(I[0],k[0],h,P[0],h,D[0]),r=Ge;case Ge:if(e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,(c=l.proc(e,f,c))!=re)return e.inflate_flush(f,c);if(c=F,l.free(f),g=f.next_in_index,A=f.avail_in,y=e.bitb,b=e.bitk,p=e.write,R=p<e.read?e.read-p-1:e.end-p,m===0){r=be;break}r=Ye;case Ye:if(e.write=p,c=e.inflate_flush(f,c),p=e.write,R=p<e.read?e.read-p-1:e.end-p,e.read!=e.write)return e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);r=nn;case nn:return c=re,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);case me:return c=B,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c);default:return c=X,e.bitb=y,e.bitk=b,f.avail_in=A,f.total_in+=g-f.next_in_index,f.next_in_index=g,e.write=p,e.inflate_flush(f,c)}}},e.free=function(f){e.reset(f,null),e.win=null,h=null},e.set_dictionary=function(f,c,d){e.win.set(f.subarray(c,c+d),0),e.read=e.write=d},e.sync_point=function(){return r==tt?1:0}}const Ns=32,Ds=8,ks=0,rn=1,sn=2,an=3,on=4,cn=5,nt=6,Re=7,ln=12,oe=13,Ls=[0,0,255,255];function vs(){const n=this;n.mode=0,n.method=0,n.was=[0],n.need=0,n.marker=0,n.wbits=0;function t(e){return!e||!e.istate?X:(e.total_in=e.total_out=0,e.msg=null,e.istate.mode=Re,e.istate.blocks.reset(e,null),F)}n.inflateEnd=function(e){return n.blocks&&n.blocks.free(e),n.blocks=null,F},n.inflateInit=function(e,r){return e.msg=null,n.blocks=null,r<8||r>15?(n.inflateEnd(e),X):(n.wbits=r,e.istate.blocks=new Ps(e,1<<r),t(e),F)},n.inflate=function(e,r){let s,i;if(!e||!e.istate||!e.next_in)return X;const a=e.istate;for(r=r==ys?se:F,s=se;;)switch(a.mode){case ks:if(e.avail_in===0)return s;if(s=r,e.avail_in--,e.total_in++,((a.method=e.read_byte(e.next_in_index++))&15)!=Ds){a.mode=oe,e.msg="unknown compression method",a.marker=5;break}if((a.method>>4)+8>a.wbits){a.mode=oe,e.msg="invalid win size",a.marker=5;break}a.mode=rn;case rn:if(e.avail_in===0)return s;if(s=r,e.avail_in--,e.total_in++,i=e.read_byte(e.next_in_index++)&255,((a.method<<8)+i)%31!==0){a.mode=oe,e.msg="incorrect header check",a.marker=5;break}if((i&Ns)===0){a.mode=Re;break}a.mode=sn;case sn:if(e.avail_in===0)return s;s=r,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 s;s=r,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 s;s=r,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?s:(s=r,e.avail_in--,e.total_in++,a.need+=e.read_byte(e.next_in_index++)&255,a.mode=nt,gs);case nt:return a.mode=oe,e.msg="need dictionary",a.marker=0,X;case Re:if(s=a.blocks.proc(e,s),s==B){a.mode=oe,a.marker=0;break}if(s==F&&(s=r),s!=re)return s;s=r,a.blocks.reset(e,a.was),a.mode=ln;case ln:return e.avail_in=0,re;case oe:return B;default:return X}},n.inflateSetDictionary=function(e,r,s){let i=0,a=s;if(!e||!e.istate||e.istate.mode!=nt)return X;const o=e.istate;return a>=1<<o.wbits&&(a=(1<<o.wbits)-1,i=s-a),o.blocks.set_dictionary(r,i,a),o.mode=Re,F},n.inflateSync=function(e){let r,s,i,a,o;if(!e||!e.istate)return X;const u=e.istate;if(u.mode!=oe&&(u.mode=oe,u.marker=0),(r=e.avail_in)===0)return se;for(s=e.next_in_index,i=u.marker;r!==0&&i<4;)e.read_byte(s)==Ls[i]?i++:e.read_byte(s)!==0?i=0:i=4-i,s++,r--;return e.total_in+=s-e.next_in_index,e.next_in_index=s,e.avail_in=r,u.marker=i,i!=4?B:(a=e.total_in,o=e.total_out,t(e),e.total_in=a,e.total_out=o,u.mode=Re,F)},n.inflateSyncPoint=function(e){return!e||!e.istate||!e.istate.blocks?X:e.istate.blocks.sync_point()}}function jn(){}jn.prototype={inflateInit(n){const t=this;return t.istate=new vs,n||(n=ws),t.istate.inflateInit(t,n)},inflate(n){const t=this;return t.istate?t.istate.inflate(t,n):X},inflateEnd(){const n=this;if(!n.istate)return X;const t=n.istate.inflateEnd(n);return n.istate=null,t},inflateSync(){const n=this;return n.istate?n.istate.inflateSync(n):X},inflateSetDictionary(n,t){const e=this;return e.istate?e.istate.inflateSetDictionary(e,n,t):X},read_byte(n){return this.next_in[n]},read_buf(n,t){return this.next_in.subarray(n,n+t)}};function Fs(n){const t=this,e=new jn,r=n&&n.chunkSize?Math.floor(n.chunkSize*2):128*1024,s=bs,i=new Uint8Array(r);let a=!1;e.inflateInit(),e.next_out=i,t.append=function(o,u){const _=[];let l,m,h=0,x=0,S=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=r,e.avail_in===0&&!a&&(e.next_in_index=0,a=!0),l=e.inflate(s),a&&l===se){if(e.avail_in!==0)throw new Error("inflating: bad input")}else if(l!==F&&l!==re)throw new Error("inflating: "+e.msg);if((a||l===re)&&e.avail_in===o.length)throw new Error("inflating: bad input");e.next_out_index&&(e.next_out_index===r?_.push(new Uint8Array(i)):_.push(i.subarray(0,e.next_out_index))),S+=e.next_out_index,u&&e.next_in_index>0&&e.next_in_index!=h&&(u(e.next_in_index),h=e.next_in_index)}while(e.avail_in>0||e.avail_out===0);return _.length>1?(m=new Uint8Array(S),_.forEach(function(f){m.set(f,x),x+=f.length})):m=_[0]?new Uint8Array(_[0]):new Uint8Array,m}},t.flush=function(){e.inflateEnd()}}const we=4294967295,fe=65535,Us=8,Ms=0,Hs=99,Ws=67324752,Gn=134695760,Bs=Gn,fn=33639248,js=101010256,un=101075792,Gs=117853008,ne=22,rt=20,st=56,Ys=12,qs=20,dn=4,Vs=1,Zs=39169,Ks=10,Xs=1,$s=21589,Js=28789,Qs=25461,zs=6534,_n=1,ei=6,hn=8,pn=2048,mn=16,ti=61440,ni=16384,ri=73,wn="/",it=30,si=10,ii=14,ai=18,G=void 0,he="undefined",Le="function";class gn{constructor(t){return class extends TransformStream{constructor(e,r){const s=new t(r);super({transform(i,a){a.enqueue(s.append(i))},flush(i){const a=s.flush();a&&i.enqueue(a)}})}}}}const oi=64;let Yn=2;try{typeof navigator!=he&&navigator.hardwareConcurrency&&(Yn=navigator.hardwareConcurrency)}catch{}const ci={chunkSize:512*1024,maxWorkers:Yn,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:G,CompressionStreamNative:typeof CompressionStream!=he&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=he&&DecompressionStream},ue=Object.assign({},ci);function qn(){return ue}function li(n){return Math.max(n.chunkSize,oi)}function Vn(n){const{baseURL:t,chunkSize:e,maxWorkers:r,terminateWorkerTimeout:s,useCompressionStream:i,useWebWorkers:a,Deflate:o,Inflate:u,CompressionStream:_,DecompressionStream:l,workerScripts:m}=n;if(ce("baseURL",t),ce("chunkSize",e),ce("maxWorkers",r),ce("terminateWorkerTimeout",s),ce("useCompressionStream",i),ce("useWebWorkers",a),o&&(ue.CompressionStream=new gn(o)),u&&(ue.DecompressionStream=new gn(u)),ce("CompressionStream",_),ce("DecompressionStream",l),m!==G){const{deflate:h,inflate:x}=m;if((h||x)&&(ue.workerScripts||(ue.workerScripts={})),h){if(!Array.isArray(h))throw new Error("workerScripts.deflate must be an array");ue.workerScripts.deflate=h}if(x){if(!Array.isArray(x))throw new Error("workerScripts.inflate must be an array");ue.workerScripts.inflate=x}}}function ce(n,t){t!==G&&(ue[n]=t)}function fi(){return"application/octet-stream"}const Zn=[];for(let n=0;n<256;n++){let t=n;for(let e=0;e<8;e++)t&1?t=t>>>1^3988292384:t=t>>>1;Zn[n]=t}class Ke{constructor(t){this.crc=t||-1}append(t){let e=this.crc|0;for(let r=0,s=t.length|0;r<s;r++)e=e>>>8^Zn[(e^t[r])&255];this.crc=e}get(){return~this.crc}}class Kn extends TransformStream{constructor(){let t;const e=new Ke;super({transform(r,s){e.append(r),s.enqueue(r)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function ui(n){if(typeof TextEncoder==he){n=unescape(encodeURIComponent(n));const t=new Uint8Array(n.length);for(let e=0;e<t.length;e++)t[e]=n.charCodeAt(e);return t}else return new TextEncoder().encode(n)}const K={concat(n,t){if(n.length===0||t.length===0)return n.concat(t);const e=n[n.length-1],r=K.getPartial(e);return r===32?n.concat(t):K._shiftRight(t,r,e|0,n.slice(0,n.length-1))},bitLength(n){const t=n.length;if(t===0)return 0;const e=n[t-1];return(t-1)*32+K.getPartial(e)},clamp(n,t){if(n.length*32<t)return n;n=n.slice(0,Math.ceil(t/32));const e=n.length;return t=t&31,e>0&&t&&(n[e-1]=K.partial(t,n[e-1]&2147483648>>t-1,1)),n},partial(n,t,e){return n===32?t:(e?t|0:t<<32-n)+n*1099511627776},getPartial(n){return Math.round(n/1099511627776)||32},_shiftRight(n,t,e,r){for(r===void 0&&(r=[]);t>=32;t-=32)r.push(e),e=0;if(t===0)return r.concat(n);for(let a=0;a<n.length;a++)r.push(e|n[a]>>>t),e=n[a]<<32-t;const s=n.length?n[n.length-1]:0,i=K.getPartial(s);return r.push(K.partial(t+i&31,t+i>32?e:r.pop(),1)),r}},Xe={bytes:{fromBits(n){const e=K.bitLength(n)/8,r=new Uint8Array(e);let s;for(let i=0;i<e;i++)(i&3)===0&&(s=n[i/4]),r[i]=s>>>24,s<<=8;return r},toBits(n){const t=[];let e,r=0;for(e=0;e<n.length;e++)r=r<<8|n[e],(e&3)===3&&(t.push(r),r=0);return e&3&&t.push(K.partial(8*(e&3),r)),t}}},Xn={};Xn.sha1=class{constructor(n){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],n?(t._h=n._h.slice(0),t._buffer=n._buffer.slice(0),t._length=n._length):t.reset()}reset(){const n=this;return n._h=n._init.slice(0),n._buffer=[],n._length=0,n}update(n){const t=this;typeof n=="string"&&(n=Xe.utf8String.toBits(n));const e=t._buffer=K.concat(t._buffer,n),r=t._length,s=t._length=r+K.bitLength(n);if(s>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+r-(t.blockSize+r&t.blockSize-1);o<=s;o+=t.blockSize)t._block(i.subarray(16*a,16*(a+1))),a+=1;return e.splice(0,16*a),t}finalize(){const n=this;let t=n._buffer;const e=n._h;t=K.concat(t,[K.partial(1,1)]);for(let r=t.length+2;r&15;r++)t.push(0);for(t.push(Math.floor(n._length/4294967296)),t.push(n._length|0);t.length;)n._block(t.splice(0,16));return n.reset(),e}_f(n,t,e,r){if(n<=19)return t&e|~t&r;if(n<=39)return t^e^r;if(n<=59)return t&e|t&r|e&r;if(n<=79)return t^e^r}_S(n,t){return t<<n|t>>>32-n}_block(n){const t=this,e=t._h,r=Array(80);for(let _=0;_<16;_++)r[_]=n[_];let s=e[0],i=e[1],a=e[2],o=e[3],u=e[4];for(let _=0;_<=79;_++){_>=16&&(r[_]=t._S(1,r[_-3]^r[_-8]^r[_-14]^r[_-16]));const l=t._S(5,s)+t._f(_,i,a,o)+u+r[_]+t._key[Math.floor(_/20)]|0;u=o,o=a,a=t._S(30,i),i=s,s=l}e[0]=e[0]+s|0,e[1]=e[1]+i|0,e[2]=e[2]+a|0,e[3]=e[3]+o|0,e[4]=e[4]+u|0}};const $n={};$n.aes=class{constructor(n){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const e=t._tables[0][4],r=t._tables[1],s=n.length;let i,a,o,u=1;if(s!==4&&s!==6&&s!==8)throw new Error("invalid aes key size");for(t._key=[a=n.slice(0),o=[]],i=s;i<4*s+28;i++){let _=a[i-1];(i%s===0||s===8&&i%s===4)&&(_=e[_>>>24]<<24^e[_>>16&255]<<16^e[_>>8&255]<<8^e[_&255],i%s===0&&(_=_<<8^_>>>24^u<<24,u=u<<1^(u>>7)*283)),a[i]=a[i-s]^_}for(let _=0;i;_++,i--){const l=a[_&3?i:i-4];i<=4||_<4?o[_]=l:o[_]=r[0][e[l>>>24]]^r[1][e[l>>16&255]]^r[2][e[l>>8&255]]^r[3][e[l&255]]}}encrypt(n){return this._crypt(n,0)}decrypt(n){return this._crypt(n,1)}_precompute(){const n=this._tables[0],t=this._tables[1],e=n[4],r=t[4],s=[],i=[];let a,o,u,_;for(let l=0;l<256;l++)i[(s[l]=l<<1^(l>>7)*283)^l]=l;for(let l=a=0;!e[l];l^=o||1,a=i[a]||1){let m=a^a<<1^a<<2^a<<3^a<<4;m=m>>8^m&255^99,e[l]=m,r[m]=l,_=s[u=s[o=s[l]]];let h=_*16843009^u*65537^o*257^l*16843008,x=s[m]*257^m*16843008;for(let S=0;S<4;S++)n[S][l]=x=x<<24^x>>>8,t[S][m]=h=h<<24^h>>>8}for(let l=0;l<5;l++)n[l]=n[l].slice(0),t[l]=t[l].slice(0)}_crypt(n,t){if(n.length!==4)throw new Error("invalid aes block size");const e=this._key[t],r=e.length/4-2,s=[0,0,0,0],i=this._tables[t],a=i[0],o=i[1],u=i[2],_=i[3],l=i[4];let m=n[0]^e[0],h=n[t?3:1]^e[1],x=n[2]^e[2],S=n[t?1:3]^e[3],f=4,c,d,y;for(let b=0;b<r;b++)c=a[m>>>24]^o[h>>16&255]^u[x>>8&255]^_[S&255]^e[f],d=a[h>>>24]^o[x>>16&255]^u[S>>8&255]^_[m&255]^e[f+1],y=a[x>>>24]^o[S>>16&255]^u[m>>8&255]^_[h&255]^e[f+2],S=a[S>>>24]^o[m>>16&255]^u[h>>8&255]^_[x&255]^e[f+3],f+=4,m=c,h=d,x=y;for(let b=0;b<4;b++)s[t?3&-b:b]=l[m>>>24]<<24^l[h>>16&255]<<16^l[x>>8&255]<<8^l[S&255]^e[f++],c=m,m=h,h=x,x=S,S=c;return s}};const di={getRandomValues(n){const t=new Uint32Array(n.buffer),e=r=>{let s=987654321;const i=4294967295;return function(){return s=36969*(s&65535)+(s>>16)&i,r=18e3*(r&65535)+(r>>16)&i,(((s<<16)+r&i)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let r=0,s;r<n.length;r+=4){const i=e((s||Math.random())*4294967296);s=i()*987654071,t[r/4]=i()*4294967296|0}return n}},Jn={};Jn.ctrGladman=class{constructor(n,t){this._prf=n,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(n){return this.calculate(this._prf,n,this._iv)}incWord(n){if((n>>24&255)===255){let t=n>>16&255,e=n>>8&255,r=n&255;t===255?(t=0,e===255?(e=0,r===255?r=0:++r):++e):++t,n=0,n+=t<<16,n+=e<<8,n+=r}else n+=1<<24;return n}incCounter(n){(n[0]=this.incWord(n[0]))===0&&(n[1]=this.incWord(n[1]))}calculate(n,t,e){let r;if(!(r=t.length))return[];const s=K.bitLength(t);for(let i=0;i<r;i+=4){this.incCounter(e);const a=n.encrypt(e);t[i]^=a[0],t[i+1]^=a[1],t[i+2]^=a[2],t[i+3]^=a[3]}return K.clamp(t,s)}};const ge={importKey(n){return new ge.hmacSha1(Xe.bytes.toBits(n))},pbkdf2(n,t,e,r){if(e=e||1e4,r<0||e<0)throw new Error("invalid params to pbkdf2");const s=(r>>5)+1<<2;let i,a,o,u,_;const l=new ArrayBuffer(s),m=new DataView(l);let h=0;const x=K;for(t=Xe.bytes.toBits(t),_=1;h<(s||1);_++){for(i=a=n.encrypt(x.concat(t,[_])),o=1;o<e;o++)for(a=n.encrypt(a),u=0;u<a.length;u++)i[u]^=a[u];for(o=0;h<(s||1)&&o<i.length;o++)m.setInt32(h,i[o]),h+=4}return l.slice(0,r/8)}};ge.hmacSha1=class{constructor(n){const t=this,e=t._hash=Xn.sha1,r=[[],[]];t._baseHash=[new e,new e];const s=t._baseHash[0].blockSize/32;n.length>s&&(n=new e().update(n).finalize());for(let i=0;i<s;i++)r[0][i]=n[i]^909522486,r[1][i]=n[i]^1549556828;t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new e(t._baseHash[0])}reset(){const n=this;n._resultHash=new n._hash(n._baseHash[0]),n._updated=!1}update(n){const t=this;t._updated=!0,t._resultHash.update(n)}digest(){const n=this,t=n._resultHash.finalize(),e=new n._hash(n._baseHash[1]).update(t).finalize();return n.reset(),e}encrypt(n){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(n),this.digest(n)}};const _i=typeof crypto!=he&&typeof crypto.getRandomValues==Le,xt="Invalid password",Tt="Invalid signature",St="zipjs-abort-check-password";function Qn(n){return _i?crypto.getRandomValues(n):di.getRandomValues(n)}const ye=16,hi="raw",zn={name:"PBKDF2"},pi={name:"HMAC"},mi="SHA-1",wi=Object.assign({hash:pi},zn),_t=Object.assign({iterations:1e3,hash:{name:mi}},zn),gi=["deriveBits"],Ce=[8,12,16],Ae=[16,24,32],le=10,bi=[0,0,0,0],Je=typeof crypto!=he,ve=Je&&crypto.subtle,er=Je&&typeof ve!=he,ee=Xe.bytes,yi=$n.aes,Ei=Jn.ctrGladman,xi=ge.hmacSha1;let bn=Je&&er&&typeof ve.importKey==Le,yn=Je&&er&&typeof ve.deriveBits==Le;class Ti extends TransformStream{constructor({password:t,rawPassword:e,signed:r,encryptionStrength:s,checkPasswordOnly:i}){super({start(){Object.assign(this,{ready:new Promise(a=>this.resolveReady=a),password:rr(t,e),signed:r,strength:s-1,pending:new Uint8Array})},async transform(a,o){const u=this,{password:_,strength:l,resolveReady:m,ready:h}=u;_?(await Ri(u,l,_,J(a,0,Ce[l]+2)),a=J(a,Ce[l]+2),i?o.error(new Error(St)):m()):await h;const x=new Uint8Array(a.length-le-(a.length-le)%ye);o.enqueue(tr(u,a,x,0,le,!0))},async flush(a){const{signed:o,ctr:u,hmac:_,pending:l,ready:m}=this;if(_&&u){await m;const h=J(l,0,l.length-le),x=J(l,l.length-le);let S=new Uint8Array;if(h.length){const f=Ne(ee,h);_.update(f);const c=u.update(f);S=Pe(ee,c)}if(o){const f=J(Pe(ee,_.digest()),0,le);for(let c=0;c<le;c++)if(f[c]!=x[c])throw new Error(Tt)}a.enqueue(S)}}})}}class Si extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){let s;super({start(){Object.assign(this,{ready:new Promise(i=>this.resolveReady=i),password:rr(t,e),strength:r-1,pending:new Uint8Array})},async transform(i,a){const o=this,{password:u,strength:_,resolveReady:l,ready:m}=o;let h=new Uint8Array;u?(h=await Ai(o,_,u),l()):await m;const x=new Uint8Array(h.length+i.length-i.length%ye);x.set(h,0),a.enqueue(tr(o,i,x,h.length,0))},async flush(i){const{ctr:a,hmac:o,pending:u,ready:_}=this;if(o&&a){await _;let l=new Uint8Array;if(u.length){const m=a.update(Ne(ee,u));o.update(m),l=Pe(ee,m)}s.signature=Pe(ee,o.digest()).slice(0,le),i.enqueue(Rt(l,s.signature))}}}),s=this}}function tr(n,t,e,r,s,i){const{ctr:a,hmac:o,pending:u}=n,_=t.length-s;u.length&&(t=Rt(u,t),e=Ci(e,_-_%ye));let l;for(l=0;l<=_-ye;l+=ye){const m=Ne(ee,J(t,l,l+ye));i&&o.update(m);const h=a.update(m);i||o.update(h),e.set(Pe(ee,h),l+r)}return n.pending=J(t,l),e}async function Ri(n,t,e,r){const s=await nr(n,t,e,J(r,0,Ce[t])),i=J(r,Ce[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new Error(xt)}async function Ai(n,t,e){const r=Qn(new Uint8Array(Ce[t])),s=await nr(n,t,e,r);return Rt(r,s)}async function nr(n,t,e,r){n.password=null;const s=await Oi(hi,e,wi,!1,gi),i=await Ii(Object.assign({salt:r},_t),s,8*(Ae[t]*2+2)),a=new Uint8Array(i),o=Ne(ee,J(a,0,Ae[t])),u=Ne(ee,J(a,Ae[t],Ae[t]*2)),_=J(a,Ae[t]*2);return Object.assign(n,{keys:{key:o,authentication:u,passwordVerification:_},ctr:new Ei(new yi(o),Array.from(bi)),hmac:new xi(u)}),_}async function Oi(n,t,e,r,s){if(bn)try{return await ve.importKey(n,t,e,r,s)}catch{return bn=!1,ge.importKey(t)}else return ge.importKey(t)}async function Ii(n,t,e){if(yn)try{return await ve.deriveBits(n,t,e)}catch{return yn=!1,ge.pbkdf2(t,n.salt,_t.iterations,e)}else return ge.pbkdf2(t,n.salt,_t.iterations,e)}function rr(n,t){return t===G?ui(n):t}function Rt(n,t){let e=n;return n.length+t.length&&(e=new Uint8Array(n.length+t.length),e.set(n,0),e.set(t,n.length)),e}function Ci(n,t){if(t&&t>n.length){const e=n;n=new Uint8Array(t),n.set(e,0)}return n}function J(n,t,e){return n.subarray(t,e)}function Pe(n,t){return n.fromBits(t)}function Ne(n,t){return n.toBits(t)}const Ie=12;class Pi extends TransformStream{constructor({password:t,passwordVerification:e,checkPasswordOnly:r}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),sr(this,t)},transform(s,i){const a=this;if(a.password){const o=En(a,s.subarray(0,Ie));if(a.password=null,o.at(-1)!=a.passwordVerification)throw new Error(xt);s=s.subarray(Ie)}r?i.error(new Error(St)):i.enqueue(En(a,s))}})}}class Ni extends TransformStream{constructor({password:t,passwordVerification:e}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),sr(this,t)},transform(r,s){const i=this;let a,o;if(i.password){i.password=null;const u=Qn(new Uint8Array(Ie));u[Ie-1]=i.passwordVerification,a=new Uint8Array(r.length+u.length),a.set(xn(i,u),0),o=Ie}else a=new Uint8Array(r.length),o=0;a.set(xn(i,r),o),s.enqueue(a)}})}}function En(n,t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=ir(n)^t[r],At(n,e[r]);return e}function xn(n,t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=ir(n)^t[r],At(n,t[r]);return e}function sr(n,t){const e=[305419896,591751049,878082192];Object.assign(n,{keys:e,crcKey0:new Ke(e[0]),crcKey2:new Ke(e[2])});for(let r=0;r<t.length;r++)At(n,t.charCodeAt(r))}function At(n,t){let[e,r,s]=n.keys;n.crcKey0.append([t]),e=~n.crcKey0.get(),r=Tn(Math.imul(Tn(r+ar(e)),134775813)+1),n.crcKey2.append([r>>>24]),s=~n.crcKey2.get(),n.keys=[e,r,s]}function ir(n){const t=n.keys[2]|2;return ar(Math.imul(t,t^1)>>>8)}function ar(n){return n&255}function Tn(n){return n&4294967295}const Ot="Invalid uncompressed size",Sn="deflate-raw";class Di extends TransformStream{constructor(t,{chunkSize:e,CompressionStream:r,CompressionStreamNative:s}){super({});const{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:u,signed:_,level:l}=t,m=this;let h,x,S=super.readable;(!a||u)&&_&&(h=new Kn,S=ie(S,h)),i&&(S=cr(S,o,{level:l,chunkSize:e},s,r)),a&&(u?S=ie(S,new Ni(t)):(x=new Si(t),S=ie(S,x))),or(m,S,()=>{let f;a&&!u&&(f=x.signature),(!a||u)&&_&&(f=new DataView(h.value.buffer).getUint32(0)),m.signature=f})}}class ki extends TransformStream{constructor(t,{chunkSize:e,DecompressionStream:r,DecompressionStreamNative:s}){super({});const{zipCrypto:i,encrypted:a,signed:o,signature:u,compressed:_,useCompressionStream:l}=t;let m,h,x=super.readable;a&&(i?x=ie(x,new Pi(t)):(h=new Ti(t),x=ie(x,h))),_&&(x=cr(x,l,{chunkSize:e},s,r)),(!a||i)&&o&&(m=new Kn,x=ie(x,m)),or(this,x,()=>{if((!a||i)&&o){const S=new DataView(m.value.buffer);if(u!=S.getUint32(0,!1))throw new Error(Tt)}})}}function or(n,t,e){t=ie(t,new TransformStream({flush:e})),Object.defineProperty(n,"readable",{get(){return t}})}function cr(n,t,e,r,s){try{const i=t&&r?r:s;n=ie(n,new i(Sn,e))}catch(i){if(t)n=ie(n,new s(Sn,e));else throw i}return n}function ie(n,t){return n.pipeThrough(t)}const Li="message",vi="start",Fi="pull",Rn="data",Ui="ack",An="close",Mi="deflate",lr="inflate";class Hi extends TransformStream{constructor(t,e){super({});const r=this,{codecType:s}=t;let i;s.startsWith(Mi)?i=Di:s.startsWith(lr)&&(i=ki),r.outputSize=0;let a=0;const o=new i(t,e),u=super.readable,_=new TransformStream({transform(m,h){m&&m.length&&(a+=m.length,h.enqueue(m))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(m,h){if(m&&m.length&&(h.enqueue(m),r.outputSize+=m.length,t.outputSize&&r.outputSize>t.outputSize))throw new Error(Ot)},flush(){const{signature:m}=o;Object.assign(r,{signature:m,inputSize:a})}});Object.defineProperty(r,"readable",{get(){return u.pipeThrough(_).pipeThrough(o).pipeThrough(l)}})}}class Wi extends TransformStream{constructor(t){let e;super({transform:r,flush(s){e&&e.length&&s.enqueue(e)}});function r(s,i){if(e){const a=new Uint8Array(e.length+s.length);a.set(e),a.set(s,e.length),s=a,e=null}s.length>t?(i.enqueue(s.slice(0,t)),r(s.slice(t),i)):e=s}}}let fr=typeof Worker!=he;class at{constructor(t,{readable:e,writable:r},{options:s,config:i,streamOptions:a,useWebWorkers:o,transferStreams:u,scripts:_},l){const{signal:m}=a;return Object.assign(t,{busy:!0,readable:e.pipeThrough(new Wi(i.chunkSize)).pipeThrough(new Bi(a),{signal:m}),writable:r,options:Object.assign({},s),scripts:_,transferStreams:u,terminate(){return new Promise(h=>{const{worker:x,busy:S}=t;x?(S?t.resolveTerminated=h:(x.terminate(),h()),t.interface=null):h()})},onTaskFinished(){const{resolveTerminated:h}=t;h&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),h()),t.busy=!1,l(t)}}),(o&&fr?ji:ur)(t,i)}}class Bi extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:s}){let i=0;super({async start(){t&&await ot(t,r)},async transform(a,o){i+=a.length,e&&await ot(e,i,r),o.enqueue(a)},async flush(){s&&await ot(s,i)}})}}async function ot(n,...t){try{await n(...t)}catch{}}function ur(n,t){return{run:()=>Gi(n,t)}}function ji(n,t){const{baseURL:e,chunkSize:r}=t;if(!n.interface){let s;try{s=Vi(n.scripts[0],e,n)}catch{return fr=!1,ur(n,t)}Object.assign(n,{worker:s,interface:{run:()=>Yi(n,{chunkSize:r})}})}return n.interface}async function Gi({options:n,readable:t,writable:e,onTaskFinished:r},s){let i;try{i=new Hi(n,s),await t.pipeThrough(i).pipeTo(e,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:o,outputSize:u}=i;return{signature:a,inputSize:o,outputSize:u}}catch(a){throw i&&(a.outputSize=i.outputSize),a}finally{r()}}async function Yi(n,t){let e,r;const s=new Promise((h,x)=>{e=h,r=x});Object.assign(n,{reader:null,writer:null,resolveResult:e,rejectResult:r,result:s});const{readable:i,options:a,scripts:o}=n,{writable:u,closed:_}=qi(n.writable),l=qe({type:vi,scripts:o.slice(1),options:a,config:t,readable:i,writable:u},n);l||Object.assign(n,{reader:i.getReader(),writer:u.getWriter()});const m=await s;return l||await u.getWriter().close(),await _,m}function qi(n){let t;const e=new Promise(s=>t=s);return{writable:new WritableStream({async write(s){const i=n.getWriter();await i.ready,await i.write(s),i.releaseLock()},close(){t()},abort(s){return n.getWriter().abort(s)}}),closed:e}}let On=!0,In=!0;function Vi(n,t,e){const r={type:"module"};let s,i;typeof n==Le&&(n=n());try{s=new URL(n,t)}catch{s=n}if(On)try{i=new Worker(s)}catch{On=!1,i=new Worker(s,r)}else i=new Worker(s,r);return i.addEventListener(Li,a=>Zi(a,e)),i}function qe(n,{worker:t,writer:e,onTaskFinished:r,transferStreams:s}){try{const{value:i,readable:a,writable:o}=n,u=[];if(i&&(i.byteLength<i.buffer.byteLength?n.value=i.buffer.slice(0,i.byteLength):n.value=i.buffer,u.push(n.value)),s&&In?(a&&u.push(a),o&&u.push(o)):n.readable=n.writable=null,u.length)try{return t.postMessage(n,u),!0}catch{In=!1,n.readable=n.writable=null,t.postMessage(n)}else t.postMessage(n)}catch(i){throw e&&e.releaseLock(),r(),i}}async function Zi({data:n},t){const{type:e,value:r,messageId:s,result:i,error:a}=n,{reader:o,writer:u,resolveResult:_,rejectResult:l,onTaskFinished:m}=t;try{if(a){const{message:x,stack:S,code:f,name:c,outputSize:d}=a,y=new Error(x);Object.assign(y,{stack:S,code:f,name:c,outputSize:d}),h(y)}else{if(e==Fi){const{value:x,done:S}=await o.read();qe({type:Rn,value:x,done:S,messageId:s},t)}e==Rn&&(await u.ready,await u.write(new Uint8Array(r)),qe({type:Ui,messageId:s},t)),e==An&&h(null,i)}}catch(x){qe({type:An,messageId:s},t),h(x)}function h(x,S){x?l(x):_(S),u&&u.releaseLock(),m()}}let de=[];const ct=[];let Cn=0;async function Ki(n,t){const{options:e,config:r}=t,{transferStreams:s,useWebWorkers:i,useCompressionStream:a,codecType:o,compressed:u,signed:_,encrypted:l}=e,{workerScripts:m,maxWorkers:h}=r;t.transferStreams=s||s===G;const x=!u&&!_&&!l&&!t.transferStreams;return t.useWebWorkers=!x&&(i||i===G&&r.useWebWorkers),t.scripts=t.useWebWorkers&&m?m[o]:[],e.useCompressionStream=a||a===G&&r.useCompressionStream,(await S()).run();async function S(){const c=de.find(d=>!d.busy);if(c)return ht(c),new at(c,n,t,f);if(de.length<h){const d={indexWorker:Cn};return Cn++,de.push(d),new at(d,n,t,f)}else return new Promise(d=>ct.push({resolve:d,stream:n,workerOptions:t}))}function f(c){if(ct.length){const[{resolve:d,stream:y,workerOptions:b}]=ct.splice(0,1);d(new at(c,y,b,f))}else c.worker?(ht(c),Xi(c,t)):de=de.filter(d=>d!=c)}}function Xi(n,t){const{config:e}=t,{terminateWorkerTimeout:r}=e;Number.isFinite(r)&&r>=0&&(n.terminated?n.terminated=!1:n.terminateTimeout=setTimeout(async()=>{de=de.filter(s=>s!=n);try{await n.terminate()}catch{}},r))}function ht(n){const{terminateTimeout:t}=n;t&&(clearTimeout(t),n.terminateTimeout=null)}async function $i(){await Promise.allSettled(de.map(n=>(ht(n),n.terminate())))}const dr="HTTP error ",Fe="HTTP Range not supported",_r="Writer iterator completed too soon",hr="Writer not initialized",Ji="text/plain",Qi="Content-Length",zi="Content-Range",ea="Accept-Ranges",ta="Range",na="Content-Type",ra="HEAD",It="GET",pr="bytes",sa=64*1024,Ct="writable";class Qe{constructor(){this.size=0}init(){this.initialized=!0}}class pe extends Qe{get readable(){const t=this,{chunkSize:e=sa}=t,r=new ReadableStream({start(){this.chunkOffset=0},async pull(s){const{offset:i=0,size:a,diskNumberStart:o}=r,{chunkOffset:u}=this,_=a===G?e:Math.min(e,a-u),l=await Y(t,i+u,_,o);s.enqueue(l),u+e>a||a===G&&!l.length&&_?s.close():this.chunkOffset+=e}});return r}}class Pt extends Qe{constructor(){super();const t=this,e=new WritableStream({write(r){if(!t.initialized)throw new Error(hr);return t.writeUint8Array(r)}});Object.defineProperty(t,Ct,{get(){return e}})}writeUint8Array(){}}class ia extends pe{constructor(t){super();let e=t.length;for(;t.charAt(e-1)=="=";)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,dataStart:r,size:Math.floor((e-r)*.75)})}readUint8Array(t,e){const{dataStart:r,dataURI:s}=this,i=new Uint8Array(e),a=Math.floor(t/3)*4,o=atob(s.substring(a+r,Math.ceil((t+e)/3)*4+r)),u=t-Math.floor(a/4)*3;let _=0;for(let l=u;l<u+e&&l<o.length;l++)i[l-u]=o.charCodeAt(l),_++;return _<i.length?i.subarray(0,_):i}}class aa extends Pt{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r=0,s=e.pending;const i=e.pending.length;for(e.pending="",r=0;r<Math.floor((i+t.length)/3)*3-i;r++)s+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);s.length&&(s.length>2?e.data+=btoa(s):e.pending+=s)}getData(){return this.data+btoa(this.pending)}}class Nt extends pe{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,e){const r=this,s=t+e;let a=await(t||s<r.size?r.blob.slice(t,s):r.blob).arrayBuffer();return a.byteLength>e&&(a=a.slice(t,s)),new Uint8Array(a)}}class mr extends Qe{constructor(t){super();const e=this,r=new TransformStream,s=[];t&&s.push([na,t]),Object.defineProperty(e,Ct,{get(){return r.writable}}),e.blob=new Response(r.readable,{headers:s}).blob()}getData(){return this.blob}}class oa extends Nt{constructor(t){super(new Blob([t],{type:Ji}))}}class ca extends mr{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){const{encoding:t,utf8:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const s=new FileReader;return new Promise((i,a)=>{Object.assign(s,{onload:({target:o})=>i(o.result),onerror:()=>a(s.error)}),s.readAsText(r,t)})}}}class la extends pe{constructor(t,e){super(),wr(this,t,e)}async init(){await gr(this,pt,Pn),super.init()}readUint8Array(t,e){return br(this,t,e,pt,Pn)}}class fa extends pe{constructor(t,e){super(),wr(this,t,e)}async init(){await gr(this,mt,Nn),super.init()}readUint8Array(t,e){return br(this,t,e,mt,Nn)}}function wr(n,t,e){const{preventHeadRequest:r,useRangeHeader:s,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(n,{url:t,options:e,preventHeadRequest:r,useRangeHeader:s,forceRangeRequests:i,combineSizeEocd:a})}async function gr(n,t,e){const{url:r,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=n;if(ha(r)&&(i||a)&&(typeof s>"u"||s)){const u=await t(It,n,yr(n,o?-ne:void 0));if(!a&&u.headers.get(ea)!=pr)throw new Error(Fe);{o&&(n.eocdCache=new Uint8Array(await u.arrayBuffer()));let _;const l=u.headers.get(zi);if(l){const m=l.trim().split(/\s*\/\s*/);if(m.length){const h=m[1];h&&h!="*"&&(_=Number(h))}}_===G?await Dn(n,t,e):n.size=_}}else await Dn(n,t,e)}async function br(n,t,e,r,s){const{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:u,options:_}=n;if(i||a){if(o&&t==u-ne&&e==ne)return o;if(t>=u)return new Uint8Array;{t+e>u&&(e=u-t);const l=await r(It,n,yr(n,t,e));if(l.status!=206)throw new Error(Fe);return new Uint8Array(await l.arrayBuffer())}}else{const{data:l}=n;return l||await s(n,_),new Uint8Array(n.data.subarray(t,t+e))}}function yr(n,t=0,e=1){return Object.assign({},Dt(n),{[ta]:pr+"="+(t<0?t:t+"-"+(t+e-1))})}function Dt({options:n}){const{headers:t}=n;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function Pn(n){await Er(n,pt)}async function Nn(n){await Er(n,mt)}async function Er(n,t){const e=await t(It,n,Dt(n));n.data=new Uint8Array(await e.arrayBuffer()),n.size||(n.size=n.data.length)}async function Dn(n,t,e){if(n.preventHeadRequest)await e(n,n.options);else{const s=(await t(ra,n,Dt(n))).headers.get(Qi);s?n.size=Number(s):await e(n,n.options)}}async function pt(n,{options:t,url:e},r){const s=await fetch(e,Object.assign({},t,{method:n,headers:r}));if(s.status<400)return s;throw s.status==416?new Error(Fe):new Error(dr+(s.statusText||s.status))}function mt(n,{url:t},e){return new Promise((r,s)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const a=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(o=>{const u=o.trim().split(/\s*:\s*/);u[0]=u[0].trim().replace(/^[a-z]|-[a-z]/g,_=>_.toUpperCase()),a.push(u)}),r({status:i.status,arrayBuffer:()=>i.response,headers:new Map(a)})}else s(i.status==416?new Error(Fe):new Error(dr+(i.statusText||i.status)))},!1),i.addEventListener("error",a=>s(a.detail?a.detail.error:new Error("Network error")),!1),i.open(n,t),e)for(const a of Object.entries(e))i.setRequestHeader(a[0],a[1]);i.responseType="arraybuffer",i.send()})}class xr extends pe{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR?new fa(t,e):new la(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 ua extends xr{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}}class da extends pe{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 _a extends Pt{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 r=e.array;e.array=new Uint8Array(r.length+t.length),e.array.set(r)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.array}}class kt extends pe{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(r,s)=>{await r.init(),s!=e.length-1&&(t.lastDiskOffset+=r.size),t.size+=r.size})),super.init()}async readUint8Array(t,e,r=0){const s=this,{readers:i}=this;let a,o=r;o==-1&&(o=i.length-1);let u=t;for(;i[o]&&u>=i[o].size;)u-=i[o].size,o++;const _=i[o];if(_){const l=_.size;if(u+e<=l)a=await Y(_,u,e);else{const m=l-u;a=new Uint8Array(e);const h=await Y(_,u,m);a.set(h,0);const x=await s.readUint8Array(t+m,e-m,r);a.set(x,m),h.length+x.length<e&&(a=a.subarray(0,h.length+x.length))}}else a=new Uint8Array;return s.lastDiskNumber=Math.max(o,s.lastDiskNumber),a}}class $e extends Qe{constructor(t,e=4294967295){super();const r=this;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});let s,i,a;const o=new WritableStream({async write(l){const{availableSize:m}=r;if(a)l.length>=m?(await u(l.subarray(0,m)),await _(),r.diskOffset+=s.size,r.diskNumber++,a=null,await this.write(l.subarray(m))):await u(l);else{const{value:h,done:x}=await t.next();if(x&&!h)throw new Error(_r);s=h,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await De(s),i=h.writable,a=i.getWriter(),await this.write(l)}},async close(){await a.ready,await _()}});Object.defineProperty(r,Ct,{get(){return o}});async function u(l){const m=l.length;m&&(await a.ready,await a.write(l),s.size+=m,r.size+=m,r.availableSize-=m)}async function _(){await a.close()}}}class Tr{constructor(t){return Array.isArray(t)&&(t=new kt(t)),t instanceof ReadableStream&&(t={readable:t}),t}}class Sr{constructor(t){return t.writable===G&&typeof t.next==Le&&(t=new $e(t)),t instanceof WritableStream&&(t={writable:t}),t.size===G&&(t.size=0),t instanceof $e||Object.assign(t,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),t}}function ha(n){const{baseURL:t}=qn(),{protocol:e}=new URL(n,t);return e=="http:"||e=="https:"}async function De(n,t){if(n.init&&!n.initialized)await n.init(t);else return Promise.resolve()}function Y(n,t,e,r){return n.readUint8Array(t,e,r)}const pa=kt,ma=$e,Rr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),wa=Rr.length==256;function ga(n){if(wa){let t="";for(let e=0;e<n.length;e++)t+=Rr[n[e]];return t}else return new TextDecoder().decode(n)}function Ve(n,t){return t&&t.trim().toLowerCase()=="cp437"?ga(n):new TextDecoder(t).decode(n)}const Ar="filename",Or="rawFilename",Ir="comment",Cr="rawComment",Pr="uncompressedSize",Nr="compressedSize",Dr="offset",wt="diskNumberStart",gt="lastModDate",bt="rawLastModDate",kr="lastAccessDate",ba="rawLastAccessDate",Lr="creationDate",ya="rawCreationDate",Ea="internalFileAttribute",xa="internalFileAttributes",Ta="externalFileAttribute",Sa="externalFileAttributes",Ra="msDosCompatible",Aa="zip64",Oa="encrypted",Ia="version",Ca="versionMadeBy",Pa="zipCrypto",Na="directory",Da="executable",ka="compressionMethod",La="signature",va="extraField",Fa=[Ar,Or,Nr,Pr,gt,bt,Ir,Cr,kr,Lr,Dr,wt,wt,Ea,xa,Ta,Sa,Ra,Aa,Oa,Ia,Ca,Pa,Na,Da,ka,La,va,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class kn{constructor(t){Fa.forEach(e=>this[e]=t[e])}}const Ua="filenameEncoding",Ma="commentEncoding",Ha="decodeText",Wa="extractPrependedData",Ba="extractAppendedData",ja="password",Ga="rawPassword",Ya="passThrough",qa="signal",Va="checkPasswordOnly",Za="checkOverlappingEntryOnly",Ka="checkOverlappingEntry",Xa="checkSignature",$a="useWebWorkers",Ja="useCompressionStream",Qa="transferStreams",za="preventClose",Ze="File format is not recognized",vr="End of central directory not found",Fr="End of Zip64 central directory locator not found",Ur="Central directory header not found",Mr="Local file header not found",Hr="Zip64 extra field not found",Wr="File contains encrypted entry",Br="Encryption method not supported",yt="Compression method not supported",Et="Split zip file",jr="Overlapping entry found",Ln="utf-8",vn="cp437",eo=[[Pr,we],[Nr,we],[Dr,we],[wt,fe]],to={[fe]:{getValue:W,bytes:4},[we]:{getValue:xe,bytes:8}};class Gr{constructor(t,e={}){Object.assign(this,{reader:new Tr(t),options:e,config:qn(),readRanges:[]})}async*getEntriesGenerator(t={}){const e=this;let{reader:r}=e;const{config:s}=e;if(await De(r),(r.size===G||!r.readUint8Array)&&(r=new Nt(await new Response(r.readable).blob()),await De(r)),r.size<ne)throw new Error(Ze);r.chunkSize=li(s);const i=await lo(r,js,r.size,ne,fe*16);if(!i){const T=await Y(r,0,4),w=j(T);throw W(w)==Gn?new Error(Et):new Error(vr)}const a=j(i);let o=W(a,12),u=W(a,16);const _=i.offset,l=q(a,20),m=_+ne+l;let h=q(a,4);const x=r.lastDiskNumber||0;let S=q(a,6),f=q(a,8),c=0,d=0;if(u==we||o==we||f==fe||S==fe){const T=await Y(r,i.offset-rt,rt),w=j(T);if(W(w,0)==Gs){u=xe(w,8);let C=await Y(r,u,st,-1),I=j(C);const k=i.offset-rt-st;if(W(I,0)!=un&&u!=k){const P=u;u=k,u>P&&(c=u-P),C=await Y(r,u,st,-1),I=j(C)}if(W(I,0)!=un)throw new Error(Fr);h==fe&&(h=W(I,16)),S==fe&&(S=W(I,20)),f==fe&&(f=xe(I,32)),o==we&&(o=xe(I,40)),u-=o}}if(u>=r.size&&(c=r.size-u-o-ne,u=r.size-o-ne),x!=h)throw new Error(Et);if(u<0)throw new Error(Ze);let y=0,b=await Y(r,u,o,S),g=j(b);if(o){const T=i.offset-o;if(W(g,y)!=fn&&u!=T){const w=u;u=T,u>w&&(c+=u-w),b=await Y(r,u,o,S),g=j(b)}}const A=i.offset-u-(r.lastDiskOffset||0);if(o!=A&&A>=0&&(o=A,b=await Y(r,u,o,S),g=j(b)),u<0||u>=r.size)throw new Error(Ze);const p=V(e,t,Ua),R=V(e,t,Ma);for(let T=0;T<f;T++){const w=new ro(r,s,e.options);if(W(g,y)!=fn)throw new Error(Ur);Yr(w,g,y+6);const C=!!w.bitFlag.languageEncodingFlag,I=y+46,k=I+w.filenameLength,P=k+w.extraFieldLength,D=q(g,y+4),M=D>>8==0,L=D>>8==3,Z=b.subarray(I,k),N=q(g,y+32),Q=P+N,U=b.subarray(P,Q),H=C,Ue=C,Te=W(g,y+38),te=M&&(Ee(g,y+38)&mn)==mn||L&&(Te>>16&ti)==ni||Z.length&&Z.at(-1)==wn.charCodeAt(0),z=L&&(Te>>16&ri)!=0,Lt=W(g,y+42)+c;Object.assign(w,{versionMadeBy:D,msDosCompatible:M,compressedSize:0,uncompressedSize:0,commentLength:N,directory:te,offset:Lt,diskNumberStart:q(g,y+34),internalFileAttributes:q(g,y+36),externalFileAttributes:Te,rawFilename:Z,filenameUTF8:H,commentUTF8:Ue,rawExtraField:b.subarray(k,P),executable:z}),w.internalFileAttribute=w.internalFileAttributes,w.externalFileAttribute=w.externalFileAttributes;const vt=V(e,t,Ha)||Ve,Ft=H?Ln:p||vn,Ut=Ue?Ln:R||vn;let Me=vt(Z,Ft);Me===G&&(Me=Ve(Z,Ft));let ze=vt(U,Ut);ze===G&&(ze=Ve(U,Ut)),Object.assign(w,{rawComment:U,filename:Me,comment:ze,directory:te||Me.endsWith(wn)}),d=Math.max(Lt,d),qr(w,w,g,y+6),w.zipCrypto=w.encrypted&&!w.extraFieldAES;const Se=new kn(w);Se.getData=(He,We)=>w.getData(He,Se,e.readRanges,We),Se.arrayBuffer=async He=>{const We=new TransformStream,[Zr]=await Promise.all([new Response(We.readable).arrayBuffer(),w.getData(We,Se,e.readRanges,He)]);return Zr},y=Q;const{onprogress:Mt}=t;if(Mt)try{await Mt(T+1,f,new kn(w))}catch{}yield Se}const E=V(e,t,Wa),O=V(e,t,Ba);return E&&(e.prependedData=d>0?await Y(r,0,d):new Uint8Array),e.comment=l?await Y(r,_+ne,l):new Uint8Array,O&&(e.appendedData=m<r.size?await Y(r,m,r.size-m):new Uint8Array),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class no{constructor(t={}){const{readable:e,writable:r}=new TransformStream,s=new Gr(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(i){const{done:a,value:o}=await s.next();if(a)return i.close();const u={...o,readable:(function(){const{readable:_,writable:l}=new TransformStream;if(o.getData)return o.getData(l),_})()};delete u.getData,i.enqueue(u)}}),this.writable=r}}class ro{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,r,s={}){const i=this,{reader:a,offset:o,diskNumberStart:u,extraFieldAES:_,extraFieldZip64:l,compressionMethod:m,config:h,bitFlag:x,signature:S,rawLastModDate:f,uncompressedSize:c,compressedSize:d}=i,{dataDescriptor:y}=x,b=e.localDirectory={},g=await Y(a,o,it,u),A=j(g);let p=V(i,s,ja),R=V(i,s,Ga);const E=V(i,s,Ya);if(p=p&&p.length&&p,R=R&&R.length&&R,_&&_.originalCompressionMethod!=Hs)throw new Error(yt);if(m!=Ms&&m!=Us&&!E)throw new Error(yt);if(W(A,0)!=Ws)throw new Error(Mr);Yr(b,A,4);const{extraFieldLength:O,filenameLength:T,lastAccessDate:w,creationDate:C}=b;b.rawExtraField=O?await Y(a,o+it+T,O,u):new Uint8Array,qr(i,b,A,4,!0),Object.assign(e,{lastAccessDate:w,creationDate:C});const I=i.encrypted&&b.encrypted&&!E,k=I&&!_;if(E||(e.zipCrypto=k),I){if(!k&&_.strength===G)throw new Error(Br);if(!p&&!R)throw new Error(Wr)}const P=o+it+T+O,D=d,M=a.readable;Object.assign(M,{diskNumberStart:u,offset:P,size:D});const L=V(i,s,qa),Z=V(i,s,Va);let N=V(i,s,Ka);const Q=V(i,s,Za);Q&&(N=!0);const{onstart:U,onprogress:H,onend:Ue}=s,Te={options:{codecType:lr,password:p,rawPassword:R,zipCrypto:k,encryptionStrength:_&&_.strength,signed:V(i,s,Xa)&&!E,passwordVerification:k&&(y?f>>>8&255:S>>>24&255),outputSize:c,signature:S,compressed:m!=0&&!E,encrypted:i.encrypted&&!E,useWebWorkers:V(i,s,$a),useCompressionStream:V(i,s,Ja),transferStreams:V(i,s,Qa),checkPasswordOnly:Z},config:h,streamOptions:{signal:L,size:D,onstart:U,onprogress:H,onend:Ue}};N&&await co({reader:a,fileEntry:e,offset:o,diskNumberStart:u,signature:S,compressedSize:d,uncompressedSize:c,dataOffset:P,dataDescriptor:y||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,readRanges:r});let te;try{if(!Q){Z&&(t=new WritableStream),t=new Sr(t),await De(t,E?d:c),{writable:te}=t;const{outputSize:z}=await Ki({readable:M,writable:te},Te);if(t.size+=z,z!=(E?d:c))throw new Error(Ot)}}catch(z){if(z.outputSize!==G&&(t.size+=z.outputSize),!Z||z.message!=St)throw z}finally{!V(i,s,za)&&te&&!te.locked&&await te.getWriter().close()}return Z||Q?G:t.getData?t.getData():te}}function Yr(n,t,e){const r=n.rawBitFlag=q(t,e+2),s=(r&_n)==_n,i=W(t,e+6);Object.assign(n,{encrypted:s,version:q(t,e),bitFlag:{level:(r&ei)>>1,dataDescriptor:(r&hn)==hn,languageEncodingFlag:(r&pn)==pn},rawLastModDate:i,lastModDate:fo(i),filenameLength:q(t,e+22),extraFieldLength:q(t,e+24)})}function qr(n,t,e,r,s){const{rawExtraField:i}=t,a=t.extraField=new Map,o=j(new Uint8Array(i));let u=0;try{for(;u<i.length;){const d=q(o,u),y=q(o,u+2);a.set(d,{type:d,data:i.slice(u+4,u+4+y)}),u+=4+y}}catch{}const _=q(e,r+4);Object.assign(t,{signature:W(e,r+si),compressedSize:W(e,r+ii),uncompressedSize:W(e,r+ai)});const l=a.get(Vs);l&&(so(l,t),t.extraFieldZip64=l);const m=a.get(Js);m&&(Fn(m,Ar,Or,t,n),t.extraFieldUnicodePath=m);const h=a.get(Qs);h&&(Fn(h,Ir,Cr,t,n),t.extraFieldUnicodeComment=h);const x=a.get(Zs);x?(io(x,t,_),t.extraFieldAES=x):t.compressionMethod=_;const S=a.get(Ks);S&&(ao(S,t),t.extraFieldNTFS=S);const f=a.get($s);f&&(oo(f,t,s),t.extraFieldExtendedTimestamp=f);const c=a.get(zs);c&&(t.extraFieldUSDZ=c)}function so(n,t){t.zip64=!0;const e=j(n.data),r=eo.filter(([s,i])=>t[s]==i);for(let s=0,i=0;s<r.length;s++){const[a,o]=r[s];if(t[a]==o){const u=to[o];t[a]=n[a]=u.getValue(e,i),i+=u.bytes}else if(n[a])throw new Error(Hr)}}function Fn(n,t,e,r,s){const i=j(n.data),a=new Ke;a.append(s[e]);const o=j(new Uint8Array(4));o.setUint32(0,a.get(),!0);const u=W(i,1);Object.assign(n,{version:Ee(i,0),[t]:Ve(n.data.subarray(5)),valid:!s.bitFlag.languageEncodingFlag&&u==W(o,0)}),n.valid&&(r[t]=n[t],r[t+"UTF8"]=!0)}function io(n,t,e){const r=j(n.data),s=Ee(r,4);Object.assign(n,{vendorVersion:Ee(r,0),vendorId:Ee(r,2),strength:s,originalCompressionMethod:e,compressionMethod:q(r,5)}),t.compressionMethod=n.compressionMethod}function ao(n,t){const e=j(n.data);let r=4,s;try{for(;r<n.data.length&&!s;){const i=q(e,r),a=q(e,r+2);i==Xs&&(s=n.data.slice(r+4,r+4+a)),r+=4+a}}catch{}try{if(s&&s.length==24){const i=j(s),a=i.getBigUint64(0,!0),o=i.getBigUint64(8,!0),u=i.getBigUint64(16,!0);Object.assign(n,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:u});const _=lt(a),l=lt(o),m=lt(u),h={lastModDate:_,lastAccessDate:l,creationDate:m};Object.assign(n,h),Object.assign(t,h)}}catch{}}function oo(n,t,e){const r=j(n.data),s=Ee(r,0),i=[],a=[];e?((s&1)==1&&(i.push(gt),a.push(bt)),(s&2)==2&&(i.push(kr),a.push(ba)),(s&4)==4&&(i.push(Lr),a.push(ya))):n.data.length>=5&&(i.push(gt),a.push(bt));let o=1;i.forEach((u,_)=>{if(n.data.length>=o+4){const l=W(r,o);t[u]=n[u]=new Date(l*1e3);const m=a[_];n[m]=l}o+=4})}async function co({reader:n,fileEntry:t,offset:e,diskNumberStart:r,signature:s,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:u,extraFieldZip64:_,readRanges:l}){let m=0;if(r)for(let S=0;S<r;S++){const f=n.readers[S];m+=f.size}let h=0;if(u&&(_?h=qs:h=Ys),h){const S=await Y(n,o+i,h+dn,r);if(W(j(S),0)==Bs){const c=W(j(S),4);let d,y;_?(d=xe(j(S),8),y=xe(j(S),16)):(d=W(j(S),8),y=W(j(S),12)),(t.encrypted&&!t.zipCrypto||c==s)&&d==i&&y==a&&(h+=dn)}}const x={start:m+e,end:m+o+i+h,fileEntry:t};for(const S of l)if(S.fileEntry!=t&&x.start>=S.start&&x.start<S.end){const f=new Error(jr);throw f.overlappingEntry=S.fileEntry,f}l.push(x)}async function lo(n,t,e,r,s){const i=new Uint8Array(4),a=j(i);uo(a,0,t);const o=r+s;return await u(r)||await u(Math.min(o,e));async function u(_){const l=e-_,m=await Y(n,l,_);for(let h=m.length-r;h>=0;h--)if(m[h]==i[0]&&m[h+1]==i[1]&&m[h+2]==i[2]&&m[h+3]==i[3])return{offset:l+h,buffer:m.slice(h,h+r).buffer}}}function V(n,t,e){return t[e]===G?n.options[e]:t[e]}function fo(n){const t=(n&4294901760)>>16,e=n&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(n){return new Date(Number(n/BigInt(1e4)-BigInt(116444736e5)))}function Ee(n,t){return n.getUint8(t)}function q(n,t){return n.getUint16(t,!0)}function W(n,t){return n.getUint32(t,!0)}function xe(n,t){return Number(n.getBigUint64(t,!0))}function uo(n,t,e){n.setUint32(t,e,!0)}function j(n){return new DataView(n.buffer)}Vn({Inflate:Fs});const _o=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:Nt,BlobWriter:mr,Data64URIReader:ia,Data64URIWriter:aa,ERR_BAD_FORMAT:Ze,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ur,ERR_ENCRYPTED:Wr,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Fr,ERR_EOCDR_NOT_FOUND:vr,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Hr,ERR_HTTP_RANGE:Fe,ERR_INVALID_PASSWORD:xt,ERR_INVALID_SIGNATURE:Tt,ERR_INVALID_UNCOMPRESSED_SIZE:Ot,ERR_ITERATOR_COMPLETED_TOO_SOON:_r,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Mr,ERR_OVERLAPPING_ENTRY:jr,ERR_SPLIT_ZIP_FILE:Et,ERR_UNSUPPORTED_COMPRESSION:yt,ERR_UNSUPPORTED_ENCRYPTION:Br,ERR_WRITER_NOT_INITIALIZED:hr,GenericReader:Tr,GenericWriter:Sr,HttpRangeReader:ua,HttpReader:xr,Reader:pe,SplitDataReader:kt,SplitDataWriter:$e,SplitZipReader:pa,SplitZipWriter:ma,TextReader:oa,TextWriter:ca,Uint8ArrayReader:da,Uint8ArrayWriter:_a,Writer:Pt,ZipReader:Gr,ZipReaderStream:no,configure:Vn,getMimeType:fi,initStream:De,readUint8Array:Y,terminateWorkers:$i},Symbol.toStringTag,{value:"Module"})),Oe=_o;class ho{constructor(t,e,r){v(this,"_zipReader");v(this,"_entriesPromise");v(this,"_traceURL");this._traceURL=t,Oe.configure({baseURL:self.location.href}),this._zipReader=new Oe.ZipReader(new Oe.HttpReader(mo(t,e),{mode:"cors",preventHeadRequest:!0}),{useWebWorkers:!1}),this._entriesPromise=this._zipReader.getEntries({onprogress:r}).then(s=>{const i=new Map;for(const a of s)i.set(a.filename,a);return i})}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 r=(await this._entriesPromise).get(t);if(!r)return;const s=new Oe.TextWriter;return await((i=r.getData)==null?void 0:i.call(r,s)),s.getData()}async readBlob(t){const r=(await this._entriesPromise).get(t);if(!r)return;const s=new Oe.BlobWriter;return await r.getData(s),s.getData()}}class po{constructor(t,e){v(this,"_entriesPromise");v(this,"_path");v(this,"_server");this._path=t,this._server=e,this._entriesPromise=e.readFile(t).then(async r=>{if(!r)throw new Error("File not found");const s=await r.json(),i=new Map;for(const a of s.entries)i.set(a.name,a.path);return i})}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 r=(await this._entriesPromise).get(t);if(r)return this._server.readFile(r)}}function mo(n,t){let e=n.startsWith("http")||n.startsWith("blob")?n:t.getFileURL(n).toString();return e.startsWith("https://www.dropbox.com/")&&(e="https://dl.dropboxusercontent.com/"+e.substring(24)),e}class wo{constructor(t){this.baseUrl=t}getFileURL(t){const e=new URL("trace/file",this.baseUrl);return e.searchParams.set("path",t),e}async readFile(t){const e=await fetch(this.getFileURL(t));if(e.status!==404)return e}}self.addEventListener("install",function(n){self.skipWaiting()});self.addEventListener("activate",function(n){n.waitUntil(self.clients.claim())});const go=new URL(self.registration.scope).pathname,_e=new Map,ke=new Map;async function bo(n,t,e,r,s){var _;await Vr();const i=(e==null?void 0:e.id)??"";let a=ke.get(i);if(!a){const l=new URL((e==null?void 0:e.url)??self.registration.scope),m=new URL(l.searchParams.get("server")??"../",l);a={limit:r,traceUrls:new Set,traceViewerServer:new wo(m)},ke.set(i,a)}a.traceUrls.add(n);const o=new ps;try{const[l,m]=$r(s,[.5,.4,.1]),h=n.endsWith("json")?new po(n,a.traceViewerServer):new ho(n,a.traceViewerServer,l);await o.load(h,m)}catch(l){throw console.error(l),(_=l==null?void 0:l.message)!=null&&_.includes("Cannot find .trace file")&&await o.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."):l instanceof Wn?new Error(`Could not load trace from ${t||n}. ${l.message}`):t?new Error(`Could not load trace from ${t}. Make sure to upload a valid Playwright trace.`):new Error(`Could not load trace from ${n}. Make sure a valid Playwright Trace is accessible over this url.`)}const u=new ls(o.storage(),l=>o.resourceForSha1(l));return _e.set(n,{traceModel:o,snapshotServer:u}),o}async function yo(n){var u;if(n.request.url.startsWith("chrome-extension://"))return fetch(n.request);if(n.request.headers.get("x-pw-serviceworker")==="forward"){const _=new Request(n.request);return _.headers.delete("x-pw-serviceworker"),fetch(_)}const t=n.request,e=await self.clients.get(n.clientId),r=self.registration.scope.startsWith("https://");if(t.url.startsWith(self.registration.scope)){const _=new URL(ut(t.url)),l=_.pathname.substring(go.length-1);if(l==="/ping")return await Vr(),new Response(null,{status:200});const m=_.searchParams.get("trace");if(l==="/contexts")try{const h=_.searchParams.has("limit")?+_.searchParams.get("limit"):void 0,x=await bo(m,_.searchParams.get("traceFileName"),e,h,(S,f)=>{e.postMessage({method:"progress",params:{done:S,total:f}})});return new Response(JSON.stringify(x.contextEntries),{status:200,headers:{"Content-Type":"application/json"}})}catch(h){return new Response(JSON.stringify({error:h==null?void 0:h.message}),{status:500,headers:{"Content-Type":"application/json"}})}if(l.startsWith("/snapshotInfo/")){const{snapshotServer:h}=_e.get(m)||{};if(!h)return new Response(null,{status:404});const x=l.substring(14);return h.serveSnapshotInfo(x,_.searchParams)}if(l.startsWith("/snapshot/")){const{snapshotServer:h}=_e.get(m)||{};if(!h)return new Response(null,{status:404});const x=l.substring(10),S=h.serveSnapshot(x,_.searchParams,_.href);return r&&S.headers.set("Content-Security-Policy","upgrade-insecure-requests"),S}if(l.startsWith("/closest-screenshot/")){const{snapshotServer:h}=_e.get(m)||{};if(!h)return new Response(null,{status:404});const x=l.substring(20);return h.serveClosestScreenshot(x,_.searchParams)}if(l.startsWith("/sha1/")){const h=l.slice(6);for(const x of _e.values()){const S=await x.traceModel.resourceForSha1(h);if(S)return new Response(S,{status:200,headers:Eo(_.searchParams)})}return new Response(null,{status:404})}if(l.startsWith("/file/")){const h=_.searchParams.get("path"),x=(u=ke.get(n.clientId??""))==null?void 0:u.traceViewerServer;if(!x)throw new Error("client is not initialized");const S=await x.readFile(h);return S||new Response(null,{status:404})}return fetch(n.request)}const s=ut(e.url),i=new URL(s).searchParams.get("trace"),{snapshotServer:a}=_e.get(i)||{};if(!a)return new Response(null,{status:404});const o=[t.url];return r&&t.url.startsWith("https://")&&o.push(t.url.replace(/^https/,"http")),a.serveResource(o,t.method,s)}function Eo(n){const t=n.get("dn"),e=n.get("dct");if(!t)return;const r=new Headers;return r.set("Content-Disposition",`attachment; filename="attachment"; filename*=UTF-8''${encodeURIComponent(t)}`),e&&r.set("Content-Type",e),r}async function Vr(){const n=await self.clients.matchAll(),t=new Set;for(const[e,r]of ke){if(!n.find(s=>s.id===e)){ke.delete(e);continue}if(r.limit!==void 0){const s=[...r.traceUrls];r.traceUrls=new Set(s.slice(s.length-r.limit))}r.traceUrls.forEach(s=>t.add(s))}for(const e of _e.keys())t.has(e)||_e.delete(e)}self.addEventListener("fetch",function(n){n.respondWith(yo(n))});
1
+ class Xs{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 T of t)if(r=i==null?void 0:i.resourceByUrl($s(T),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 c=r.response.content.mimeType;/^text\/|^application\/(javascript|json)/.test(c)&&!c.includes("charset")&&(c=`${c}; charset=utf-8`);const d=new Headers;c!=="x-unknown"&&d.set("Content-Type",c);for(const{name:T,value:A}of r.response.headers)d.set(T,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,w=m===101||m===204||m===205||m===304;return new Response(w?null:o,{headers:d,status:r.response.status,statusText:r.response.statusText})}}function $s(s){try{const t=new URL(s);return t.hash="",t.toString()}catch{return s}}function Js(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 Un={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function Qs(s){return s.replace(/[&<>"']/ug,t=>Un[t])}function zs(s){return s.replace(/[&<]/ug,t=>Un[t])}function Mt(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 Hn(s){return Array.isArray(s)&&typeof s[0]=="string"}function er(s){return Array.isArray(s)&&Array.isArray(s[0])}class tr{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)?Mt(this._screencastFrames,i=>i.frameSwapWallTime,t):Mt(this._screencastFrames,i=>i.timestamp,e);return n==null?void 0:n.sha1}render(){const t=[],e=(i,a,o,c)=>{if(typeof i=="string"){o==="STYLE"||o==="style"?t.push(fr(or(i))):t.push(zs(i));return}if(er(i)){const h=a-i[0][0];if(h>=0&&h<=a){const d=rr(this._snapshots[h]),m=i[0][1];if(m>=0&&m<d.length)return e(d[m],h,o,c)}}else if(Hn(i)){const[h,d,...m]=i;if(h.toUpperCase()==="SCRIPT")return;const w=h.toUpperCase(),T=w==="NOSCRIPT"?"X-NOSCRIPT":h,A=Object.entries(d||{});t.push("<",T);const u="__playwright_current_src__",l=w==="IFRAME"||w==="FRAME",f=w==="A",p=w==="IMG",g=w==="META",C=p&&A.some(_=>_[0]===u),O=w==="SOURCE"&&o==="PICTURE"&&(c==null?void 0:c.some(_=>_[0]===u)),b=g&&A.some(_=>_[0].toLowerCase()==="http-equiv"&&!sr.has(_[1].trim().toLowerCase()));for(const[_,E]of A){let y=_;if(_.toLowerCase().startsWith("on"))continue;l&&_.toLowerCase()==="src"&&(y="__playwright_src__"),l&&(_.toLowerCase()==="srcdoc"||_.toLowerCase()==="sandbox")&&(y="__playwright_"+_.toLowerCase()+"__"),w==="OBJECT"&&_.toLowerCase()==="data"&&(y="__playwright_data__"),w==="EMBED"&&_.toLowerCase()==="src"&&(y="__playwright_src__"),p&&_===u&&(y="src"),["src","srcset"].includes(_.toLowerCase())&&(C||O)&&(y="_"+y),b&&(_.toLowerCase()==="http-equiv"||_.toLowerCase()==="content")&&(y="_"+_);let x=E;!f&&(_.toLowerCase()==="href"||_.toLowerCase()==="src"||_===u)&&(x=lt(E)),t.push(" ",y,'="',Qs(x),'"')}t.push(">");for(const _ of m)e(_,a,T,A);nr.has(T)||t.push("</",T,">");return}else return},n=this._snapshot;return{html:this._htmlCache.getOrCompute(this,()=>{var c;e(n.html,this._index,void 0,void 0);const i=(c=n.doctype)==null?void 0:c.replace(/[^a-zA-Z0-9]/g,""),o=(i?`<!DOCTYPE ${i}>`:"")+["<style>*,*::before,*::after { visibility: hidden }</style>",`<script>${ir(this.viewport(),this._callId,this.snapshotName)}<\/script>`].join("")+t.join("");return{value:o,size:o.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"){let o=n.resourceOverrides.find(c=>c.url===t);if(o!=null&&o.ref){const c=this._index-o.ref;c>=0&&c<this._snapshots.length&&(o=this._snapshots[c].resourceOverrides.find(h=>h.url===t))}o!=null&&o.sha1&&(a={...a,response:{...a.response,content:{...a.response.content,_sha1:o.sha1}}})}return a}}const nr=new Set(["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","MENUITEM","META","PARAM","SOURCE","TRACK","WBR"]),sr=new Set(["content-type","content-language","default-style","x-ua-compatible"]);function rr(s){if(!s._nodes){const t=[],e=n=>{if(typeof n=="string")t.push(n);else if(Hn(n)){const[,,...r]=n;for(const i of r)e(i);t.push(n)}};e(s.html),s._nodes=t}return s._nodes}function ir(s,...t){function e(r,i,...a){const o=window,c=new URLSearchParams(o.location.search),h=c.has("shouldPopulateCanvasFromScreenshot"),d=c.has("isUnderTest"),m={viewport:i,frames:new WeakMap};o.__playwright_frame_bounding_rects__=m;const w="Recorded click position in absolute coordinates did not match the center of the clicked element. This is either due to the use of provided offset, or due to a difference between the test runner and the trace viewer operating systems.",T=[],A=[],u=[],l=[];let f=o;for(;f!==f.parent&&!f.location.pathname.match(/\/page@[a-z0-9]+$/);)f=f.parent;const p=O=>{for(const _ of O.querySelectorAll("[__playwright_scroll_top_]"))T.push(_);for(const _ of O.querySelectorAll("[__playwright_scroll_left_]"))A.push(_);for(const _ of O.querySelectorAll("[__playwright_value_]")){const E=_;E.type!=="file"&&(E.value=E.getAttribute("__playwright_value_")),_.removeAttribute("__playwright_value_")}for(const _ of O.querySelectorAll("[__playwright_checked_]"))_.checked=_.getAttribute("__playwright_checked_")==="true",_.removeAttribute("__playwright_checked_");for(const _ of O.querySelectorAll("[__playwright_selected_]"))_.selected=_.getAttribute("__playwright_selected_")==="true",_.removeAttribute("__playwright_selected_");for(const _ of O.querySelectorAll("[__playwright_popover_open_]")){try{_.showPopover()}catch{}_.removeAttribute("__playwright_popover_open_")}for(const _ of O.querySelectorAll("[__playwright_dialog_open_]")){try{_.getAttribute("__playwright_dialog_open_")==="modal"?_.showModal():_.show()}catch{}_.removeAttribute("__playwright_dialog_open_")}const b=_=>{const E=_.style;E.outline="2px solid #006ab1",E.backgroundColor="#6fa8dc7f",u.push(_)};for(const _ of O.querySelectorAll('[__playwright_target__=""]'))b(_);for(const _ of a)if(_)for(const E of O.querySelectorAll(`[__playwright_target__="${_}"]`))b(E);for(const _ of O.querySelectorAll("iframe, frame")){const E=_.getAttribute("__playwright_bounding_rect__");_.removeAttribute("__playwright_bounding_rect__");const y=E?JSON.parse(E):void 0;y&&m.frames.set(_,{boundingRect:y,scrollLeft:0,scrollTop:0});const x=_.getAttribute("__playwright_src__");if(!x)_.setAttribute("src",r);else{const S=new URL(o.location.href),I=S.pathname.lastIndexOf("/snapshot/");I!==-1&&(S.pathname=S.pathname.substring(0,I+1)),S.pathname+=x.substring(1),_.setAttribute("src",S.toString())}}{const _=O.querySelector("body[__playwright_custom_elements__]");if(_&&o.customElements){const E=(_.getAttribute("__playwright_custom_elements__")||"").split(",");for(const y of E)o.customElements.define(y,class extends HTMLElement{})}}for(const _ of O.querySelectorAll("template[__playwright_shadow_root_]")){const E=_,y=E.parentElement.attachShadow({mode:"open"});y.appendChild(E.content),E.remove(),p(y)}for(const _ of O.querySelectorAll("a"))_.addEventListener("click",E=>{E.preventDefault()});if("adoptedStyleSheets"in O){const _=[...O.adoptedStyleSheets];for(const E of O.querySelectorAll("template[__playwright_style_sheet_]")){const y=E,x=new CSSStyleSheet;x.replaceSync(y.getAttribute("__playwright_style_sheet_")),_.push(x)}O.adoptedStyleSheets=_}l.push(...O.querySelectorAll("canvas"))},g=()=>{o.removeEventListener("load",g);for(const _ of T)_.scrollTop=+_.getAttribute("__playwright_scroll_top_"),_.removeAttribute("__playwright_scroll_top_"),m.frames.has(_)&&(m.frames.get(_).scrollTop=_.scrollTop);for(const _ of A)_.scrollLeft=+_.getAttribute("__playwright_scroll_left_"),_.removeAttribute("__playwright_scroll_left_"),m.frames.has(_)&&(m.frames.get(_).scrollLeft=_.scrollLeft);o.document.styleSheets[0].disabled=!0;const O=new URL(o.location.href).searchParams;if(o===f&&O.get("pointX")&&O.get("pointY")){const _=+O.get("pointX"),E=+O.get("pointY"),y=o.document.createElement("x-pw-pointer");y.style.position="fixed",y.style.backgroundColor="#f44336",y.style.width="20px",y.style.height="20px",y.style.borderRadius="10px",y.style.margin="-10px 0 0 -10px",y.style.zIndex="2147483646",y.style.display="flex",y.style.alignItems="center",y.style.justifyContent="center";const x=u[0],S=x==null?void 0:x.getBoundingClientRect(),I=x?{x:S.left+S.width/2,y:S.top+S.height/2}:null;if(y.style.left=((I==null?void 0:I.x)??_)+"px",y.style.top=((I==null?void 0:I.y)??E)+"px",!(!I||Math.abs(I.x-_)<=10&&Math.abs(I.y-E)<=10)){const D=o.document.createElement("x-pw-pointer-warning");D.textContent="⚠",D.style.fontSize="19px",D.style.color="white",D.style.marginTop="-3.5px",D.style.userSelect="none",y.appendChild(D),y.setAttribute("title",w)}o.document.documentElement.appendChild(y)}if(l.length>0){let _=function(y,x){function S(){const I=o.document.createElement("canvas");I.width=I.width/Math.floor(I.width/24),I.height=I.height/Math.floor(I.height/24);const R=I.getContext("2d");return R.fillStyle="lightgray",R.fillRect(0,0,I.width,I.height),R.fillStyle="white",R.fillRect(0,0,I.width/2,I.height/2),R.fillRect(I.width/2,I.height/2,I.width,I.height),R.createPattern(I,"repeat")}y.fillStyle=S(),y.fillRect(0,0,x.width,x.height)};const E=new Image;E.onload=()=>{var y;for(const x of l){const S=x.getContext("2d"),I=x.getAttribute("__playwright_bounding_rect__");if(x.removeAttribute("__playwright_bounding_rect__"),!I)continue;let R;try{R=JSON.parse(I)}catch{continue}let D=o;for(;D!==f;){const q=D.frameElement;D=D.parent;const N=(y=D.__playwright_frame_bounding_rects__)==null?void 0:y.frames.get(q);if(!(N!=null&&N.boundingRect))break;const K=N.boundingRect.left-N.scrollLeft,L=N.boundingRect.top-N.scrollTop;R.left+=K,R.top+=L,R.right+=K,R.bottom+=L}const{width:k,height:P}=f.__playwright_frame_bounding_rects__.viewport;R.left=R.left/k,R.top=R.top/P,R.right=R.right/k,R.bottom=R.bottom/P;const U=R.right>1||R.bottom>1;if(R.left>1||R.top>1){x.title="Playwright couldn't capture canvas contents because it's located outside the viewport.";continue}_(S,x),h?(S.drawImage(E,R.left*E.width,R.top*E.height,(R.right-R.left)*E.width,(R.bottom-R.top)*E.height,0,0,x.width,x.height),U?x.title="Playwright couldn't capture full canvas contents because it's located partially outside the viewport.":x.title="Canvas contents are displayed on a best-effort basis based on viewport screenshots taken during test execution."):x.title="Canvas content display is disabled.",d&&console.log("canvas drawn:",JSON.stringify([R.left,R.top,R.right-R.left,R.bottom-R.top].map(q=>Math.floor(q*100))))}},E.onerror=()=>{for(const y of l){const x=y.getContext("2d");_(x,y),y.title="Playwright couldn't show canvas contents because the screenshot failed to load."}},E.src=location.href.replace("/snapshot","/closest-screenshot")}},C=()=>p(o.document);o.addEventListener("load",g),o.addEventListener("DOMContentLoaded",C)}const n=r=>JSON.stringify(r).replace(/</g,"\\u003c");return`
2
+ (${e.toString()})(${n(ur)},${n(s)}${t.map(r=>`, ${n(String(r))}`).join("")})`}const Wn=["about:","blob:","data:","file:","ftp:","http:","https:","mailto:","sftp:","ws:","wss:"],Ut="http://playwright.bloburl/#";function lt(s){s.startsWith(Ut)&&(s=s.substring(Ut.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&&Wn.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 ar=/url\(['"]?([\w-]+:)\/\//ig;function or(s){return s.replace(ar,(t,e)=>!(e==="blob:")&&!(e==="file:")&&Wn.includes(e)?t:t.replace(e+"//",`https://pw-${e.slice(0,-1)}--`))}const cr=/url\(\s*'([^']*)'\s*\)/ig,lr=/url\(\s*"([^"]*)"\s*\)/ig;function fr(s){const t=(e,n)=>n.includes("</")?e.replace(n,encodeURI(n)):e;return s.replace(cr,t).replace(lr,t)}const ur="data:text/html;base64,"+btoa("<body></body><style>body { color-scheme: light dark; background: light-dark(white, #333) }</style>");class dr{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 _r{constructor(){this._frameSnapshots=new Map,this._cache=new dr(1e8),this._contextToResources=new Map,this._resourceUrlsWithOverrides=new Set}addResource(t,e){e.request.url=lt(e.request.url),this._ensureResourcesForContext(t).push(e)}addFrameSnapshot(t,e,n){for(const o of e.resourceOverrides)o.url=lt(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 tr(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 Bn extends Error{constructor(t){super(t),this.name="TraceVersionError"}}const Ht=8;class hr{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>Ht)throw new Bn("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??"",e.testTimeout=t.testTimeout;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<Ht;++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 pr{constructor(){this.contextEntries=[],this._resourceToContentType=new Map}async load(t,e,n){var h,d,m;this._backend=t;const r=(h=e==null?void 0:e.match(/(.+)\.trace$/))==null?void 0:h[1],i=[];let a=!1;for(const w of await this._backend.entryNames()){const T=w.match(/(.+)\.trace$/);T&&(!r||r===T[1])&&i.push(T[1]||""),w.includes("src@")&&(a=!0)}if(!i.length)throw new Error("Cannot find .trace file");this._snapshotStorage=new _r;const o=i.length*3;let c=0;for(const w of i){const T=mr();T.hasSource=a;const A=new hr(T,this._snapshotStorage),u=await this._backend.readText(w+".trace")||"";A.appendTrace(u),n==null||n(++c,o);const l=await this._backend.readText(w+".network")||"";if(A.appendTrace(l),n==null||n(++c,o),T.actions=A.actions().sort((p,g)=>p.startTime-g.startTime),!t.isLive()){for(const p of T.actions.slice().reverse())if(!p.endTime&&!p.error)for(const g of T.actions)g.parentId===p.callId&&p.endTime<g.endTime&&(p.endTime=g.endTime)}const f=await this._backend.readText(w+".stacks");if(f){const p=Js(JSON.parse(f));for(const g of T.actions)g.stack=g.stack||p.get(g.callId)}n==null||n(++c,o);for(const p of T.resources)(d=p.request.postData)!=null&&d._sha1&&this._resourceToContentType.set(p.request.postData._sha1,Wt(p.request.postData.mimeType)),(m=p.response.content)!=null&&m._sha1&&this._resourceToContentType.set(p.response.content._sha1,Wt(p.response.content.mimeType));this.contextEntries.push(T)}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 Wt(s){const t=s.match(/^(.*);\s*charset=.*$/);return t?t[1]:s}function mr(){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 wr(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,c)=>o+c,0),1e3)})}const gr=15,v=0,ne=1,br=2,X=-2,W=-3,Bt=-4,se=-5,$=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],jn=1440,yr=0,Er=4,xr=9,Tr=5,Sr=[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],Rr=[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],Ar=[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],Or=[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],Cr=[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],Ir=[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 ft(){const s=this;let t,e,n,r,i,a;function o(h,d,m,w,T,A,u,l,f,p,g){let C,O,b,_,E,y,x,S,I,R,D,k,P,U,F;R=0,E=m;do n[h[d+R]]++,R++,E--;while(E!==0);if(n[0]==m)return u[0]=-1,l[0]=0,v;for(S=l[0],y=1;y<=ie&&n[y]===0;y++);for(x=y,S<y&&(S=y),E=ie;E!==0&&n[E]===0;E--);for(b=E,S>E&&(S=E),l[0]=S,U=1<<y;y<E;y++,U<<=1)if((U-=n[y])<0)return W;if((U-=n[E])<0)return W;for(n[E]+=U,a[1]=y=0,R=1,P=2;--E!==0;)a[P]=y+=n[R],P++,R++;E=0,R=0;do(y=h[d+R])!==0&&(g[a[y]++]=E),R++;while(++E<m);for(m=a[b],a[0]=E=0,R=0,_=-1,k=-S,i[0]=0,D=0,F=0;x<=b;x++)for(C=n[x];C--!==0;){for(;x>k+S;){if(_++,k+=S,F=b-k,F=F>S?S:F,(O=1<<(y=x-k))>C+1&&(O-=C+1,P=x,y<F))for(;++y<F&&!((O<<=1)<=n[++P]);)O-=n[P];if(F=1<<y,p[0]+F>jn)return W;i[_]=D=p[0],p[0]+=F,_!==0?(a[_]=E,r[0]=y,r[1]=S,y=E>>>k-S,r[2]=D-i[_-1]-y,f.set(r,(i[_-1]+y)*3)):u[0]=D}for(r[1]=x-k,R>=m?r[0]=192:g[R]<w?(r[0]=g[R]<256?0:96,r[2]=g[R++]):(r[0]=A[g[R]-w]+16+64,r[2]=T[g[R++]-w]),O=1<<x-k,y=E>>>k;y<F;y+=O)f.set(r,(D+y)*3);for(y=1<<x-1;(E&y)!==0;y>>>=1)E^=y;for(E^=y,I=(1<<k)-1;(E&I)!=a[_];)_--,k-=S,I=(1<<k)-1}return U!==0&&b!=1?se:v}function c(h){let d;for(t||(t=[],e=[],n=new Int32Array(ie+1),r=[],i=new Int32Array(ie),a=new Int32Array(ie+1)),e.length<h&&(e=[]),d=0;d<h;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(h,d,m,w,T){let A;return c(19),t[0]=0,A=o(h,0,19,19,null,null,m,d,w,t,e),A==W?T.msg="oversubscribed dynamic bit lengths tree":(A==se||d[0]===0)&&(T.msg="incomplete dynamic bit lengths tree",A=W),A},s.inflate_trees_dynamic=function(h,d,m,w,T,A,u,l,f){let p;return c(288),t[0]=0,p=o(m,0,h,257,Ar,Or,A,w,l,t,e),p!=v||w[0]===0?(p==W?f.msg="oversubscribed literal/length tree":p!=Bt&&(f.msg="incomplete literal/length tree",p=W),p):(c(288),p=o(m,h,d,0,Cr,Ir,u,T,l,t,e),p!=v||T[0]===0&&h>257?(p==W?f.msg="oversubscribed distance tree":p==se?(f.msg="incomplete distance tree",p=W):p!=Bt&&(f.msg="empty distance tree with lengths",p=W),p):v)}}ft.inflate_trees_fixed=function(s,t,e,n){return s[0]=xr,t[0]=Tr,e[0]=Sr,n[0]=Rr,v};const He=0,jt=1,qt=2,Gt=3,Yt=4,Vt=5,Zt=6,ze=7,Kt=8,We=9;function Nr(){const s=this;let t,e=0,n,r=0,i=0,a=0,o=0,c=0,h=0,d=0,m,w=0,T,A=0;function u(l,f,p,g,C,O,b,_){let E,y,x,S,I,R,D,k,P,U,F,q,N,K,L,M;D=_.next_in_index,k=_.avail_in,I=b.bitb,R=b.bitk,P=b.write,U=P<b.read?b.read-P-1:b.end-P,F=$[l],q=$[f];do{for(;R<20;)k--,I|=(_.read_byte(D++)&255)<<R,R+=8;if(E=I&F,y=p,x=g,M=(x+E)*3,(S=y[M])===0){I>>=y[M+1],R-=y[M+1],b.win[P++]=y[M+2],U--;continue}do{if(I>>=y[M+1],R-=y[M+1],(S&16)!==0){for(S&=15,N=y[M+2]+(I&$[S]),I>>=S,R-=S;R<15;)k--,I|=(_.read_byte(D++)&255)<<R,R+=8;E=I&q,y=C,x=O,M=(x+E)*3,S=y[M];do if(I>>=y[M+1],R-=y[M+1],(S&16)!==0){for(S&=15;R<S;)k--,I|=(_.read_byte(D++)&255)<<R,R+=8;if(K=y[M+2]+(I&$[S]),I>>=S,R-=S,U-=N,P>=K)L=P-K,P-L>0&&2>P-L?(b.win[P++]=b.win[L++],b.win[P++]=b.win[L++],N-=2):(b.win.set(b.win.subarray(L,L+2),P),P+=2,L+=2,N-=2);else{L=P-K;do L+=b.end;while(L<0);if(S=b.end-L,N>S){if(N-=S,P-L>0&&S>P-L)do b.win[P++]=b.win[L++];while(--S!==0);else b.win.set(b.win.subarray(L,L+S),P),P+=S,L+=S,S=0;L=0}}if(P-L>0&&N>P-L)do b.win[P++]=b.win[L++];while(--N!==0);else b.win.set(b.win.subarray(L,L+N),P),P+=N,L+=N,N=0;break}else if((S&64)===0)E+=y[M+2],E+=I&$[S],M=(x+E)*3,S=y[M];else return _.msg="invalid distance code",N=_.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,b.bitb=I,b.bitk=R,_.avail_in=k,_.total_in+=D-_.next_in_index,_.next_in_index=D,b.write=P,W;while(!0);break}if((S&64)===0){if(E+=y[M+2],E+=I&$[S],M=(x+E)*3,(S=y[M])===0){I>>=y[M+1],R-=y[M+1],b.win[P++]=y[M+2],U--;break}}else return(S&32)!==0?(N=_.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,b.bitb=I,b.bitk=R,_.avail_in=k,_.total_in+=D-_.next_in_index,_.next_in_index=D,b.write=P,ne):(_.msg="invalid literal/length code",N=_.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,b.bitb=I,b.bitk=R,_.avail_in=k,_.total_in+=D-_.next_in_index,_.next_in_index=D,b.write=P,W)}while(!0)}while(U>=258&&k>=10);return N=_.avail_in-k,N=R>>3<N?R>>3:N,k+=N,D-=N,R-=N<<3,b.bitb=I,b.bitk=R,_.avail_in=k,_.total_in+=D-_.next_in_index,_.next_in_index=D,b.write=P,v}s.init=function(l,f,p,g,C,O){t=He,h=l,d=f,m=p,w=g,T=C,A=O,n=null},s.proc=function(l,f,p){let g,C,O,b=0,_=0,E=0,y,x,S,I;for(E=f.next_in_index,y=f.avail_in,b=l.bitb,_=l.bitk,x=l.write,S=x<l.read?l.read-x-1:l.end-x;;)switch(t){case He:if(S>=258&&y>=10&&(l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,p=u(h,d,m,w,T,A,l,f),E=f.next_in_index,y=f.avail_in,b=l.bitb,_=l.bitk,x=l.write,S=x<l.read?l.read-x-1:l.end-x,p!=v)){t=p==ne?ze:We;break}i=h,n=m,r=w,t=jt;case jt:for(g=i;_<g;){if(y!==0)p=v;else return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);y--,b|=(f.read_byte(E++)&255)<<_,_+=8}if(C=(r+(b&$[g]))*3,b>>>=n[C+1],_-=n[C+1],O=n[C],O===0){a=n[C+2],t=Zt;break}if((O&16)!==0){o=O&15,e=n[C+2],t=qt;break}if((O&64)===0){i=O,r=C/3+n[C+2];break}if((O&32)!==0){t=ze;break}return t=We,f.msg="invalid literal/length code",p=W,l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);case qt:for(g=o;_<g;){if(y!==0)p=v;else return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);y--,b|=(f.read_byte(E++)&255)<<_,_+=8}e+=b&$[g],b>>=g,_-=g,i=d,n=T,r=A,t=Gt;case Gt:for(g=i;_<g;){if(y!==0)p=v;else return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);y--,b|=(f.read_byte(E++)&255)<<_,_+=8}if(C=(r+(b&$[g]))*3,b>>=n[C+1],_-=n[C+1],O=n[C],(O&16)!==0){o=O&15,c=n[C+2],t=Yt;break}if((O&64)===0){i=O,r=C/3+n[C+2];break}return t=We,f.msg="invalid distance code",p=W,l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);case Yt:for(g=o;_<g;){if(y!==0)p=v;else return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);y--,b|=(f.read_byte(E++)&255)<<_,_+=8}c+=b&$[g],b>>=g,_-=g,t=Vt;case Vt:for(I=x-c;I<0;)I+=l.end;for(;e!==0;){if(S===0&&(x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0&&(l.write=x,p=l.inflate_flush(f,p),x=l.write,S=x<l.read?l.read-x-1:l.end-x,x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0)))return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);l.win[x++]=l.win[I++],S--,I==l.end&&(I=0),e--}t=He;break;case Zt:if(S===0&&(x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0&&(l.write=x,p=l.inflate_flush(f,p),x=l.write,S=x<l.read?l.read-x-1:l.end-x,x==l.end&&l.read!==0&&(x=0,S=x<l.read?l.read-x-1:l.end-x),S===0)))return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);p=v,l.win[x++]=a,S--,t=He;break;case ze:if(_>7&&(_-=8,y++,E--),l.write=x,p=l.inflate_flush(f,p),x=l.write,S=x<l.read?l.read-x-1:l.end-x,l.read!=l.write)return l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);t=Kt;case Kt:return p=ne,l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);case We:return p=W,l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p);default:return p=X,l.bitb=b,l.bitk=_,f.avail_in=y,f.total_in+=E-f.next_in_index,f.next_in_index=E,l.write=x,l.inflate_flush(f,p)}},s.free=function(){}}const Xt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],we=0,et=1,$t=2,Jt=3,Qt=4,zt=5,Be=6,je=7,en=8,he=9;function Dr(s,t){const e=this;let n=we,r=0,i=0,a=0,o;const c=[0],h=[0],d=new Nr;let m=0,w=new Int32Array(jn*3);const T=0,A=new ft;e.bitk=0,e.bitb=0,e.win=new Uint8Array(t),e.end=t,e.read=0,e.write=0,e.reset=function(u,l){l&&(l[0]=T),n==Be&&d.free(u),n=we,e.bitk=0,e.bitb=0,e.read=e.write=0},e.reset(s,null),e.inflate_flush=function(u,l){let f,p,g;return p=u.next_out_index,g=e.read,f=(g<=e.write?e.write:e.end)-g,f>u.avail_out&&(f=u.avail_out),f!==0&&l==se&&(l=v),u.avail_out-=f,u.total_out+=f,u.next_out.set(e.win.subarray(g,g+f),p),p+=f,g+=f,g==e.end&&(g=0,e.write==e.end&&(e.write=0),f=e.write-g,f>u.avail_out&&(f=u.avail_out),f!==0&&l==se&&(l=v),u.avail_out-=f,u.total_out+=f,u.next_out.set(e.win.subarray(g,g+f),p),p+=f,g+=f),u.next_out_index=p,e.read=g,l},e.proc=function(u,l){let f,p,g,C,O,b,_,E;for(C=u.next_in_index,O=u.avail_in,p=e.bitb,g=e.bitk,b=e.write,_=b<e.read?e.read-b-1:e.end-b;;){let y,x,S,I,R,D,k,P;switch(n){case we:for(;g<3;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);O--,p|=(u.read_byte(C++)&255)<<g,g+=8}switch(f=p&7,m=f&1,f>>>1){case 0:p>>>=3,g-=3,f=g&7,p>>>=f,g-=f,n=et;break;case 1:y=[],x=[],S=[[]],I=[[]],ft.inflate_trees_fixed(y,x,S,I),d.init(y[0],x[0],S[0],0,I[0],0),p>>>=3,g-=3,n=Be;break;case 2:p>>>=3,g-=3,n=Jt;break;case 3:return p>>>=3,g-=3,n=he,u.msg="invalid block type",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l)}break;case et:for(;g<32;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);O--,p|=(u.read_byte(C++)&255)<<g,g+=8}if((~p>>>16&65535)!=(p&65535))return n=he,u.msg="invalid stored block lengths",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);r=p&65535,p=g=0,n=r!==0?$t:m!==0?je:we;break;case $t:if(O===0||_===0&&(b==e.end&&e.read!==0&&(b=0,_=b<e.read?e.read-b-1:e.end-b),_===0&&(e.write=b,l=e.inflate_flush(u,l),b=e.write,_=b<e.read?e.read-b-1:e.end-b,b==e.end&&e.read!==0&&(b=0,_=b<e.read?e.read-b-1:e.end-b),_===0)))return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);if(l=v,f=r,f>O&&(f=O),f>_&&(f=_),e.win.set(u.read_buf(C,f),b),C+=f,O-=f,b+=f,_-=f,(r-=f)!==0)break;n=m!==0?je:we;break;case Jt:for(;g<14;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);O--,p|=(u.read_byte(C++)&255)<<g,g+=8}if(i=f=p&16383,(f&31)>29||(f>>5&31)>29)return n=he,u.msg="too many length or distance symbols",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);if(f=258+(f&31)+(f>>5&31),!o||o.length<f)o=[];else for(E=0;E<f;E++)o[E]=0;p>>>=14,g-=14,a=0,n=Qt;case Qt:for(;a<4+(i>>>10);){for(;g<3;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);O--,p|=(u.read_byte(C++)&255)<<g,g+=8}o[Xt[a++]]=p&7,p>>>=3,g-=3}for(;a<19;)o[Xt[a++]]=0;if(c[0]=7,f=A.inflate_trees_bits(o,c,h,w,u),f!=v)return l=f,l==W&&(o=null,n=he),e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);a=0,n=zt;case zt:for(;f=i,!(a>=258+(f&31)+(f>>5&31));){let U,F;for(f=c[0];g<f;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);O--,p|=(u.read_byte(C++)&255)<<g,g+=8}if(f=w[(h[0]+(p&$[f]))*3+1],F=w[(h[0]+(p&$[f]))*3+2],F<16)p>>>=f,g-=f,o[a++]=F;else{for(E=F==18?7:F-14,U=F==18?11:3;g<f+E;){if(O!==0)l=v;else return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);O--,p|=(u.read_byte(C++)&255)<<g,g+=8}if(p>>>=f,g-=f,U+=p&$[E],p>>>=E,g-=E,E=a,f=i,E+U>258+(f&31)+(f>>5&31)||F==16&&E<1)return o=null,n=he,u.msg="invalid bit length repeat",l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);F=F==16?o[E-1]:0;do o[E++]=F;while(--U!==0);a=E}}if(h[0]=-1,R=[],D=[],k=[],P=[],R[0]=9,D[0]=6,f=i,f=A.inflate_trees_dynamic(257+(f&31),1+(f>>5&31),o,R,D,k,P,w,u),f!=v)return f==W&&(o=null,n=he),l=f,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);d.init(R[0],D[0],w,k[0],w,P[0]),n=Be;case Be:if(e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,(l=d.proc(e,u,l))!=ne)return e.inflate_flush(u,l);if(l=v,d.free(u),C=u.next_in_index,O=u.avail_in,p=e.bitb,g=e.bitk,b=e.write,_=b<e.read?e.read-b-1:e.end-b,m===0){n=we;break}n=je;case je:if(e.write=b,l=e.inflate_flush(u,l),b=e.write,_=b<e.read?e.read-b-1:e.end-b,e.read!=e.write)return e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);n=en;case en:return l=ne,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);case he:return l=W,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l);default:return l=X,e.bitb=p,e.bitk=g,u.avail_in=O,u.total_in+=C-u.next_in_index,u.next_in_index=C,e.write=b,e.inflate_flush(u,l)}}},e.free=function(u){e.reset(u,null),e.win=null,w=null},e.set_dictionary=function(u,l,f){e.win.set(u.subarray(l,l+f),0),e.read=e.write=f},e.sync_point=function(){return n==et?1:0}}const Pr=32,kr=8,Lr=0,tn=1,nn=2,sn=3,rn=4,an=5,tt=6,Se=7,on=12,ae=13,vr=[0,0,255,255];function Fr(){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?X:(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),X):(s.wbits=n,e.istate.blocks=new Dr(e,1<<n),t(e),v)},s.inflate=function(e,n){let r,i;if(!e||!e.istate||!e.next_in)return X;const a=e.istate;for(n=n==Er?se:v,r=se;;)switch(a.mode){case Lr: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)!=kr){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=tn;case tn: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&Pr)===0){a.mode=Se;break}a.mode=nn;case nn: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=sn;case sn: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=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)<<8&65280,a.mode=an;case an: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=tt,br);case tt:return a.mode=ae,e.msg="need dictionary",a.marker=0,X;case Se:if(r=a.blocks.proc(e,r),r==W){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=on;case on:return e.avail_in=0,ne;case ae:return W;default:return X}},s.inflateSetDictionary=function(e,n,r){let i=0,a=r;if(!e||!e.istate||e.istate.mode!=tt)return X;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 X;const c=e.istate;if(c.mode!=ae&&(c.mode=ae,c.marker=0),(n=e.avail_in)===0)return se;for(r=e.next_in_index,i=c.marker;n!==0&&i<4;)e.read_byte(r)==vr[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,c.marker=i,i!=4?W:(a=e.total_in,o=e.total_out,t(e),e.total_in=a,e.total_out=o,c.mode=Se,v)},s.inflateSyncPoint=function(e){return!e||!e.istate||!e.istate.blocks?X:e.istate.blocks.sync_point()}}function qn(){}qn.prototype={inflateInit(s){const t=this;return t.istate=new Fr,s||(s=gr),t.istate.inflateInit(t,s)},inflate(s){const t=this;return t.istate?t.istate.inflate(t,s):X},inflateEnd(){const s=this;if(!s.istate)return X;const t=s.istate.inflateEnd(s);return s.istate=null,t},inflateSync(){const s=this;return s.istate?s.istate.inflateSync(s):X},inflateSetDictionary(s,t){const e=this;return e.istate?e.istate.inflateSetDictionary(e,s,t):X},read_byte(s){return this.next_in[s]},read_buf(s,t){return this.next_in.subarray(s,s+t)}};function Mr(s){const t=this,e=new qn,n=s&&s.chunkSize?Math.floor(s.chunkSize*2):128*1024,r=yr,i=new Uint8Array(n);let a=!1;e.inflateInit(),e.next_out=i,t.append=function(o,c){const h=[];let d,m,w=0,T=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?h.push(new Uint8Array(i)):h.push(i.subarray(0,e.next_out_index))),A+=e.next_out_index,c&&e.next_in_index>0&&e.next_in_index!=w&&(c(e.next_in_index),w=e.next_in_index)}while(e.avail_in>0||e.avail_out===0);return h.length>1?(m=new Uint8Array(A),h.forEach(function(u){m.set(u,T),T+=u.length})):m=h[0]?new Uint8Array(h[0]):new Uint8Array,m}},t.flush=function(){e.inflateEnd()}}const pe=4294967295,le=65535,Ur=8,Hr=0,Wr=99,Br=67324752,Gn=134695760,jr=Gn,cn=33639248,qr=101010256,ln=101075792,Gr=117853008,te=22,nt=20,st=56,Yr=12,Vr=20,fn=4,Zr=1,Kr=39169,Xr=10,$r=1,Jr=21589,Qr=28789,zr=25461,ei=6534,un=1,ti=6,dn=8,_n=2048,hn=16,ni=61440,si=16384,ri=73,pn="/",rt=30,ii=10,ai=14,oi=18,j=void 0,de="undefined",Pe="function";class mn{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 ci=64;let Yn=2;try{typeof navigator!=de&&navigator.hardwareConcurrency&&(Yn=navigator.hardwareConcurrency)}catch{}const li={chunkSize:512*1024,maxWorkers:Yn,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:j,CompressionStreamNative:typeof CompressionStream!=de&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=de&&DecompressionStream},fe=Object.assign({},li);function Vn(){return fe}function fi(s){return Math.max(s.chunkSize,ci)}function Zn(s){const{baseURL:t,chunkSize:e,maxWorkers:n,terminateWorkerTimeout:r,useCompressionStream:i,useWebWorkers:a,Deflate:o,Inflate:c,CompressionStream:h,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 mn(o)),c&&(fe.DecompressionStream=new mn(c)),oe("CompressionStream",h),oe("DecompressionStream",d),m!==j){const{deflate:w,inflate:T}=m;if((w||T)&&(fe.workerScripts||(fe.workerScripts={})),w){if(!Array.isArray(w))throw new Error("workerScripts.deflate must be an array");fe.workerScripts.deflate=w}if(T){if(!Array.isArray(T))throw new Error("workerScripts.inflate must be an array");fe.workerScripts.inflate=T}}}function oe(s,t){t!==j&&(fe[s]=t)}function ui(){return"application/octet-stream"}const Kn=[];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;Kn[s]=t}class Ve{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^Kn[(e^t[n])&255];this.crc=e}get(){return~this.crc}}class Xn extends TransformStream{constructor(){let t;const e=new Ve;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 di(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}},Ze={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}}},$n={};$n.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=Ze.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 h=0;h<16;h++)n[h]=s[h];let r=e[0],i=e[1],a=e[2],o=e[3],c=e[4];for(let h=0;h<=79;h++){h>=16&&(n[h]=t._S(1,n[h-3]^n[h-8]^n[h-14]^n[h-16]));const d=t._S(5,r)+t._f(h,i,a,o)+c+n[h]+t._key[Math.floor(h/20)]|0;c=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]+c|0}};const Jn={};Jn.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,c=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 h=a[i-1];(i%r===0||r===8&&i%r===4)&&(h=e[h>>>24]<<24^e[h>>16&255]<<16^e[h>>8&255]<<8^e[h&255],i%r===0&&(h=h<<8^h>>>24^c<<24,c=c<<1^(c>>7)*283)),a[i]=a[i-r]^h}for(let h=0;i;h++,i--){const d=a[h&3?i:i-4];i<=4||h<4?o[h]=d:o[h]=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,c,h;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,h=r[c=r[o=r[d]]];let w=h*16843009^c*65537^o*257^d*16843008,T=r[m]*257^m*16843008;for(let A=0;A<4;A++)s[A][d]=T=T<<24^T>>>8,t[A][m]=w=w<<24^w>>>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],c=i[2],h=i[3],d=i[4];let m=s[0]^e[0],w=s[t?3:1]^e[1],T=s[2]^e[2],A=s[t?1:3]^e[3],u=4,l,f,p;for(let g=0;g<n;g++)l=a[m>>>24]^o[w>>16&255]^c[T>>8&255]^h[A&255]^e[u],f=a[w>>>24]^o[T>>16&255]^c[A>>8&255]^h[m&255]^e[u+1],p=a[T>>>24]^o[A>>16&255]^c[m>>8&255]^h[w&255]^e[u+2],A=a[A>>>24]^o[m>>16&255]^c[w>>8&255]^h[T&255]^e[u+3],u+=4,m=l,w=f,T=p;for(let g=0;g<4;g++)r[t?3&-g:g]=d[m>>>24]<<24^d[w>>16&255]<<16^d[T>>8&255]<<8^d[A&255]^e[u++],l=m,m=w,w=T,T=A,A=l;return r}};const _i={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}},Qn={};Qn.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(Ze.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,c,h;const d=new ArrayBuffer(r),m=new DataView(d);let w=0;const T=Z;for(t=Ze.bytes.toBits(t),h=1;w<(r||1);h++){for(i=a=s.encrypt(T.concat(t,[h])),o=1;o<e;o++)for(a=s.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;w<(r||1)&&o<i.length;o++)m.setInt32(w,i[o]),w+=4}return d.slice(0,n/8)}};me.hmacSha1=class{constructor(s){const t=this,e=t._hash=$n.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 hi=typeof crypto!=de&&typeof crypto.getRandomValues==Pe,yt="Invalid password",Et="Invalid signature",xt="zipjs-abort-check-password";function zn(s){return hi?crypto.getRandomValues(s):_i.getRandomValues(s)}const ge=16,pi="raw",es={name:"PBKDF2"},mi={name:"HMAC"},wi="SHA-1",gi=Object.assign({hash:mi},es),ut=Object.assign({iterations:1e3,hash:{name:wi}},es),bi=["deriveBits"],Ce=[8,12,16],Re=[16,24,32],ce=10,yi=[0,0,0,0],$e=typeof crypto!=de,ke=$e&&crypto.subtle,ts=$e&&typeof ke!=de,z=Ze.bytes,Ei=Jn.aes,xi=Qn.ctrGladman,Ti=me.hmacSha1;let wn=$e&&ts&&typeof ke.importKey==Pe,gn=$e&&ts&&typeof ke.deriveBits==Pe;class Si 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:rs(t,e),signed:n,strength:r-1,pending:new Uint8Array})},async transform(a,o){const c=this,{password:h,strength:d,resolveReady:m,ready:w}=c;h?(await Ai(c,d,h,J(a,0,Ce[d]+2)),a=J(a,Ce[d]+2),i?o.error(new Error(xt)):m()):await w;const T=new Uint8Array(a.length-ce-(a.length-ce)%ge);o.enqueue(ns(c,a,T,0,ce,!0))},async flush(a){const{signed:o,ctr:c,hmac:h,pending:d,ready:m}=this;if(h&&c){await m;const w=J(d,0,d.length-ce),T=J(d,d.length-ce);let A=new Uint8Array;if(w.length){const u=Ne(z,w);h.update(u);const l=c.update(u);A=Ie(z,l)}if(o){const u=J(Ie(z,h.digest()),0,ce);for(let l=0;l<ce;l++)if(u[l]!=T[l])throw new Error(Et)}a.enqueue(A)}}})}}class Ri extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:n}){let r;super({start(){Object.assign(this,{ready:new Promise(i=>this.resolveReady=i),password:rs(t,e),strength:n-1,pending:new Uint8Array})},async transform(i,a){const o=this,{password:c,strength:h,resolveReady:d,ready:m}=o;let w=new Uint8Array;c?(w=await Oi(o,h,c),d()):await m;const T=new Uint8Array(w.length+i.length-i.length%ge);T.set(w,0),a.enqueue(ns(o,i,T,w.length,0))},async flush(i){const{ctr:a,hmac:o,pending:c,ready:h}=this;if(o&&a){await h;let d=new Uint8Array;if(c.length){const m=a.update(Ne(z,c));o.update(m),d=Ie(z,m)}r.signature=Ie(z,o.digest()).slice(0,ce),i.enqueue(Tt(d,r.signature))}}}),r=this}}function ns(s,t,e,n,r,i){const{ctr:a,hmac:o,pending:c}=s,h=t.length-r;c.length&&(t=Tt(c,t),e=Ni(e,h-h%ge));let d;for(d=0;d<=h-ge;d+=ge){const m=Ne(z,J(t,d,d+ge));i&&o.update(m);const w=a.update(m);i||o.update(w),e.set(Ie(z,w),d+n)}return s.pending=J(t,d),e}async function Ai(s,t,e,n){const r=await ss(s,t,e,J(n,0,Ce[t])),i=J(n,Ce[t]);if(r[0]!=i[0]||r[1]!=i[1])throw new Error(yt)}async function Oi(s,t,e){const n=zn(new Uint8Array(Ce[t])),r=await ss(s,t,e,n);return Tt(n,r)}async function ss(s,t,e,n){s.password=null;const r=await Ci(pi,e,gi,!1,bi),i=await Ii(Object.assign({salt:n},ut),r,8*(Re[t]*2+2)),a=new Uint8Array(i),o=Ne(z,J(a,0,Re[t])),c=Ne(z,J(a,Re[t],Re[t]*2)),h=J(a,Re[t]*2);return Object.assign(s,{keys:{key:o,authentication:c,passwordVerification:h},ctr:new xi(new Ei(o),Array.from(yi)),hmac:new Ti(c)}),h}async function Ci(s,t,e,n,r){if(wn)try{return await ke.importKey(s,t,e,n,r)}catch{return wn=!1,me.importKey(t)}else return me.importKey(t)}async function Ii(s,t,e){if(gn)try{return await ke.deriveBits(s,t,e)}catch{return gn=!1,me.pbkdf2(t,s.salt,ut.iterations,e)}else return me.pbkdf2(t,s.salt,ut.iterations,e)}function rs(s,t){return t===j?di(s):t}function Tt(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 Ni(s,t){if(t&&t>s.length){const e=s;s=new Uint8Array(t),s.set(e,0)}return s}function J(s,t,e){return s.subarray(t,e)}function Ie(s,t){return s.fromBits(t)}function Ne(s,t){return s.toBits(t)}const Oe=12;class Di extends TransformStream{constructor({password:t,passwordVerification:e,checkPasswordOnly:n}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),is(this,t)},transform(r,i){const a=this;if(a.password){const o=bn(a,r.subarray(0,Oe));if(a.password=null,o.at(-1)!=a.passwordVerification)throw new Error(yt);r=r.subarray(Oe)}n?i.error(new Error(xt)):i.enqueue(bn(a,r))}})}}class Pi extends TransformStream{constructor({password:t,passwordVerification:e}){super({start(){Object.assign(this,{password:t,passwordVerification:e}),is(this,t)},transform(n,r){const i=this;let a,o;if(i.password){i.password=null;const c=zn(new Uint8Array(Oe));c[Oe-1]=i.passwordVerification,a=new Uint8Array(n.length+c.length),a.set(yn(i,c),0),o=Oe}else a=new Uint8Array(n.length),o=0;a.set(yn(i,n),o),r.enqueue(a)}})}}function bn(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=as(s)^t[n],St(s,e[n]);return e}function yn(s,t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=as(s)^t[n],St(s,t[n]);return e}function is(s,t){const e=[305419896,591751049,878082192];Object.assign(s,{keys:e,crcKey0:new Ve(e[0]),crcKey2:new Ve(e[2])});for(let n=0;n<t.length;n++)St(s,t.charCodeAt(n))}function St(s,t){let[e,n,r]=s.keys;s.crcKey0.append([t]),e=~s.crcKey0.get(),n=En(Math.imul(En(n+os(e)),134775813)+1),s.crcKey2.append([n>>>24]),r=~s.crcKey2.get(),s.keys=[e,n,r]}function as(s){const t=s.keys[2]|2;return os(Math.imul(t,t^1)>>>8)}function os(s){return s&255}function En(s){return s&4294967295}const Rt="Invalid uncompressed size",xn="deflate-raw";class ki extends TransformStream{constructor(t,{chunkSize:e,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:i,encrypted:a,useCompressionStream:o,zipCrypto:c,signed:h,level:d}=t,m=this;let w,T,A=super.readable;(!a||c)&&h&&(w=new Xn,A=re(A,w)),i&&(A=ls(A,o,{level:d,chunkSize:e},r,n)),a&&(c?A=re(A,new Pi(t)):(T=new Ri(t),A=re(A,T))),cs(m,A,()=>{let u;a&&!c&&(u=T.signature),(!a||c)&&h&&(u=new DataView(w.value.buffer).getUint32(0)),m.signature=u})}}class Li extends TransformStream{constructor(t,{chunkSize:e,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:i,encrypted:a,signed:o,signature:c,compressed:h,useCompressionStream:d}=t;let m,w,T=super.readable;a&&(i?T=re(T,new Di(t)):(w=new Si(t),T=re(T,w))),h&&(T=ls(T,d,{chunkSize:e},r,n)),(!a||i)&&o&&(m=new Xn,T=re(T,m)),cs(this,T,()=>{if((!a||i)&&o){const A=new DataView(m.value.buffer);if(c!=A.getUint32(0,!1))throw new Error(Et)}})}}function cs(s,t,e){t=re(t,new TransformStream({flush:e})),Object.defineProperty(s,"readable",{get(){return t}})}function ls(s,t,e,n,r){try{const i=t&&n?n:r;s=re(s,new i(xn,e))}catch(i){if(t)s=re(s,new r(xn,e));else throw i}return s}function re(s,t){return s.pipeThrough(t)}const vi="message",Fi="start",Mi="pull",Tn="data",Ui="ack",Sn="close",Hi="deflate",fs="inflate";class Wi extends TransformStream{constructor(t,e){super({});const n=this,{codecType:r}=t;let i;r.startsWith(Hi)?i=ki:r.startsWith(fs)&&(i=Li),n.outputSize=0;let a=0;const o=new i(t,e),c=super.readable,h=new TransformStream({transform(m,w){m&&m.length&&(a+=m.length,w.enqueue(m))},flush(){Object.assign(n,{inputSize:a})}}),d=new TransformStream({transform(m,w){if(m&&m.length&&(w.enqueue(m),n.outputSize+=m.length,t.outputSize&&n.outputSize>t.outputSize))throw new Error(Rt)},flush(){const{signature:m}=o;Object.assign(n,{signature:m,inputSize:a})}});Object.defineProperty(n,"readable",{get(){return c.pipeThrough(h).pipeThrough(o).pipeThrough(d)}})}}class Bi 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 us=typeof Worker!=de;class it{constructor(t,{readable:e,writable:n},{options:r,config:i,streamOptions:a,useWebWorkers:o,transferStreams:c,scripts:h},d){const{signal:m}=a;return Object.assign(t,{busy:!0,readable:e.pipeThrough(new Bi(i.chunkSize)).pipeThrough(new ji(a),{signal:m}),writable:n,options:Object.assign({},r),scripts:h,transferStreams:c,terminate(){return new Promise(w=>{const{worker:T,busy:A}=t;T?(A?t.resolveTerminated=w:(T.terminate(),w()),t.interface=null):w()})},onTaskFinished(){const{resolveTerminated:w}=t;w&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),w()),t.busy=!1,d(t)}}),(o&&us?qi:ds)(t,i)}}class ji extends TransformStream{constructor({onstart:t,onprogress:e,size:n,onend:r}){let i=0;super({async start(){t&&await at(t,n)},async transform(a,o){i+=a.length,e&&await at(e,i,n),o.enqueue(a)},async flush(){r&&await at(r,i)}})}}async function at(s,...t){try{await s(...t)}catch{}}function ds(s,t){return{run:()=>Gi(s,t)}}function qi(s,t){const{baseURL:e,chunkSize:n}=t;if(!s.interface){let r;try{r=Zi(s.scripts[0],e,s)}catch{return us=!1,ds(s,t)}Object.assign(s,{worker:r,interface:{run:()=>Yi(s,{chunkSize:n})}})}return s.interface}async function Gi({options:s,readable:t,writable:e,onTaskFinished:n},r){let i;try{i=new Wi(s,r),await t.pipeThrough(i).pipeTo(e,{preventClose:!0,preventAbort:!0});const{signature:a,inputSize:o,outputSize:c}=i;return{signature:a,inputSize:o,outputSize:c}}catch(a){throw i&&(a.outputSize=i.outputSize),a}finally{n()}}async function Yi(s,t){let e,n;const r=new Promise((w,T)=>{e=w,n=T});Object.assign(s,{reader:null,writer:null,resolveResult:e,rejectResult:n,result:r});const{readable:i,options:a,scripts:o}=s,{writable:c,closed:h}=Vi(s.writable),d=qe({type:Fi,scripts:o.slice(1),options:a,config:t,readable:i,writable:c},s);d||Object.assign(s,{reader:i.getReader(),writer:c.getWriter()});const m=await r;return d||await c.getWriter().close(),await h,m}function Vi(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 Rn=!0,An=!0;function Zi(s,t,e){const n={type:"module"};let r,i;typeof s==Pe&&(s=s());try{r=new URL(s,t)}catch{r=s}if(Rn)try{i=new Worker(r)}catch{Rn=!1,i=new Worker(r,n)}else i=new Worker(r,n);return i.addEventListener(vi,a=>Ki(a,e)),i}function qe(s,{worker:t,writer:e,onTaskFinished:n,transferStreams:r}){try{const{value:i,readable:a,writable:o}=s,c=[];if(i&&(i.byteLength<i.buffer.byteLength?s.value=i.buffer.slice(0,i.byteLength):s.value=i.buffer,c.push(s.value)),r&&An?(a&&c.push(a),o&&c.push(o)):s.readable=s.writable=null,c.length)try{return t.postMessage(s,c),!0}catch{An=!1,s.readable=s.writable=null,t.postMessage(s)}else t.postMessage(s)}catch(i){throw e&&e.releaseLock(),n(),i}}async function Ki({data:s},t){const{type:e,value:n,messageId:r,result:i,error:a}=s,{reader:o,writer:c,resolveResult:h,rejectResult:d,onTaskFinished:m}=t;try{if(a){const{message:T,stack:A,code:u,name:l,outputSize:f}=a,p=new Error(T);Object.assign(p,{stack:A,code:u,name:l,outputSize:f}),w(p)}else{if(e==Mi){const{value:T,done:A}=await o.read();qe({type:Tn,value:T,done:A,messageId:r},t)}e==Tn&&(await c.ready,await c.write(new Uint8Array(n)),qe({type:Ui,messageId:r},t)),e==Sn&&w(null,i)}}catch(T){qe({type:Sn,messageId:r},t),w(T)}function w(T,A){T?d(T):h(A),c&&c.releaseLock(),m()}}let ue=[];const ot=[];let On=0;async function Xi(s,t){const{options:e,config:n}=t,{transferStreams:r,useWebWorkers:i,useCompressionStream:a,codecType:o,compressed:c,signed:h,encrypted:d}=e,{workerScripts:m,maxWorkers:w}=n;t.transferStreams=r||r===j;const T=!c&&!h&&!d&&!t.transferStreams;return t.useWebWorkers=!T&&(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 l=ue.find(f=>!f.busy);if(l)return dt(l),new it(l,s,t,u);if(ue.length<w){const f={indexWorker:On};return On++,ue.push(f),new it(f,s,t,u)}else return new Promise(f=>ot.push({resolve:f,stream:s,workerOptions:t}))}function u(l){if(ot.length){const[{resolve:f,stream:p,workerOptions:g}]=ot.splice(0,1);f(new it(l,p,g,u))}else l.worker?(dt(l),$i(l,t)):ue=ue.filter(f=>f!=l)}}function $i(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 dt(s){const{terminateTimeout:t}=s;t&&(clearTimeout(t),s.terminateTimeout=null)}async function Ji(){await Promise.allSettled(ue.map(s=>(dt(s),s.terminate())))}const _s="HTTP error ",Le="HTTP Range not supported",hs="Writer iterator completed too soon",ps="Writer not initialized",Qi="text/plain",zi="Content-Length",ea="Content-Range",ta="Accept-Ranges",na="Range",sa="Content-Type",ra="HEAD",At="GET",ms="bytes",ia=64*1024,Ot="writable";class Je{constructor(){this.size=0}init(){this.initialized=!0}}class _e extends Je{get readable(){const t=this,{chunkSize:e=ia}=t,n=new ReadableStream({start(){this.chunkOffset=0},async pull(r){const{offset:i=0,size:a,diskNumberStart:o}=n,{chunkOffset:c}=this,h=a===j?e:Math.min(e,a-c),d=await G(t,i+c,h,o);r.enqueue(d),c+e>a||a===j&&!d.length&&h?r.close():this.chunkOffset+=e}});return n}}class Ct extends Je{constructor(){super();const t=this,e=new WritableStream({write(n){if(!t.initialized)throw new Error(ps);return t.writeUint8Array(n)}});Object.defineProperty(t,Ot,{get(){return e}})}writeUint8Array(){}}class aa 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)),c=t-Math.floor(a/4)*3;let h=0;for(let d=c;d<c+e&&d<o.length;d++)i[d-c]=o.charCodeAt(d),h++;return h<i.length?i.subarray(0,h):i}}class oa 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 It 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 ws extends Je{constructor(t){super();const e=this,n=new TransformStream,r=[];t&&r.push([sa,t]),Object.defineProperty(e,Ot,{get(){return n.writable}}),e.blob=new Response(n.readable,{headers:r}).blob()}getData(){return this.blob}}class ca extends It{constructor(t){super(new Blob([t],{type:Qi}))}}class la extends ws{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 fa extends _e{constructor(t,e){super(),gs(this,t,e)}async init(){await bs(this,_t,Cn),super.init()}readUint8Array(t,e){return ys(this,t,e,_t,Cn)}}class ua extends _e{constructor(t,e){super(),gs(this,t,e)}async init(){await bs(this,ht,In),super.init()}readUint8Array(t,e){return ys(this,t,e,ht,In)}}function gs(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 bs(s,t,e){const{url:n,preventHeadRequest:r,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=s;if(pa(n)&&(i||a)&&(typeof r>"u"||r)){const c=await t(At,s,Es(s,o?-te:void 0));if(!a&&c.headers.get(ta)!=ms)throw new Error(Le);{o&&(s.eocdCache=new Uint8Array(await c.arrayBuffer()));let h;const d=c.headers.get(ea);if(d){const m=d.trim().split(/\s*\/\s*/);if(m.length){const w=m[1];w&&w!="*"&&(h=Number(w))}}h===j?await Nn(s,t,e):s.size=h}}else await Nn(s,t,e)}async function ys(s,t,e,n,r){const{useRangeHeader:i,forceRangeRequests:a,eocdCache:o,size:c,options:h}=s;if(i||a){if(o&&t==c-te&&e==te)return o;if(t>=c)return new Uint8Array;{t+e>c&&(e=c-t);const d=await n(At,s,Es(s,t,e));if(d.status!=206)throw new Error(Le);return new Uint8Array(await d.arrayBuffer())}}else{const{data:d}=s;return d||await r(s,h),new Uint8Array(s.data.subarray(t,t+e))}}function Es(s,t=0,e=1){return Object.assign({},Nt(s),{[na]:ms+"="+(t<0?t:t+"-"+(t+e-1))})}function Nt({options:s}){const{headers:t}=s;if(t)return Symbol.iterator in t?Object.fromEntries(t):t}async function Cn(s){await xs(s,_t)}async function In(s){await xs(s,ht)}async function xs(s,t){const e=await t(At,s,Nt(s));s.data=new Uint8Array(await e.arrayBuffer()),s.size||(s.size=s.data.length)}async function Nn(s,t,e){if(s.preventHeadRequest)await e(s,s.options);else{const r=(await t(ra,s,Nt(s))).headers.get(zi);r?s.size=Number(r):await e(s,s.options)}}async function _t(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(Le):new Error(_s+(r.statusText||r.status))}function ht(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 c=o.trim().split(/\s*:\s*/);c[0]=c[0].trim().replace(/^[a-z]|-[a-z]/g,h=>h.toUpperCase()),a.push(c)}),n({status:i.status,arrayBuffer:()=>i.response,headers:new Map(a)})}else r(i.status==416?new Error(Le):new Error(_s+(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 Ts extends _e{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR?new ua(t,e):new fa(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 da extends Ts{constructor(t,e={}){e.useRangeHeader=!0,super(t,e)}}class _a 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 ha 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 Dt 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 c=t;for(;i[o]&&c>=i[o].size;)c-=i[o].size,o++;const h=i[o];if(h){const d=h.size;if(c+e<=d)a=await G(h,c,e);else{const m=d-c;a=new Uint8Array(e);const w=await G(h,c,m);a.set(w,0);const T=await r.readUint8Array(t+m,e-m,n);a.set(T,m),w.length+T.length<e&&(a=a.subarray(0,w.length+T.length))}}else a=new Uint8Array;return r.lastDiskNumber=Math.max(o,r.lastDiskNumber),a}}class Ke extends Je{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 c(d.subarray(0,m)),await h(),n.diskOffset+=r.size,n.diskNumber++,a=null,await this.write(d.subarray(m))):await c(d);else{const{value:w,done:T}=await t.next();if(T&&!w)throw new Error(hs);r=w,r.size=0,r.maxSize&&(n.maxSize=r.maxSize),n.availableSize=n.maxSize,await De(r),i=w.writable,a=i.getWriter(),await this.write(d)}},async close(){await a.ready,await h()}});Object.defineProperty(n,Ot,{get(){return o}});async function c(d){const m=d.length;m&&(await a.ready,await a.write(d),r.size+=m,n.size+=m,n.availableSize-=m)}async function h(){await a.close()}}}class Ss{constructor(t){return Array.isArray(t)&&(t=new Dt(t)),t instanceof ReadableStream&&(t={readable:t}),t}}class Rs{constructor(t){return t.writable===j&&typeof t.next==Pe&&(t=new Ke(t)),t instanceof WritableStream&&(t={writable:t}),t.size===j&&(t.size=0),t instanceof Ke||Object.assign(t,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),t}}function pa(s){const{baseURL:t}=Vn(),{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 ma=Dt,wa=Ke,As="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),ga=As.length==256;function ba(s){if(ga){let t="";for(let e=0;e<s.length;e++)t+=As[s[e]];return t}else return new TextDecoder().decode(s)}function Ge(s,t){return t&&t.trim().toLowerCase()=="cp437"?ba(s):new TextDecoder(t).decode(s)}const Os="filename",Cs="rawFilename",Is="comment",Ns="rawComment",Ds="uncompressedSize",Ps="compressedSize",ks="offset",pt="diskNumberStart",mt="lastModDate",wt="rawLastModDate",Ls="lastAccessDate",ya="rawLastAccessDate",vs="creationDate",Ea="rawCreationDate",xa="internalFileAttribute",Ta="internalFileAttributes",Sa="externalFileAttribute",Ra="externalFileAttributes",Aa="msDosCompatible",Oa="zip64",Ca="encrypted",Ia="version",Na="versionMadeBy",Da="zipCrypto",Pa="directory",ka="executable",La="compressionMethod",va="signature",Fa="extraField",Ma=[Os,Cs,Ps,Ds,mt,wt,Is,Ns,Ls,vs,ks,pt,pt,xa,Ta,Sa,Ra,Aa,Oa,Ca,Ia,Na,Da,Pa,ka,La,va,Fa,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Dn{constructor(t){Ma.forEach(e=>this[e]=t[e])}}const Ua="filenameEncoding",Ha="commentEncoding",Wa="decodeText",Ba="extractPrependedData",ja="extractAppendedData",qa="password",Ga="rawPassword",Ya="passThrough",Va="signal",Za="checkPasswordOnly",Ka="checkOverlappingEntryOnly",Xa="checkOverlappingEntry",$a="checkSignature",Ja="useWebWorkers",Qa="useCompressionStream",za="transferStreams",eo="preventClose",Ye="File format is not recognized",Fs="End of central directory not found",Ms="End of Zip64 central directory locator not found",Us="Central directory header not found",Hs="Local file header not found",Ws="Zip64 extra field not found",Bs="File contains encrypted entry",js="Encryption method not supported",gt="Compression method not supported",bt="Split zip file",qs="Overlapping entry found",Pn="utf-8",kn="cp437",to=[[Ds,pe],[Ps,pe],[ks,pe],[pt,le]],no={[le]:{getValue:H,bytes:4},[pe]:{getValue:ye,bytes:8}};class Gs{constructor(t,e={}){Object.assign(this,{reader:new Ss(t),options:e,config:Vn(),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 It(await new Response(n.readable).blob()),await De(n)),n.size<te)throw new Error(Ye);n.chunkSize=fi(r);const i=await fo(n,qr,n.size,te,le*16);if(!i){const x=await G(n,0,4),S=B(x);throw H(S)==Gn?new Error(bt):new Error(Fs)}const a=B(i);let o=H(a,12),c=H(a,16);const h=i.offset,d=Y(a,20),m=h+te+d;let w=Y(a,4);const T=n.lastDiskNumber||0;let A=Y(a,6),u=Y(a,8),l=0,f=0;if(c==pe||o==pe||u==le||A==le){const x=await G(n,i.offset-nt,nt),S=B(x);if(H(S,0)==Gr){c=ye(S,8);let I=await G(n,c,st,-1),R=B(I);const D=i.offset-nt-st;if(H(R,0)!=ln&&c!=D){const k=c;c=D,c>k&&(l=c-k),I=await G(n,c,st,-1),R=B(I)}if(H(R,0)!=ln)throw new Error(Ms);w==le&&(w=H(R,16)),A==le&&(A=H(R,20)),u==le&&(u=ye(R,32)),o==pe&&(o=ye(R,40)),c-=o}}if(c>=n.size&&(l=n.size-c-o-te,c=n.size-o-te),T!=w)throw new Error(bt);if(c<0)throw new Error(Ye);let p=0,g=await G(n,c,o,A),C=B(g);if(o){const x=i.offset-o;if(H(C,p)!=cn&&c!=x){const S=c;c=x,c>S&&(l+=c-S),g=await G(n,c,o,A),C=B(g)}}const O=i.offset-c-(n.lastDiskOffset||0);if(o!=O&&O>=0&&(o=O,g=await G(n,c,o,A),C=B(g)),c<0||c>=n.size)throw new Error(Ye);const b=V(e,t,Ua),_=V(e,t,Ha);for(let x=0;x<u;x++){const S=new ro(n,r,e.options);if(H(C,p)!=cn)throw new Error(Us);Ys(S,C,p+6);const I=!!S.bitFlag.languageEncodingFlag,R=p+46,D=R+S.filenameLength,k=D+S.extraFieldLength,P=Y(C,p+4),U=P>>8==0,F=P>>8==3,q=g.subarray(R,D),N=Y(C,p+32),K=k+N,L=g.subarray(k,K),M=I,ve=I,xe=H(C,p+38),ee=U&&(be(C,p+38)&hn)==hn||F&&(xe>>16&ni)==si||q.length&&q.at(-1)==pn.charCodeAt(0),Q=F&&(xe>>16&ri)!=0,Pt=H(C,p+42)+l;Object.assign(S,{versionMadeBy:P,msDosCompatible:U,compressedSize:0,uncompressedSize:0,commentLength:N,directory:ee,offset:Pt,diskNumberStart:Y(C,p+34),internalFileAttributes:Y(C,p+36),externalFileAttributes:xe,rawFilename:q,filenameUTF8:M,commentUTF8:ve,rawExtraField:g.subarray(D,k),executable:Q}),S.internalFileAttribute=S.internalFileAttributes,S.externalFileAttribute=S.externalFileAttributes;const kt=V(e,t,Wa)||Ge,Lt=M?Pn:b||kn,vt=ve?Pn:_||kn;let Fe=kt(q,Lt);Fe===j&&(Fe=Ge(q,Lt));let Qe=kt(L,vt);Qe===j&&(Qe=Ge(L,vt)),Object.assign(S,{rawComment:L,filename:Fe,comment:Qe,directory:ee||Fe.endsWith(pn)}),f=Math.max(Pt,f),Vs(S,S,C,p+6),S.zipCrypto=S.encrypted&&!S.extraFieldAES;const Te=new Dn(S);Te.getData=(Me,Ue)=>S.getData(Me,Te,e.readRanges,Ue),Te.arrayBuffer=async Me=>{const Ue=new TransformStream,[Ks]=await Promise.all([new Response(Ue.readable).arrayBuffer(),S.getData(Ue,Te,e.readRanges,Me)]);return Ks},p=K;const{onprogress:Ft}=t;if(Ft)try{await Ft(x+1,u,new Dn(S))}catch{}yield Te}const E=V(e,t,Ba),y=V(e,t,ja);return E&&(e.prependedData=f>0?await G(n,0,f):new Uint8Array),e.comment=d?await G(n,h+te,d):new Uint8Array,y&&(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 so{constructor(t={}){const{readable:e,writable:n}=new TransformStream,r=new Gs(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(i){const{done:a,value:o}=await r.next();if(a)return i.close();const c={...o,readable:(function(){const{readable:h,writable:d}=new TransformStream;if(o.getData)return o.getData(d),h})()};delete c.getData,i.enqueue(c)}}),this.writable=n}}class ro{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:c,extraFieldAES:h,extraFieldZip64:d,compressionMethod:m,config:w,bitFlag:T,signature:A,rawLastModDate:u,uncompressedSize:l,compressedSize:f}=i,{dataDescriptor:p}=T,g=e.localDirectory={},C=await G(a,o,rt,c),O=B(C);let b=V(i,r,qa),_=V(i,r,Ga);const E=V(i,r,Ya);if(b=b&&b.length&&b,_=_&&_.length&&_,h&&h.originalCompressionMethod!=Wr)throw new Error(gt);if(m!=Hr&&m!=Ur&&!E)throw new Error(gt);if(H(O,0)!=Br)throw new Error(Hs);Ys(g,O,4);const{extraFieldLength:y,filenameLength:x,lastAccessDate:S,creationDate:I}=g;g.rawExtraField=y?await G(a,o+rt+x,y,c):new Uint8Array,Vs(i,g,O,4,!0),Object.assign(e,{lastAccessDate:S,creationDate:I});const R=i.encrypted&&g.encrypted&&!E,D=R&&!h;if(E||(e.zipCrypto=D),R){if(!D&&h.strength===j)throw new Error(js);if(!b&&!_)throw new Error(Bs)}const k=o+rt+x+y,P=f,U=a.readable;Object.assign(U,{diskNumberStart:c,offset:k,size:P});const F=V(i,r,Va),q=V(i,r,Za);let N=V(i,r,Xa);const K=V(i,r,Ka);K&&(N=!0);const{onstart:L,onprogress:M,onend:ve}=r,xe={options:{codecType:fs,password:b,rawPassword:_,zipCrypto:D,encryptionStrength:h&&h.strength,signed:V(i,r,$a)&&!E,passwordVerification:D&&(p?u>>>8&255:A>>>24&255),outputSize:l,signature:A,compressed:m!=0&&!E,encrypted:i.encrypted&&!E,useWebWorkers:V(i,r,Ja),useCompressionStream:V(i,r,Qa),transferStreams:V(i,r,za),checkPasswordOnly:q},config:w,streamOptions:{signal:F,size:P,onstart:L,onprogress:M,onend:ve}};N&&await lo({reader:a,fileEntry:e,offset:o,diskNumberStart:c,signature:A,compressedSize:f,uncompressedSize:l,dataOffset:k,dataDescriptor:p||g.bitFlag.dataDescriptor,extraFieldZip64:d||g.extraFieldZip64,readRanges:n});let ee;try{if(!K){q&&(t=new WritableStream),t=new Rs(t),await De(t,E?f:l),{writable:ee}=t;const{outputSize:Q}=await Xi({readable:U,writable:ee},xe);if(t.size+=Q,Q!=(E?f:l))throw new Error(Rt)}}catch(Q){if(Q.outputSize!==j&&(t.size+=Q.outputSize),!q||Q.message!=xt)throw Q}finally{!V(i,r,eo)&&ee&&!ee.locked&&await ee.getWriter().close()}return q||K?j:t.getData?t.getData():ee}}function Ys(s,t,e){const n=s.rawBitFlag=Y(t,e+2),r=(n&un)==un,i=H(t,e+6);Object.assign(s,{encrypted:r,version:Y(t,e),bitFlag:{level:(n&ti)>>1,dataDescriptor:(n&dn)==dn,languageEncodingFlag:(n&_n)==_n},rawLastModDate:i,lastModDate:uo(i),filenameLength:Y(t,e+22),extraFieldLength:Y(t,e+24)})}function Vs(s,t,e,n,r){const{rawExtraField:i}=t,a=t.extraField=new Map,o=B(new Uint8Array(i));let c=0;try{for(;c<i.length;){const f=Y(o,c),p=Y(o,c+2);a.set(f,{type:f,data:i.slice(c+4,c+4+p)}),c+=4+p}}catch{}const h=Y(e,n+4);Object.assign(t,{signature:H(e,n+ii),compressedSize:H(e,n+ai),uncompressedSize:H(e,n+oi)});const d=a.get(Zr);d&&(io(d,t),t.extraFieldZip64=d);const m=a.get(Qr);m&&(Ln(m,Os,Cs,t,s),t.extraFieldUnicodePath=m);const w=a.get(zr);w&&(Ln(w,Is,Ns,t,s),t.extraFieldUnicodeComment=w);const T=a.get(Kr);T?(ao(T,t,h),t.extraFieldAES=T):t.compressionMethod=h;const A=a.get(Xr);A&&(oo(A,t),t.extraFieldNTFS=A);const u=a.get(Jr);u&&(co(u,t,r),t.extraFieldExtendedTimestamp=u);const l=a.get(ei);l&&(t.extraFieldUSDZ=l)}function io(s,t){t.zip64=!0;const e=B(s.data),n=to.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 c=no[o];t[a]=s[a]=c.getValue(e,i),i+=c.bytes}else if(s[a])throw new Error(Ws)}}function Ln(s,t,e,n,r){const i=B(s.data),a=new Ve;a.append(r[e]);const o=B(new Uint8Array(4));o.setUint32(0,a.get(),!0);const c=H(i,1);Object.assign(s,{version:be(i,0),[t]:Ge(s.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&c==H(o,0)}),s.valid&&(n[t]=s[t],n[t+"UTF8"]=!0)}function ao(s,t,e){const n=B(s.data),r=be(n,4);Object.assign(s,{vendorVersion:be(n,0),vendorId:be(n,2),strength:r,originalCompressionMethod:e,compressionMethod:Y(n,5)}),t.compressionMethod=s.compressionMethod}function oo(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==$r&&(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),c=i.getBigUint64(16,!0);Object.assign(s,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:c});const h=ct(a),d=ct(o),m=ct(c),w={lastModDate:h,lastAccessDate:d,creationDate:m};Object.assign(s,w),Object.assign(t,w)}}catch{}}function co(s,t,e){const n=B(s.data),r=be(n,0),i=[],a=[];e?((r&1)==1&&(i.push(mt),a.push(wt)),(r&2)==2&&(i.push(Ls),a.push(ya)),(r&4)==4&&(i.push(vs),a.push(Ea))):s.data.length>=5&&(i.push(mt),a.push(wt));let o=1;i.forEach((c,h)=>{if(s.data.length>=o+4){const d=H(n,o);t[c]=s[c]=new Date(d*1e3);const m=a[h];s[m]=d}o+=4})}async function lo({reader:s,fileEntry:t,offset:e,diskNumberStart:n,signature:r,compressedSize:i,uncompressedSize:a,dataOffset:o,dataDescriptor:c,extraFieldZip64:h,readRanges:d}){let m=0;if(n)for(let A=0;A<n;A++){const u=s.readers[A];m+=u.size}let w=0;if(c&&(h?w=Vr:w=Yr),w){const A=await G(s,o+i,w+fn,n);if(H(B(A),0)==jr){const l=H(B(A),4);let f,p;h?(f=ye(B(A),8),p=ye(B(A),16)):(f=H(B(A),8),p=H(B(A),12)),(t.encrypted&&!t.zipCrypto||l==r)&&f==i&&p==a&&(w+=fn)}}const T={start:m+e,end:m+o+i+w,fileEntry:t};for(const A of d)if(A.fileEntry!=t&&T.start>=A.start&&T.start<A.end){const u=new Error(qs);throw u.overlappingEntry=A.fileEntry,u}d.push(T)}async function fo(s,t,e,n,r){const i=new Uint8Array(4),a=B(i);_o(a,0,t);const o=n+r;return await c(n)||await c(Math.min(o,e));async function c(h){const d=e-h,m=await G(s,d,h);for(let w=m.length-n;w>=0;w--)if(m[w]==i[0]&&m[w+1]==i[1]&&m[w+2]==i[2]&&m[w+3]==i[3])return{offset:d+w,buffer:m.slice(w,w+n).buffer}}}function V(s,t,e){return t[e]===j?s.options[e]:t[e]}function uo(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 ct(s){return new Date(Number(s/BigInt(1e4)-BigInt(116444736e5)))}function be(s,t){return s.getUint8(t)}function Y(s,t){return s.getUint16(t,!0)}function H(s,t){return s.getUint32(t,!0)}function ye(s,t){return Number(s.getBigUint64(t,!0))}function _o(s,t,e){s.setUint32(t,e,!0)}function B(s){return new DataView(s.buffer)}Zn({Inflate:Mr});const ho=Object.freeze(Object.defineProperty({__proto__:null,BlobReader:It,BlobWriter:ws,Data64URIReader:aa,Data64URIWriter:oa,ERR_BAD_FORMAT:Ye,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Us,ERR_ENCRYPTED:Bs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Ms,ERR_EOCDR_NOT_FOUND:Fs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Ws,ERR_HTTP_RANGE:Le,ERR_INVALID_PASSWORD:yt,ERR_INVALID_SIGNATURE:Et,ERR_INVALID_UNCOMPRESSED_SIZE:Rt,ERR_ITERATOR_COMPLETED_TOO_SOON:hs,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Hs,ERR_OVERLAPPING_ENTRY:qs,ERR_SPLIT_ZIP_FILE:bt,ERR_UNSUPPORTED_COMPRESSION:gt,ERR_UNSUPPORTED_ENCRYPTION:js,ERR_WRITER_NOT_INITIALIZED:ps,GenericReader:Ss,GenericWriter:Rs,HttpRangeReader:da,HttpReader:Ts,Reader:_e,SplitDataReader:Dt,SplitDataWriter:Ke,SplitZipReader:ma,SplitZipWriter:wa,TextReader:ca,TextWriter:la,Uint8ArrayReader:_a,Uint8ArrayWriter:ha,Writer:Ct,ZipReader:Gs,ZipReaderStream:so,configure:Zn,getMimeType:ui,initStream:De,readUint8Array:G,terminateWorkers:Ji},Symbol.toStringTag,{value:"Module"})),Ae=ho;class po{constructor(t,e){Ae.configure({baseURL:self.location.href}),this._zipReader=new Ae.ZipReader(new Ae.HttpReader(this._resolveTraceURI(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})}_resolveTraceURI(t){return t.startsWith("https://www.dropbox.com/")?"https://dl.dropboxusercontent.com/"+t.substring(24):t}isLive(){return!1}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 mo{constructor(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}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(t);if(e.status!==404)return e}}self.addEventListener("install",function(s){self.skipWaiting()});self.addEventListener("activate",function(s){s.waitUntil(self.clients.claim())});const wo=new URL(self.registration.scope).pathname,Ee=new Map,Xe=new Map,vn=self.registration.scope.startsWith("https://");function go(){Ee.clear(),Xe.clear()}async function Fn(s,t,e){try{return{loadedTrace:await Zs(s,t,e)}}catch(n){return{errorResponse:new Response(JSON.stringify({error:n==null?void 0:n.message}),{status:500,headers:{"Content-Type":"application/json"}})}}}function Zs(s,t,e){const n=t.searchParams.get("trace");if(!n)throw new Error("trace parameter is missing");Xe.set(s,n);const r=Ee.get(n);if(r)return r;const i=bo(n,e);return Ee.set(n,i),i.catch(()=>Ee.delete(n)),i}async function bo(s,t){var r;await xo();const e=new pr;try{const[i,a]=wr(t,[.5,.4,.1]),o=So(s)||s.endsWith("traces.dir")?new mo(s):new po(s,i);await e.load(o,void 0,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 Bn)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 Xs(e.storage(),i=>e.resourceForSha1(i));return{traceLoader:e,snapshotServer:n}}async function yo(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(wo.length-1)),n==="/restartServiceWorker")return go(),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 Fn(s.resultingClientId,e,To);if(a)return a;const c=n.substring(10),h=o.snapshotServer.serveSnapshot(c,e.searchParams,e.href);return vn&&h.headers.set("Content-Security-Policy","upgrade-insecure-requests"),h}return fetch(s.request)}if(!n){if(!i)return new Response("Sub-resource without a client",{status:500});const{snapshotServer:a}=await Zs(i.id,new URL(i.url),Mn(i));if(!a)return new Response(null,{status:404});const o=[t.url];return vn&&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{errorResponse:a,loadedTrace:o}=await Fn(i.id,e,Mn(i));if(a)return a;if(n==="/contexts")return new Response(JSON.stringify(o.traceLoader.contextEntries),{status:200,headers:{"Content-Type":"application/json"}});if(n.startsWith("/snapshotInfo/")){const c=n.substring(14);return o.snapshotServer.serveSnapshotInfo(c,e.searchParams)}if(n.startsWith("/closest-screenshot/")){const c=n.substring(20);return o.snapshotServer.serveClosestScreenshot(c,e.searchParams)}if(n.startsWith("/sha1/")){const c=await o.traceLoader.resourceForSha1(n.slice(6));return c?new Response(c,{status:200,headers:Eo(e.searchParams)}):new Response(null,{status:404})}}return fetch(s.request)}function Eo(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 xo(){const s=await self.clients.matchAll(),t=new Set;for(const[e,n]of Xe){if(!s.find(r=>r.id===e)){Xe.delete(e);continue}t.add(n)}for(const e of Ee.keys())t.has(e)||Ee.delete(e)}function Mn(s){return(t,e)=>{s.postMessage({method:"progress",params:{done:t,total:e}})}}function To(s,t){}function So(s){const e=new URL(s,"http://localhost").searchParams.get("path");return!!(e!=null&&e.endsWith(".json"))}self.addEventListener("fetch",function(s){if(s.request.headers.get("x-pw-serviceworker")==="skip")return!1;s.respondWith(yo(s))});