@browserless.io/browserless 2.2.0-beta-6 → 2.2.0

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 (1313) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/bin/browserless.js +1 -1
  3. package/bin/scaffold/README.md +8 -7
  4. package/build/browserless.js +7 -6
  5. package/build/browsers/chrome.cdp.d.ts +6 -0
  6. package/build/browsers/chrome.cdp.js +6 -0
  7. package/build/browsers/chrome.playwright.d.ts +6 -0
  8. package/build/browsers/chrome.playwright.js +6 -0
  9. package/build/browsers/{cdp-chromium.d.ts → chromium.cdp.d.ts} +3 -2
  10. package/build/browsers/{cdp-chromium.js → chromium.cdp.js} +16 -10
  11. package/build/browsers/{playwright-chromium.d.ts → chromium.playwright.d.ts} +3 -2
  12. package/build/browsers/{playwright-chromium.js → chromium.playwright.js} +6 -5
  13. package/build/browsers/{playwright-firefox.d.ts → firefox.playwright.d.ts} +2 -2
  14. package/build/browsers/{playwright-firefox.js → firefox.playwright.js} +4 -4
  15. package/build/browsers/index.d.ts +20 -10
  16. package/build/browsers/index.js +110 -11
  17. package/build/browsers/{playwright-webkit.d.ts → webkit.playwright.d.ts} +2 -2
  18. package/build/browsers/{playwright-webkit.js → webkit.playwright.js} +4 -4
  19. package/build/data/selectors.json +1 -1
  20. package/build/exports.d.ts +6 -4
  21. package/build/exports.js +6 -4
  22. package/build/http.d.ts +22 -1
  23. package/build/http.js +21 -0
  24. package/build/router.js +19 -3
  25. package/build/routes/{chromium/http/content-post.body.json → chrome/http/content.post.body.json} +8 -8
  26. package/build/routes/chrome/http/content.post.d.ts +7 -0
  27. package/build/routes/chrome/http/content.post.js +6 -0
  28. package/build/routes/chrome/http/download.post.d.ts +7 -0
  29. package/build/routes/chrome/http/download.post.js +6 -0
  30. package/build/routes/chrome/http/function.post.d.ts +7 -0
  31. package/build/routes/chrome/http/function.post.js +6 -0
  32. package/build/routes/chrome/http/json-list.get.d.ts +1 -0
  33. package/build/routes/chrome/http/json-list.get.js +1 -0
  34. package/build/routes/chrome/http/json-new.put.d.ts +1 -0
  35. package/build/routes/chrome/http/json-new.put.js +1 -0
  36. package/build/routes/chrome/http/json-protocol.get.d.ts +1 -0
  37. package/build/routes/chrome/http/json-protocol.get.js +1 -0
  38. package/build/routes/chrome/http/json-version.get.d.ts +1 -0
  39. package/build/routes/chrome/http/json-version.get.js +1 -0
  40. package/build/routes/chrome/http/json-version.get.response.json +44 -0
  41. package/build/routes/{chromium/http/pdf-post.body.json → chrome/http/pdf.post.body.json} +8 -8
  42. package/build/routes/chrome/http/pdf.post.d.ts +7 -0
  43. package/build/routes/chrome/http/pdf.post.js +6 -0
  44. package/build/routes/chrome/http/performance.post.d.ts +7 -0
  45. package/build/routes/chrome/http/performance.post.js +6 -0
  46. package/build/routes/{chromium/http/scrape-post.body.json → chrome/http/scrape.post.body.json} +8 -8
  47. package/build/routes/chrome/http/scrape.post.d.ts +7 -0
  48. package/build/routes/chrome/http/scrape.post.js +6 -0
  49. package/build/routes/{chromium/http/screenshot-post.body.json → chrome/http/screenshot.post.body.json} +8 -8
  50. package/build/routes/chrome/http/screenshot.post.d.ts +7 -0
  51. package/build/routes/chrome/http/screenshot.post.js +6 -0
  52. package/build/routes/chrome/tests/content.spec.js +311 -0
  53. package/build/routes/chrome/tests/download.spec.js +67 -0
  54. package/build/routes/chrome/tests/function.spec.d.ts +1 -0
  55. package/build/routes/chrome/tests/function.spec.js +245 -0
  56. package/build/routes/chrome/tests/json-version.spec.d.ts +1 -0
  57. package/build/routes/chrome/tests/json-version.spec.js +37 -0
  58. package/build/routes/chrome/tests/page-websocket.spec.d.ts +1 -0
  59. package/build/routes/chrome/tests/page-websocket.spec.js +97 -0
  60. package/build/routes/chrome/tests/pdf.spec.d.ts +1 -0
  61. package/build/routes/chrome/tests/pdf.spec.js +333 -0
  62. package/build/routes/chrome/tests/performance.spec.d.ts +1 -0
  63. package/build/routes/chrome/tests/performance.spec.js +124 -0
  64. package/build/routes/chrome/tests/scrape.spec.d.ts +1 -0
  65. package/build/routes/chrome/tests/scrape.spec.js +354 -0
  66. package/build/routes/chrome/tests/screenshot.spec.d.ts +1 -0
  67. package/build/routes/chrome/tests/screenshot.spec.js +339 -0
  68. package/build/routes/chrome/tests/websocket.spec.d.ts +1 -0
  69. package/build/routes/chrome/tests/websocket.spec.js +371 -0
  70. package/build/routes/chrome/ws/browser.d.ts +6 -0
  71. package/build/routes/chrome/ws/browser.js +5 -0
  72. package/build/routes/chrome/ws/cdp.d.ts +7 -0
  73. package/build/routes/chrome/ws/cdp.js +6 -0
  74. package/build/routes/chrome/ws/cdp.query.json +120 -0
  75. package/build/routes/chrome/ws/page.d.ts +6 -0
  76. package/build/routes/chrome/ws/page.js +5 -0
  77. package/build/routes/chrome/ws/page.query.json +120 -0
  78. package/build/routes/chrome/ws/playwright.d.ts +7 -0
  79. package/build/routes/chrome/ws/playwright.js +6 -0
  80. package/build/routes/chromium/http/content.post.body.json +510 -0
  81. package/build/routes/chromium/http/content.post.d.ts +1 -0
  82. package/build/routes/chromium/http/content.post.js +1 -0
  83. package/build/routes/chromium/http/content.post.query.json +183 -0
  84. package/build/routes/chromium/http/content.post.response.json +5 -0
  85. package/build/routes/chromium/http/download.post.body.json +32 -0
  86. package/build/routes/chromium/http/download.post.d.ts +1 -0
  87. package/build/routes/chromium/http/download.post.js +1 -0
  88. package/build/routes/chromium/http/download.post.query.json +120 -0
  89. package/build/routes/chromium/http/download.post.response.json +4 -0
  90. package/build/routes/chromium/http/function.post.body.json +32 -0
  91. package/build/routes/chromium/http/function.post.d.ts +1 -0
  92. package/build/routes/chromium/http/function.post.js +1 -0
  93. package/build/routes/chromium/http/function.post.query.json +120 -0
  94. package/build/routes/chromium/http/function.post.response.json +4 -0
  95. package/build/routes/chromium/http/json-list.get.d.ts +1 -0
  96. package/build/routes/chromium/http/json-list.get.js +1 -0
  97. package/build/routes/chromium/http/json-list.get.response.json +52 -0
  98. package/build/routes/chromium/http/json-new.put.d.ts +1 -0
  99. package/build/routes/chromium/http/json-new.put.js +1 -0
  100. package/build/routes/chromium/http/json-new.put.response.json +44 -0
  101. package/build/routes/chromium/http/json-protocol.get.d.ts +1 -0
  102. package/build/routes/chromium/http/json-protocol.get.js +1 -0
  103. package/build/routes/chromium/http/json-protocol.get.response.json +6 -0
  104. package/build/routes/chromium/http/json-version.get.d.ts +1 -0
  105. package/build/routes/chromium/http/json-version.get.js +1 -0
  106. package/build/routes/chromium/http/json-version.get.response.json +44 -0
  107. package/build/routes/chromium/http/pdf.post.body.json +654 -0
  108. package/build/routes/chromium/http/pdf.post.d.ts +1 -0
  109. package/build/routes/chromium/http/pdf.post.js +1 -0
  110. package/build/routes/chromium/http/pdf.post.query.json +120 -0
  111. package/build/routes/chromium/http/pdf.post.response.json +5 -0
  112. package/build/routes/chromium/http/performance.post.body.json +26 -0
  113. package/build/routes/chromium/http/performance.post.d.ts +1 -0
  114. package/build/routes/chromium/http/performance.post.js +1 -0
  115. package/build/routes/chromium/http/performance.post.query.json +120 -0
  116. package/build/routes/chromium/http/performance.post.response.json +7 -0
  117. package/build/routes/chromium/http/scrape.post.body.json +557 -0
  118. package/build/routes/chromium/http/scrape.post.d.ts +1 -0
  119. package/build/routes/chromium/http/scrape.post.js +1 -0
  120. package/build/routes/chromium/http/scrape.post.query.json +183 -0
  121. package/build/routes/chromium/http/scrape.post.response.json +309 -0
  122. package/build/routes/chromium/http/screenshot.post.body.json +600 -0
  123. package/build/routes/chromium/http/screenshot.post.d.ts +1 -0
  124. package/build/routes/chromium/http/screenshot.post.js +1 -0
  125. package/build/routes/chromium/http/screenshot.post.query.json +120 -0
  126. package/build/routes/chromium/http/screenshot.post.response.json +5 -0
  127. package/build/routes/chromium/tests/content.spec.js +16 -16
  128. package/build/routes/chromium/tests/download.spec.js +3 -3
  129. package/build/routes/chromium/tests/function.spec.js +10 -10
  130. package/build/routes/chromium/tests/page-websocket.spec.d.ts +1 -0
  131. package/build/routes/chromium/tests/page-websocket.spec.js +97 -0
  132. package/build/routes/chromium/tests/pdf.spec.js +16 -16
  133. package/build/routes/chromium/tests/performance.spec.js +7 -7
  134. package/build/routes/chromium/tests/scrape.spec.js +15 -15
  135. package/build/routes/chromium/tests/screenshot.spec.js +17 -17
  136. package/build/routes/chromium/tests/websocket.spec.js +31 -37
  137. package/build/routes/chromium/ws/browser.d.ts +1 -16
  138. package/build/routes/chromium/ws/browser.js +1 -10
  139. package/build/routes/chromium/ws/cdp.d.ts +1 -0
  140. package/build/routes/chromium/ws/cdp.js +1 -0
  141. package/build/routes/chromium/ws/cdp.query.json +120 -0
  142. package/build/routes/chromium/ws/page.d.ts +1 -16
  143. package/build/routes/chromium/ws/page.js +1 -10
  144. package/build/routes/chromium/ws/playwright.d.ts +1 -0
  145. package/build/routes/chromium/ws/playwright.js +1 -0
  146. package/build/routes/firefox/ws/{playwright-firefox.d.ts → playwright.d.ts} +5 -5
  147. package/build/routes/firefox/ws/{playwright-firefox.js → playwright.js} +4 -4
  148. package/build/routes/management/http/{sessions-get.response.json → sessions.get.response.json} +11 -1
  149. package/build/routes/management/http/{static-get.js → static.get.js} +2 -2
  150. package/build/routes/webkit/ws/{playwright-webkit.d.ts → playwright.d.ts} +5 -5
  151. package/build/routes/webkit/ws/{playwright-webkit.js → playwright.js} +4 -4
  152. package/build/routes/webkit/ws/playwright.query.json +100 -0
  153. package/build/{routes/chromium/ws/cdp-chromium.d.ts → shared/browser.ws.d.ts} +4 -4
  154. package/build/shared/browser.ws.js +12 -0
  155. package/build/{routes/chromium/ws/playwright-chromium.d.ts → shared/chromium.playwright.ws.d.ts} +4 -4
  156. package/build/{routes/chromium/ws/playwright-chromium.js → shared/chromium.playwright.ws.js} +6 -3
  157. package/build/shared/chromium.ws.d.ts +16 -0
  158. package/build/shared/chromium.ws.js +10 -0
  159. package/build/{routes/chromium/http/content-post.d.ts → shared/content.http.d.ts} +3 -3
  160. package/build/{routes/chromium/http/content-post.js → shared/content.http.js} +3 -3
  161. package/build/{routes/chromium/http/download-post.d.ts → shared/download.http.d.ts} +3 -3
  162. package/build/{routes/chromium/http/download-post.js → shared/download.http.js} +4 -4
  163. package/build/{routes/chromium/http/function-post.d.ts → shared/function.http.d.ts} +3 -3
  164. package/build/{routes/chromium/http/function-post.js → shared/function.http.js} +4 -4
  165. package/build/{routes/chromium/http/json-new.d.ts → shared/json-list.http.d.ts} +2 -3
  166. package/build/{routes/chromium/http/json-list.js → shared/json-list.http.js} +5 -8
  167. package/build/{routes/chromium/http/json-list.d.ts → shared/json-new.http.d.ts} +2 -3
  168. package/build/shared/json-new.http.js +34 -0
  169. package/build/{routes/chromium/http/json-protocol-get.js → shared/json-protocol.http.js} +2 -2
  170. package/build/{routes/chromium/http/json-version-get.js → shared/json-version.http.js} +3 -3
  171. package/build/shared/page.ws.d.ts +16 -0
  172. package/build/shared/page.ws.js +13 -0
  173. package/build/{routes/chromium/http/pdf-post.d.ts → shared/pdf.http.d.ts} +3 -3
  174. package/build/{routes/chromium/http/pdf-post.js → shared/pdf.http.js} +3 -3
  175. package/build/{routes/chromium/http/performance.d.ts → shared/performance.http.d.ts} +3 -3
  176. package/build/{routes/chromium/http/performance.js → shared/performance.http.js} +4 -4
  177. package/build/{routes/chromium/http/scrape-post.d.ts → shared/scrape.http.d.ts} +3 -3
  178. package/build/{routes/chromium/http/scrape-post.js → shared/scrape.http.js} +3 -3
  179. package/build/{routes/chromium/http/screenshot-post.d.ts → shared/screenshot.http.d.ts} +3 -3
  180. package/build/{routes/chromium/http/screenshot-post.js → shared/screenshot.http.js} +3 -3
  181. package/build/shared/utils/performance/child.d.ts +1 -0
  182. package/build/{routes/chromium → shared}/utils/performance/main.js +1 -1
  183. package/build/shared/utils/performance/types.js +1 -0
  184. package/build/shim.js +2 -1
  185. package/build/types.d.ts +10 -8
  186. package/build/utils.d.ts +8 -3
  187. package/build/utils.js +24 -11
  188. package/docker/base/Dockerfile +1 -1
  189. package/docker/chrome/Dockerfile +4 -4
  190. package/docker/chromium/.dockerignore +16 -0
  191. package/docker/chromium/Dockerfile +40 -0
  192. package/docker/firefox/Dockerfile +1 -1
  193. package/docker/multi/Dockerfile +13 -1
  194. package/docker/webkit/Dockerfile +1 -1
  195. package/extensions/ublock/3p-filters.html +1 -1
  196. package/extensions/ublock/_locales/ar/messages.json +4 -0
  197. package/extensions/ublock/_locales/az/messages.json +4 -0
  198. package/extensions/ublock/_locales/be/messages.json +4 -0
  199. package/extensions/ublock/_locales/bg/messages.json +5 -1
  200. package/extensions/ublock/_locales/bn/messages.json +4 -0
  201. package/extensions/ublock/_locales/br_FR/messages.json +6 -2
  202. package/extensions/ublock/_locales/bs/messages.json +4 -0
  203. package/extensions/ublock/_locales/ca/messages.json +4 -0
  204. package/extensions/ublock/_locales/cs/messages.json +4 -0
  205. package/extensions/ublock/_locales/cv/messages.json +4 -0
  206. package/extensions/ublock/_locales/cy/messages.json +1294 -0
  207. package/extensions/ublock/_locales/da/messages.json +4 -0
  208. package/extensions/ublock/_locales/de/messages.json +5 -1
  209. package/extensions/ublock/_locales/el/messages.json +4 -0
  210. package/extensions/ublock/_locales/en/messages.json +4 -0
  211. package/extensions/ublock/_locales/en_GB/messages.json +4 -0
  212. package/extensions/ublock/_locales/eo/messages.json +9 -5
  213. package/extensions/ublock/_locales/es/messages.json +4 -0
  214. package/extensions/ublock/_locales/et/messages.json +4 -0
  215. package/extensions/ublock/_locales/eu/messages.json +8 -4
  216. package/extensions/ublock/_locales/fa/messages.json +4 -0
  217. package/extensions/ublock/_locales/fi/messages.json +4 -0
  218. package/extensions/ublock/_locales/fil/messages.json +4 -0
  219. package/extensions/ublock/_locales/fr/messages.json +4 -0
  220. package/extensions/ublock/_locales/fy/messages.json +4 -0
  221. package/extensions/ublock/_locales/gl/messages.json +4 -0
  222. package/extensions/ublock/_locales/gu/messages.json +4 -0
  223. package/extensions/ublock/_locales/he/messages.json +4 -0
  224. package/extensions/ublock/_locales/hi/messages.json +4 -0
  225. package/extensions/ublock/_locales/hr/messages.json +4 -0
  226. package/extensions/ublock/_locales/hu/messages.json +4 -0
  227. package/extensions/ublock/_locales/hy/messages.json +4 -0
  228. package/extensions/ublock/_locales/id/messages.json +5 -1
  229. package/extensions/ublock/_locales/it/messages.json +4 -0
  230. package/extensions/ublock/_locales/ja/messages.json +4 -0
  231. package/extensions/ublock/_locales/ka/messages.json +34 -30
  232. package/extensions/ublock/_locales/kk/messages.json +4 -0
  233. package/extensions/ublock/_locales/kn/messages.json +4 -0
  234. package/extensions/ublock/_locales/ko/messages.json +4 -0
  235. package/extensions/ublock/_locales/ku/messages.json +4 -0
  236. package/extensions/ublock/_locales/lt/messages.json +4 -0
  237. package/extensions/ublock/_locales/lv/messages.json +4 -0
  238. package/extensions/ublock/_locales/mk/messages.json +4 -0
  239. package/extensions/ublock/_locales/ml/messages.json +4 -0
  240. package/extensions/ublock/_locales/mr/messages.json +4 -0
  241. package/extensions/ublock/_locales/ms/messages.json +13 -9
  242. package/extensions/ublock/_locales/nb/messages.json +4 -0
  243. package/extensions/ublock/_locales/nl/messages.json +4 -0
  244. package/extensions/ublock/_locales/no/messages.json +4 -0
  245. package/extensions/ublock/_locales/oc/messages.json +4 -0
  246. package/extensions/ublock/_locales/pa/messages.json +4 -0
  247. package/extensions/ublock/_locales/pl/messages.json +5 -1
  248. package/extensions/ublock/_locales/pt_BR/messages.json +4 -0
  249. package/extensions/ublock/_locales/pt_PT/messages.json +4 -0
  250. package/extensions/ublock/_locales/ro/messages.json +5 -1
  251. package/extensions/ublock/_locales/ru/messages.json +4 -0
  252. package/extensions/ublock/_locales/si/messages.json +4 -0
  253. package/extensions/ublock/_locales/sk/messages.json +4 -0
  254. package/extensions/ublock/_locales/sl/messages.json +4 -0
  255. package/extensions/ublock/_locales/so/messages.json +4 -0
  256. package/extensions/ublock/_locales/sq/messages.json +4 -0
  257. package/extensions/ublock/_locales/sr/messages.json +4 -0
  258. package/extensions/ublock/_locales/sv/messages.json +4 -0
  259. package/extensions/ublock/_locales/sw/messages.json +4 -0
  260. package/extensions/ublock/_locales/ta/messages.json +4 -0
  261. package/extensions/ublock/_locales/te/messages.json +4 -0
  262. package/extensions/ublock/_locales/th/messages.json +12 -8
  263. package/extensions/ublock/_locales/tr/messages.json +4 -0
  264. package/extensions/ublock/_locales/uk/messages.json +4 -0
  265. package/extensions/ublock/_locales/ur/messages.json +4 -0
  266. package/extensions/ublock/_locales/vi/messages.json +4 -0
  267. package/extensions/ublock/_locales/zh_CN/messages.json +6 -2
  268. package/extensions/ublock/_locales/zh_TW/messages.json +6 -2
  269. package/extensions/ublock/assets/assets.json +11 -11
  270. package/extensions/ublock/assets/resources/scriptlets.js +660 -378
  271. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +7173 -3455
  272. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +18829 -1918
  273. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +21 -26
  274. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +118 -46
  275. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +710 -1117
  276. package/extensions/ublock/assets/ublock/badlists.txt +0 -4
  277. package/extensions/ublock/assets/ublock/badware.min.txt +116 -105
  278. package/extensions/ublock/assets/ublock/filters.min.txt +1443 -1097
  279. package/extensions/ublock/assets/ublock/privacy.min.txt +50 -31
  280. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +97 -108
  281. package/extensions/ublock/assets/ublock/unbreak.min.txt +64 -21
  282. package/extensions/ublock/css/1p-filters.css +4 -0
  283. package/extensions/ublock/css/3p-filters.css +6 -4
  284. package/extensions/ublock/css/common.css +1 -1
  285. package/extensions/ublock/css/fa-icons.css +1 -0
  286. package/extensions/ublock/css/logger-ui.css +72 -52
  287. package/extensions/ublock/css/popup-fenix.css +1 -1
  288. package/extensions/ublock/img/fontawesome/fontawesome-defs.svg +1 -0
  289. package/extensions/ublock/js/3p-filters.js +3 -3
  290. package/extensions/ublock/js/assets.js +7 -4
  291. package/extensions/ublock/js/background.js +1 -3
  292. package/extensions/ublock/js/benchmarks.js +1 -0
  293. package/extensions/ublock/js/broadcast.js +12 -0
  294. package/extensions/ublock/js/click2load.js +2 -3
  295. package/extensions/ublock/js/codemirror/ubo-static-filtering.js +1 -0
  296. package/extensions/ublock/js/commands.js +10 -0
  297. package/extensions/ublock/js/contentscript-extra.js +13 -11
  298. package/extensions/ublock/js/contentscript.js +0 -31
  299. package/extensions/ublock/js/contextmenu.js +5 -1
  300. package/extensions/ublock/js/dyna-rules.js +83 -52
  301. package/extensions/ublock/js/fa-icons.js +1 -0
  302. package/extensions/ublock/js/filtering-context.js +0 -2
  303. package/extensions/ublock/js/i18n.js +1 -5
  304. package/extensions/ublock/js/logger-ui.js +71 -38
  305. package/extensions/ublock/js/logger.js +18 -14
  306. package/extensions/ublock/js/messaging.js +17 -5
  307. package/extensions/ublock/js/popup-fenix.js +6 -6
  308. package/extensions/ublock/js/scriptlet-filtering-core.js +14 -12
  309. package/extensions/ublock/js/scriptlet-filtering.js +149 -53
  310. package/extensions/ublock/js/scriptlets/scriptlet-loglevel-1.js +49 -0
  311. package/extensions/ublock/js/scriptlets/scriptlet-loglevel-2.js +49 -0
  312. package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
  313. package/extensions/ublock/js/static-dnr-filtering.js +4 -2
  314. package/extensions/ublock/js/static-filtering-parser.js +14 -8
  315. package/extensions/ublock/js/static-net-filtering.js +32 -30
  316. package/extensions/ublock/js/storage.js +18 -4
  317. package/extensions/ublock/js/traffic.js +3 -3
  318. package/extensions/ublock/js/ublock.js +1 -1
  319. package/extensions/ublock/js/vapi-background.js +15 -7
  320. package/extensions/ublock/logger-ui.html +18 -10
  321. package/extensions/ublock/manifest.json +4 -1
  322. package/extensions/ublock/web_accessible_resources/chartbeat.js +3 -0
  323. package/package.json +12 -11
  324. package/scripts/build-function.js +1 -1
  325. package/scripts/build-open-api.js +3 -2
  326. package/scripts/clean.js +6 -1
  327. package/scripts/install-debugger.js +20 -0
  328. package/scripts/install-devtools.js +40 -0
  329. package/src/browserless.ts +11 -9
  330. package/src/browsers/chrome.cdp.ts +10 -0
  331. package/src/browsers/chrome.playwright.ts +10 -0
  332. package/src/browsers/{cdp-chromium.ts → chromium.cdp.ts} +20 -13
  333. package/src/browsers/{playwright-chromium.ts → chromium.playwright.ts} +7 -6
  334. package/src/browsers/{playwright-firefox.ts → firefox.playwright.ts} +5 -5
  335. package/src/browsers/index.ts +160 -23
  336. package/src/browsers/{playwright-webkit.ts → webkit.playwright.ts} +5 -5
  337. package/src/exports.ts +6 -4
  338. package/src/http.ts +21 -0
  339. package/src/router.ts +21 -5
  340. package/src/routes/chrome/http/content.post.ts +14 -0
  341. package/src/routes/chrome/http/download.post.ts +14 -0
  342. package/src/routes/chrome/http/function.post.ts +14 -0
  343. package/src/routes/chrome/http/json-list.get.ts +1 -0
  344. package/src/routes/chrome/http/json-new.put.ts +1 -0
  345. package/src/routes/chrome/http/json-protocol.get.ts +1 -0
  346. package/src/routes/chrome/http/json-version.get.ts +1 -0
  347. package/src/routes/chrome/http/pdf.post.ts +14 -0
  348. package/src/routes/chrome/http/performance.post.ts +14 -0
  349. package/src/routes/chrome/http/scrape.post.ts +14 -0
  350. package/src/routes/chrome/http/screenshot.post.ts +14 -0
  351. package/src/routes/chrome/tests/content.spec.ts +375 -0
  352. package/src/routes/chrome/tests/download.spec.ts +77 -0
  353. package/src/routes/chrome/tests/function.spec.ts +282 -0
  354. package/src/routes/chrome/tests/json-version.spec.ts +52 -0
  355. package/src/routes/chrome/tests/page-websocket.spec.ts +129 -0
  356. package/src/routes/chrome/tests/pdf.spec.ts +380 -0
  357. package/src/routes/chrome/tests/performance.spec.ts +155 -0
  358. package/src/routes/chrome/tests/scrape.spec.ts +417 -0
  359. package/src/routes/chrome/tests/screenshot.spec.ts +387 -0
  360. package/src/routes/chrome/tests/websocket.spec.ts +491 -0
  361. package/src/routes/chrome/ws/browser.ts +8 -0
  362. package/src/routes/chrome/ws/cdp.ts +12 -0
  363. package/src/routes/chrome/ws/page.ts +8 -0
  364. package/src/routes/chrome/ws/playwright.ts +12 -0
  365. package/src/routes/chromium/http/content.post.ts +6 -0
  366. package/src/routes/chromium/http/download.post.ts +6 -0
  367. package/src/routes/chromium/http/function.post.ts +6 -0
  368. package/src/routes/chromium/http/json-list.get.ts +1 -0
  369. package/src/routes/chromium/http/json-new.put.ts +1 -0
  370. package/src/routes/chromium/http/json-protocol.get.ts +1 -0
  371. package/src/routes/chromium/http/json-version.get.ts +1 -0
  372. package/src/routes/chromium/http/pdf.post.ts +6 -0
  373. package/src/routes/chromium/http/performance.post.ts +6 -0
  374. package/src/routes/chromium/http/scrape.post.ts +6 -0
  375. package/src/routes/chromium/http/screenshot.post.ts +6 -0
  376. package/src/routes/chromium/tests/content.spec.ts +36 -28
  377. package/src/routes/chromium/tests/download.spec.ts +3 -3
  378. package/src/routes/chromium/tests/function.spec.ts +18 -15
  379. package/src/routes/chromium/tests/page-websocket.spec.ts +129 -0
  380. package/src/routes/chromium/tests/pdf.spec.ts +31 -26
  381. package/src/routes/chromium/tests/performance.spec.ts +46 -34
  382. package/src/routes/chromium/tests/scrape.spec.ts +23 -20
  383. package/src/routes/chromium/tests/screenshot.spec.ts +24 -24
  384. package/src/routes/chromium/tests/websocket.spec.ts +31 -40
  385. package/src/routes/chromium/ws/browser.ts +1 -29
  386. package/src/routes/chromium/ws/cdp.ts +1 -0
  387. package/src/routes/chromium/ws/page.ts +1 -29
  388. package/src/routes/chromium/ws/playwright.ts +4 -0
  389. package/src/routes/firefox/ws/{playwright-firefox.ts → playwright.ts} +5 -5
  390. package/src/routes/management/http/{static-get.ts → static.get.ts} +2 -2
  391. package/src/routes/webkit/ws/{playwright-webkit.ts → playwright.ts} +5 -5
  392. package/src/shared/browser.ws.ts +34 -0
  393. package/src/{routes/chromium/ws/playwright-chromium.ts → shared/chromium.playwright.ws.ts} +7 -4
  394. package/src/{routes/chromium/ws/cdp-chromium.ts → shared/chromium.ws.ts} +6 -6
  395. package/src/{routes/chromium/http/content-post.ts → shared/content.http.ts} +4 -4
  396. package/src/{routes/chromium/http/download-post.ts → shared/download.http.ts} +4 -4
  397. package/src/{routes/chromium/http/function-post.ts → shared/function.http.ts} +4 -4
  398. package/src/shared/json-list.http.ts +35 -0
  399. package/src/{routes/chromium/http/json-new.ts → shared/json-new.http.ts} +23 -7
  400. package/src/{routes/chromium/http/json-protocol-get.ts → shared/json-protocol.http.ts} +3 -5
  401. package/src/{routes/chromium/http/json-version-get.ts → shared/json-version.http.ts} +4 -5
  402. package/src/shared/page.ws.ts +35 -0
  403. package/src/{routes/chromium/http/pdf-post.ts → shared/pdf.http.ts} +4 -4
  404. package/src/{routes/chromium/http/performance.ts → shared/performance.http.ts} +4 -4
  405. package/src/{routes/chromium/http/scrape-post.ts → shared/scrape.http.ts} +4 -4
  406. package/src/{routes/chromium/http/screenshot-post.ts → shared/screenshot.http.ts} +4 -4
  407. package/src/{routes/chromium → shared}/utils/function/handler.ts +2 -2
  408. package/src/{routes/chromium → shared}/utils/performance/main.ts +1 -2
  409. package/src/shim.ts +2 -1
  410. package/src/types.ts +27 -20
  411. package/src/utils.ts +32 -14
  412. package/static/devtools/Images/accelerometer-back.svg +1 -0
  413. package/static/devtools/Images/accelerometer-bottom.png +0 -0
  414. package/static/devtools/Images/accelerometer-front.svg +1 -0
  415. package/static/devtools/Images/accelerometer-left.png +0 -0
  416. package/static/devtools/Images/accelerometer-right.png +0 -0
  417. package/static/devtools/Images/accelerometer-top.png +0 -0
  418. package/static/devtools/Images/baseline-icon.svg +1 -0
  419. package/static/devtools/Images/breaking_change_icon.svg +1 -0
  420. package/static/devtools/Images/checkboxCheckmark.svg +1 -0
  421. package/static/devtools/Images/checker.png +0 -0
  422. package/static/devtools/Images/chevrons.svg +1 -0
  423. package/static/devtools/Images/chromeDisabledSelect.png +0 -0
  424. package/static/devtools/Images/chromeDisabledSelect_2x.png +0 -0
  425. package/static/devtools/Images/chromeLeft.avif +0 -0
  426. package/static/devtools/Images/chromeMiddle.avif +0 -0
  427. package/static/devtools/Images/chromeRight.avif +0 -0
  428. package/static/devtools/Images/chromeSelect.svg +1 -0
  429. package/static/devtools/Images/chromeSelectDark.svg +1 -0
  430. package/static/devtools/Images/cssoverview_icons_2x.avif +0 -0
  431. package/static/devtools/Images/dropdown_7x6_icon.svg +1 -0
  432. package/static/devtools/Images/elements_panel_icon.svg +1 -0
  433. package/static/devtools/Images/errorWave.svg +1 -0
  434. package/static/devtools/Images/error_icon.svg +1 -0
  435. package/static/devtools/Images/feedback_thin_16x16_icon.svg +1 -0
  436. package/static/devtools/Images/flex-align-content-center-icon.svg +1 -0
  437. package/static/devtools/Images/flex-align-content-end-icon.svg +1 -0
  438. package/static/devtools/Images/flex-align-content-space-around-icon.svg +1 -0
  439. package/static/devtools/Images/flex-align-content-space-between-icon.svg +1 -0
  440. package/static/devtools/Images/flex-align-content-space-evenly-icon.svg +1 -0
  441. package/static/devtools/Images/flex-align-content-start-icon.svg +1 -0
  442. package/static/devtools/Images/flex-align-content-stretch-icon.svg +1 -0
  443. package/static/devtools/Images/flex-align-items-center-icon.svg +1 -0
  444. package/static/devtools/Images/flex-align-items-flex-end-icon.svg +1 -0
  445. package/static/devtools/Images/flex-align-items-flex-start-icon.svg +1 -0
  446. package/static/devtools/Images/flex-align-items-stretch-icon.svg +1 -0
  447. package/static/devtools/Images/flex-align-self-center-icon.svg +1 -0
  448. package/static/devtools/Images/flex-align-self-flex-end-icon.svg +1 -0
  449. package/static/devtools/Images/flex-align-self-flex-start-icon.svg +1 -0
  450. package/static/devtools/Images/flex-align-self-stretch-icon.svg +1 -0
  451. package/static/devtools/Images/flex-direction-icon.svg +1 -0
  452. package/static/devtools/Images/flex-justify-content-center-icon.svg +1 -0
  453. package/static/devtools/Images/flex-justify-content-flex-end-icon.svg +1 -0
  454. package/static/devtools/Images/flex-justify-content-flex-start-icon.svg +1 -0
  455. package/static/devtools/Images/flex-justify-content-space-around-icon.svg +1 -0
  456. package/static/devtools/Images/flex-justify-content-space-between-icon.svg +1 -0
  457. package/static/devtools/Images/flex-justify-content-space-evenly-icon.svg +1 -0
  458. package/static/devtools/Images/ic_checkmark_16x16.svg +3 -0
  459. package/static/devtools/Images/ic_delete_filter.svg +1 -0
  460. package/static/devtools/Images/ic_delete_list.svg +1 -0
  461. package/static/devtools/Images/ic_info_black_18dp.svg +1 -0
  462. package/static/devtools/Images/ic_page_next_16x16_icon.svg +1 -0
  463. package/static/devtools/Images/ic_page_prev_16x16_icon.svg +1 -0
  464. package/static/devtools/Images/ic_redo_16x16_icon.svg +1 -0
  465. package/static/devtools/Images/ic_show_node_16x16.svg +4 -0
  466. package/static/devtools/Images/ic_suggest_color.svg +6 -0
  467. package/static/devtools/Images/ic_undo_16x16_icon.svg +1 -0
  468. package/static/devtools/Images/ic_warning_black_18dp.svg +1 -0
  469. package/static/devtools/Images/issue-text-icon.svg +1 -0
  470. package/static/devtools/Images/largeIcons.svg +1 -0
  471. package/static/devtools/Images/lighthouse_logo.svg +1 -0
  472. package/static/devtools/Images/link_icon.svg +1 -0
  473. package/static/devtools/Images/mediumIcons.svg +1 -0
  474. package/static/devtools/Images/navigationControls.png +0 -0
  475. package/static/devtools/Images/navigationControls_2x.png +0 -0
  476. package/static/devtools/Images/network_panel_icon.svg +1 -0
  477. package/static/devtools/Images/nodeIcon.avif +0 -0
  478. package/static/devtools/Images/node_search_icon.svg +1 -0
  479. package/static/devtools/Images/popoverArrows.png +0 -0
  480. package/static/devtools/Images/profileGroupIcon.png +0 -0
  481. package/static/devtools/Images/profileIcon.png +0 -0
  482. package/static/devtools/Images/profileSmallIcon.png +0 -0
  483. package/static/devtools/Images/radioDot-dark-theme.png +0 -0
  484. package/static/devtools/Images/radioDot.png +0 -0
  485. package/static/devtools/Images/refresh_12x12_icon.svg +1 -0
  486. package/static/devtools/Images/resizeDiagonal.svg +1 -0
  487. package/static/devtools/Images/resizeHorizontal.svg +1 -0
  488. package/static/devtools/Images/resizeVertical.svg +1 -0
  489. package/static/devtools/Images/resourceCSSIcon.png +0 -0
  490. package/static/devtools/Images/resourceDocumentIcon.png +0 -0
  491. package/static/devtools/Images/resourceDocumentIconSmall.png +0 -0
  492. package/static/devtools/Images/resourceJSIcon.png +0 -0
  493. package/static/devtools/Images/resourcePlainIcon.png +0 -0
  494. package/static/devtools/Images/resourcePlainIconSmall.png +0 -0
  495. package/static/devtools/Images/resourcesTimeGraphIcon.avif +0 -0
  496. package/static/devtools/Images/searchNext.png +0 -0
  497. package/static/devtools/Images/searchPrev.png +0 -0
  498. package/static/devtools/Images/securityIcons.svg +1 -0
  499. package/static/devtools/Images/settings_14x14_icon.svg +1 -0
  500. package/static/devtools/Images/smallIcons.svg +1 -0
  501. package/static/devtools/Images/sources_panel_icon.svg +1 -0
  502. package/static/devtools/Images/speech.png +0 -0
  503. package/static/devtools/Images/toolbarResizerVertical.png +0 -0
  504. package/static/devtools/Images/touchCursor.png +0 -0
  505. package/static/devtools/Images/touchCursor_2x.png +0 -0
  506. package/static/devtools/Images/treeoutlineTriangles.svg +1 -0
  507. package/static/devtools/Images/warning_icon.svg +1 -0
  508. package/static/devtools/Images/whatsnew.avif +0 -0
  509. package/static/devtools/Tests.js +1654 -0
  510. package/static/devtools/accessibility/accessibility-legacy.js +1 -0
  511. package/static/devtools/accessibility/accessibility-meta.js +1 -0
  512. package/static/devtools/accessibility/accessibility.js +1 -0
  513. package/static/devtools/accessibility/accessibility_module.js +1 -0
  514. package/static/devtools/accessibility_test_runner/accessibility_test_runner.js +77 -0
  515. package/static/devtools/accessibility_test_runner/accessibility_test_runner_module.js +0 -0
  516. package/static/devtools/animation/animation-legacy.js +1 -0
  517. package/static/devtools/animation/animation-meta.js +1 -0
  518. package/static/devtools/animation/animation.js +1 -0
  519. package/static/devtools/animation/animation_module.js +1 -0
  520. package/static/devtools/application_test_runner/AppcacheTestRunner.js +220 -0
  521. package/static/devtools/application_test_runner/CacheStorageTestRunner.js +286 -0
  522. package/static/devtools/application_test_runner/IndexedDBTestRunner.js +476 -0
  523. package/static/devtools/application_test_runner/ResourceTreeTestRunner.js +99 -0
  524. package/static/devtools/application_test_runner/ResourcesTestRunner.js +167 -0
  525. package/static/devtools/application_test_runner/ServiceWorkersTestRunner.js +131 -0
  526. package/static/devtools/application_test_runner/application_test_runner.js +10 -0
  527. package/static/devtools/application_test_runner/application_test_runner_module.js +0 -0
  528. package/static/devtools/axe_core_test_runner/axe_core_test_runner.js +174 -0
  529. package/static/devtools/axe_core_test_runner/axe_core_test_runner_module.js +0 -0
  530. package/static/devtools/bindings/bindings-legacy.js +1 -0
  531. package/static/devtools/bindings/bindings.js +1 -0
  532. package/static/devtools/bindings_test_runner/AutomappingTestRunner.js +130 -0
  533. package/static/devtools/bindings_test_runner/BindingsTestRunner.js +238 -0
  534. package/static/devtools/bindings_test_runner/IsolatedFilesystemTestRunner.js +287 -0
  535. package/static/devtools/bindings_test_runner/OverridesTestRunner.js +26 -0
  536. package/static/devtools/bindings_test_runner/PersistenceTestRunner.js +109 -0
  537. package/static/devtools/bindings_test_runner/bindings_test_runner.js +9 -0
  538. package/static/devtools/bindings_test_runner/bindings_test_runner_module.js +0 -0
  539. package/static/devtools/browser_debugger/browser_debugger-legacy.js +1 -0
  540. package/static/devtools/browser_debugger/browser_debugger-meta.js +1 -0
  541. package/static/devtools/browser_debugger/browser_debugger.js +1 -0
  542. package/static/devtools/browser_debugger/browser_debugger_module.js +1 -0
  543. package/static/devtools/browser_sdk/browser_sdk-meta.js +1 -0
  544. package/static/devtools/browser_sdk/browser_sdk.js +1 -0
  545. package/static/devtools/changes/changes-legacy.js +1 -0
  546. package/static/devtools/changes/changes-meta.js +1 -0
  547. package/static/devtools/changes/changes.js +1 -0
  548. package/static/devtools/changes/changes_module.js +1 -0
  549. package/static/devtools/client_variations/client_variations.js +1 -0
  550. package/static/devtools/client_variations/client_variations_module.js +0 -0
  551. package/static/devtools/cm/cm.js +1 -0
  552. package/static/devtools/cm/cm_module.js +1 -0
  553. package/static/devtools/cm_headless/cm_headless.js +1 -0
  554. package/static/devtools/color_picker/color_picker-legacy.js +1 -0
  555. package/static/devtools/color_picker/color_picker.js +1 -0
  556. package/static/devtools/color_picker/color_picker_module.js +1 -0
  557. package/static/devtools/common/common-legacy.js +1 -0
  558. package/static/devtools/common/common.js +1 -0
  559. package/static/devtools/component_helpers/component_helpers.js +1 -0
  560. package/static/devtools/components/components-legacy.js +1 -0
  561. package/static/devtools/components/components.js +1 -0
  562. package/static/devtools/console/console-legacy.js +1 -0
  563. package/static/devtools/console/console-meta.js +1 -0
  564. package/static/devtools/console/console.js +6 -0
  565. package/static/devtools/console/console_module.js +1 -0
  566. package/static/devtools/console_counters/console_counters-legacy.js +1 -0
  567. package/static/devtools/console_counters/console_counters.js +1 -0
  568. package/static/devtools/console_test_runner/console_test_runner.js +696 -0
  569. package/static/devtools/console_test_runner/console_test_runner_module.js +0 -0
  570. package/static/devtools/cookie_table/cookie_table-legacy.js +1 -0
  571. package/static/devtools/cookie_table/cookie_table.js +1 -0
  572. package/static/devtools/cookie_table/cookie_table_module.js +1 -0
  573. package/static/devtools/coverage/coverage-legacy.js +1 -0
  574. package/static/devtools/coverage/coverage-meta.js +1 -0
  575. package/static/devtools/coverage/coverage.js +1 -0
  576. package/static/devtools/coverage/coverage_module.js +1 -0
  577. package/static/devtools/coverage_test_runner/coverage_test_runner.js +151 -0
  578. package/static/devtools/coverage_test_runner/coverage_test_runner_module.js +0 -0
  579. package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner.js +72 -0
  580. package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js +0 -0
  581. package/static/devtools/css_overview/css_overview-meta.js +1 -0
  582. package/static/devtools/css_overview/css_overview.js +146 -0
  583. package/static/devtools/css_overview/css_overview_module.js +1 -0
  584. package/static/devtools/data_grid/data_grid-legacy.js +1 -0
  585. package/static/devtools/data_grid/data_grid.js +1 -0
  586. package/static/devtools/data_grid/data_grid_module.js +1 -0
  587. package/static/devtools/data_grid_test_runner/data_grid_test_runner.js +78 -0
  588. package/static/devtools/data_grid_test_runner/data_grid_test_runner_module.js +0 -0
  589. package/static/devtools/developer_resources/developer_resources-legacy.js +1 -0
  590. package/static/devtools/developer_resources/developer_resources-meta.js +1 -0
  591. package/static/devtools/developer_resources/developer_resources.js +1 -0
  592. package/static/devtools/developer_resources/developer_resources_module.js +1 -0
  593. package/static/devtools/device_mode_test_runner/device_mode_test_runner.js +45 -0
  594. package/static/devtools/device_mode_test_runner/device_mode_test_runner_module.js +0 -0
  595. package/static/devtools/devtools_app.html +20 -0
  596. package/static/devtools/devtools_app.js +1 -0
  597. package/static/devtools/devtools_compatibility.js +1546 -0
  598. package/static/devtools/diff/diff-legacy.js +1 -0
  599. package/static/devtools/diff/diff.js +1 -0
  600. package/static/devtools/diff/diff_module.js +0 -0
  601. package/static/devtools/dom_extension/dom_extension.js +1 -0
  602. package/static/devtools/elements/elements-legacy.js +1 -0
  603. package/static/devtools/elements/elements-meta.js +1 -0
  604. package/static/devtools/elements/elements.js +469 -0
  605. package/static/devtools/elements/elements_module.js +1 -0
  606. package/static/devtools/elements_test_runner/EditDOMTestRunner.js +78 -0
  607. package/static/devtools/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +39 -0
  608. package/static/devtools/elements_test_runner/ElementsTestRunner.js +1280 -0
  609. package/static/devtools/elements_test_runner/SetOuterHTMLTestRunner.js +115 -0
  610. package/static/devtools/elements_test_runner/StylesUpdateLinksTestRunner.js +134 -0
  611. package/static/devtools/elements_test_runner/elements_test_runner.js +9 -0
  612. package/static/devtools/elements_test_runner/elements_test_runner_module.js +0 -0
  613. package/static/devtools/emulated_devices/emulated_devices_module.js +0 -0
  614. package/static/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
  615. package/static/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
  616. package/static/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
  617. package/static/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
  618. package/static/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
  619. package/static/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
  620. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
  621. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
  622. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
  623. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
  624. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
  625. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
  626. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
  627. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
  628. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
  629. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
  630. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
  631. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
  632. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
  633. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
  634. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
  635. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
  636. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
  637. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
  638. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
  639. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
  640. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
  641. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
  642. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
  643. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
  644. package/static/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
  645. package/static/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
  646. package/static/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
  647. package/static/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
  648. package/static/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
  649. package/static/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
  650. package/static/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
  651. package/static/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
  652. package/static/devtools/emulation/emulation-legacy.js +1 -0
  653. package/static/devtools/emulation/emulation-meta.js +1 -0
  654. package/static/devtools/emulation/emulation.js +1 -0
  655. package/static/devtools/event_listeners/event_listeners-legacy.js +1 -0
  656. package/static/devtools/event_listeners/event_listeners.js +1 -0
  657. package/static/devtools/event_listeners/event_listeners_module.js +1 -0
  658. package/static/devtools/extensions/extensions-legacy.js +1 -0
  659. package/static/devtools/extensions/extensions.js +1 -0
  660. package/static/devtools/extensions_test_runner/ExtensionsNetworkTestRunner.js +27 -0
  661. package/static/devtools/extensions_test_runner/ExtensionsTestRunner.js +68 -0
  662. package/static/devtools/extensions_test_runner/extensions_test_runner.js +6 -0
  663. package/static/devtools/extensions_test_runner/extensions_test_runner_module.js +0 -0
  664. package/static/devtools/formatter/formatter-legacy.js +1 -0
  665. package/static/devtools/formatter/formatter.js +1 -0
  666. package/static/devtools/formatter/formatter_module.js +0 -0
  667. package/static/devtools/formatter_worker/FormatterActions.js +1 -0
  668. package/static/devtools/formatter_worker/formatter_worker-entrypoint.js +1 -0
  669. package/static/devtools/formatter_worker/formatter_worker.js +1 -0
  670. package/static/devtools/har_importer/har_importer-legacy.js +1 -0
  671. package/static/devtools/har_importer/har_importer.js +1 -0
  672. package/static/devtools/har_importer/har_importer_module.js +0 -0
  673. package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner.js +740 -0
  674. package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner_module.js +0 -0
  675. package/static/devtools/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
  676. package/static/devtools/heap_snapshot_model/heap_snapshot_model.js +1 -0
  677. package/static/devtools/heap_snapshot_model/heap_snapshot_model_module.js +0 -0
  678. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
  679. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
  680. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
  681. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker_module.js +0 -0
  682. package/static/devtools/help/help-legacy.js +1 -0
  683. package/static/devtools/help/help-meta.js +1 -0
  684. package/static/devtools/help/help.js +1 -0
  685. package/static/devtools/help/help_module.js +1 -0
  686. package/static/devtools/host/host-legacy.js +1 -0
  687. package/static/devtools/host/host.js +1 -0
  688. package/static/devtools/i18n/i18n.js +1 -0
  689. package/static/devtools/i18n/i18n_locales-tsconfig.json +8 -0
  690. package/static/devtools/i18n/locales/en-US.json +3566 -0
  691. package/static/devtools/inline_editor/inline_editor-legacy.js +1 -0
  692. package/static/devtools/inline_editor/inline_editor.js +203 -0
  693. package/static/devtools/inline_editor/inline_editor_module.js +1 -0
  694. package/static/devtools/input/input-legacy.js +1 -0
  695. package/static/devtools/input/input-meta.js +1 -0
  696. package/static/devtools/input/input.js +1 -0
  697. package/static/devtools/input/input_module.js +1 -0
  698. package/static/devtools/inspector.html +20 -0
  699. package/static/devtools/inspector.js +1 -0
  700. package/static/devtools/inspector_main/inspector_main-legacy.js +1 -0
  701. package/static/devtools/inspector_main/inspector_main-meta.js +1 -0
  702. package/static/devtools/inspector_main/inspector_main.js +1 -0
  703. package/static/devtools/integration_test_runner.html +14 -0
  704. package/static/devtools/integration_test_runner.js +2 -0
  705. package/static/devtools/issues/issues-legacy.js +1 -0
  706. package/static/devtools/issues/issues-meta.js +1 -0
  707. package/static/devtools/issues/issues.js +67 -0
  708. package/static/devtools/issues/issues_module.js +1 -0
  709. package/static/devtools/javascript_metadata/javascript_metadata-legacy.js +1 -0
  710. package/static/devtools/javascript_metadata/javascript_metadata.js +1 -0
  711. package/static/devtools/javascript_metadata/javascript_metadata_module.js +0 -0
  712. package/static/devtools/js_app.html +20 -0
  713. package/static/devtools/js_app.js +1 -0
  714. package/static/devtools/js_main/js_main-legacy.js +1 -0
  715. package/static/devtools/js_main/js_main.js +1 -0
  716. package/static/devtools/js_profiler/js_profiler-meta.js +1 -0
  717. package/static/devtools/js_profiler/js_profiler.js +1 -0
  718. package/static/devtools/js_profiler/js_profiler_module.js +0 -0
  719. package/static/devtools/layer_viewer/layer_viewer-legacy.js +1 -0
  720. package/static/devtools/layer_viewer/layer_viewer.js +1 -0
  721. package/static/devtools/layer_viewer/layer_viewer_module.js +1 -0
  722. package/static/devtools/layers/layers-legacy.js +1 -0
  723. package/static/devtools/layers/layers-meta.js +1 -0
  724. package/static/devtools/layers/layers.js +1 -0
  725. package/static/devtools/layers/layers_module.js +0 -0
  726. package/static/devtools/layers_test_runner/layers_test_runner.js +156 -0
  727. package/static/devtools/layers_test_runner/layers_test_runner_module.js +0 -0
  728. package/static/devtools/lighthouse/lighthouse-legacy.js +1 -0
  729. package/static/devtools/lighthouse/lighthouse-meta.js +1 -0
  730. package/static/devtools/lighthouse/lighthouse.js +70 -0
  731. package/static/devtools/lighthouse/lighthouse_module.js +1 -0
  732. package/static/devtools/lighthouse_test_runner/lighthouse_test_runner.js +136 -0
  733. package/static/devtools/lighthouse_test_runner/lighthouse_test_runner_module.js +0 -0
  734. package/static/devtools/lighthouse_worker/LighthouseService.js +195 -0
  735. package/static/devtools/lighthouse_worker/lighthouse_worker.js +6 -0
  736. package/static/devtools/lighthouse_worker.js +1 -0
  737. package/static/devtools/linear_memory_inspector/linear_memory_inspector-legacy.js +1 -0
  738. package/static/devtools/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
  739. package/static/devtools/linear_memory_inspector/linear_memory_inspector.js +399 -0
  740. package/static/devtools/linear_memory_inspector/linear_memory_inspector_module.js +0 -0
  741. package/static/devtools/main/main-legacy.js +1 -0
  742. package/static/devtools/main/main.js +1 -0
  743. package/static/devtools/media/media-legacy.js +1 -0
  744. package/static/devtools/media/media-meta.js +1 -0
  745. package/static/devtools/media/media.js +1 -0
  746. package/static/devtools/media/media_module.js +1 -0
  747. package/static/devtools/mobile_throttling/mobile_throttling-legacy.js +1 -0
  748. package/static/devtools/mobile_throttling/mobile_throttling-meta.js +1 -0
  749. package/static/devtools/mobile_throttling/mobile_throttling.js +1 -0
  750. package/static/devtools/ndb_app.html +20 -0
  751. package/static/devtools/ndb_app.js +1 -0
  752. package/static/devtools/network/network-legacy.js +1 -0
  753. package/static/devtools/network/network-meta.js +1 -0
  754. package/static/devtools/network/network.js +72 -0
  755. package/static/devtools/network/network_module.js +1 -0
  756. package/static/devtools/network_test_runner/network_test_runner.js +280 -0
  757. package/static/devtools/network_test_runner/network_test_runner_module.js +0 -0
  758. package/static/devtools/node_app.html +20 -0
  759. package/static/devtools/node_app.js +1 -0
  760. package/static/devtools/node_debugger/node_debugger-meta.js +1 -0
  761. package/static/devtools/node_debugger/node_debugger.js +1 -0
  762. package/static/devtools/node_debugger/node_debugger_module.js +0 -0
  763. package/static/devtools/node_main/node_main-legacy.js +1 -0
  764. package/static/devtools/node_main/node_main-meta.js +1 -0
  765. package/static/devtools/node_main/node_main.js +1 -0
  766. package/static/devtools/object_ui/object_ui-legacy.js +1 -0
  767. package/static/devtools/object_ui/object_ui.js +3 -0
  768. package/static/devtools/object_ui/object_ui_module.js +1 -0
  769. package/static/devtools/perf_ui/perf_ui-legacy.js +1 -0
  770. package/static/devtools/perf_ui/perf_ui.js +152 -0
  771. package/static/devtools/perf_ui/perf_ui_module.js +1 -0
  772. package/static/devtools/performance_monitor/performance_monitor-legacy.js +1 -0
  773. package/static/devtools/performance_monitor/performance_monitor-meta.js +1 -0
  774. package/static/devtools/performance_monitor/performance_monitor.js +1 -0
  775. package/static/devtools/performance_monitor/performance_monitor_module.js +1 -0
  776. package/static/devtools/performance_test_runner/TimelineDataTestRunner.js +5375 -0
  777. package/static/devtools/performance_test_runner/TimelineTestRunner.js +446 -0
  778. package/static/devtools/performance_test_runner/performance_test_runner.js +6 -0
  779. package/static/devtools/performance_test_runner/performance_test_runner_module.js +0 -0
  780. package/static/devtools/persistence/persistence-legacy.js +1 -0
  781. package/static/devtools/persistence/persistence-meta.js +1 -0
  782. package/static/devtools/persistence/persistence.js +1 -0
  783. package/static/devtools/platform/platform.js +1 -0
  784. package/static/devtools/profiler/profiler-legacy.js +1 -0
  785. package/static/devtools/profiler/profiler-meta.js +1 -0
  786. package/static/devtools/profiler/profiler.js +8 -0
  787. package/static/devtools/profiler/profiler_module.js +1 -0
  788. package/static/devtools/protocol_client/protocol_client-legacy.js +1 -0
  789. package/static/devtools/protocol_client/protocol_client.js +1 -0
  790. package/static/devtools/protocol_monitor/protocol_monitor-legacy.js +1 -0
  791. package/static/devtools/protocol_monitor/protocol_monitor-meta.js +1 -0
  792. package/static/devtools/protocol_monitor/protocol_monitor.js +1 -0
  793. package/static/devtools/protocol_monitor/protocol_monitor_module.js +1 -0
  794. package/static/devtools/quick_open/quick_open-legacy.js +1 -0
  795. package/static/devtools/quick_open/quick_open.js +1 -0
  796. package/static/devtools/quick_open/quick_open_module.js +1 -0
  797. package/static/devtools/recorder/recorder.js +1 -0
  798. package/static/devtools/resources/resources-legacy.js +1 -0
  799. package/static/devtools/resources/resources-meta.js +1 -0
  800. package/static/devtools/resources/resources.js +28 -0
  801. package/static/devtools/resources/resources_module.js +1 -0
  802. package/static/devtools/root/root-legacy.js +1 -0
  803. package/static/devtools/root/root.js +1 -0
  804. package/static/devtools/screencast/screencast-legacy.js +1 -0
  805. package/static/devtools/screencast/screencast.js +1 -0
  806. package/static/devtools/sdk/sdk-legacy.js +1 -0
  807. package/static/devtools/sdk/sdk.js +2 -0
  808. package/static/devtools/sdk_test_runner/sdk_test_runner.js +297 -0
  809. package/static/devtools/sdk_test_runner/sdk_test_runner_module.js +0 -0
  810. package/static/devtools/search/search-legacy.js +1 -0
  811. package/static/devtools/search/search.js +1 -0
  812. package/static/devtools/search/search_module.js +1 -0
  813. package/static/devtools/security/security-legacy.js +1 -0
  814. package/static/devtools/security/security-meta.js +1 -0
  815. package/static/devtools/security/security.js +1 -0
  816. package/static/devtools/security/security_module.js +1 -0
  817. package/static/devtools/security_test_runner/security_test_runner.js +32 -0
  818. package/static/devtools/security_test_runner/security_test_runner_module.js +0 -0
  819. package/static/devtools/services/services-legacy.js +1 -0
  820. package/static/devtools/services/services.js +1 -0
  821. package/static/devtools/settings/settings-legacy.js +1 -0
  822. package/static/devtools/settings/settings-meta.js +1 -0
  823. package/static/devtools/settings/settings.js +1 -0
  824. package/static/devtools/settings/settings_module.js +1 -0
  825. package/static/devtools/shell.js +1 -0
  826. package/static/devtools/snippets/snippets-legacy.js +1 -0
  827. package/static/devtools/snippets/snippets.js +1 -0
  828. package/static/devtools/snippets/snippets_module.js +0 -0
  829. package/static/devtools/source_frame/source_frame-legacy.js +1 -0
  830. package/static/devtools/source_frame/source_frame.js +1 -0
  831. package/static/devtools/source_frame/source_frame_module.js +1 -0
  832. package/static/devtools/sources/sources-legacy.js +1 -0
  833. package/static/devtools/sources/sources-meta.js +1 -0
  834. package/static/devtools/sources/sources.js +13 -0
  835. package/static/devtools/sources/sources_module.js +1 -0
  836. package/static/devtools/sources_test_runner/AutocompleteTestRunner.js +46 -0
  837. package/static/devtools/sources_test_runner/DebuggerTestRunner.js +895 -0
  838. package/static/devtools/sources_test_runner/EditorTestRunner.js +237 -0
  839. package/static/devtools/sources_test_runner/LiveEditTestRunner.js +33 -0
  840. package/static/devtools/sources_test_runner/SearchTestRunner.js +158 -0
  841. package/static/devtools/sources_test_runner/SourcesTestRunner.js +173 -0
  842. package/static/devtools/sources_test_runner/sources_test_runner.js +10 -0
  843. package/static/devtools/sources_test_runner/sources_test_runner_module.js +0 -0
  844. package/static/devtools/startup/startup.js +1 -0
  845. package/static/devtools/test_runner/test_runner.js +1 -0
  846. package/static/devtools/text_editor/text_editor-legacy.js +1 -0
  847. package/static/devtools/text_editor/text_editor.js +1 -0
  848. package/static/devtools/text_editor/text_editor_module.js +1 -0
  849. package/static/devtools/text_utils/text_utils-legacy.js +1 -0
  850. package/static/devtools/text_utils/text_utils.js +1 -0
  851. package/static/devtools/theme_support/theme_support.js +1 -0
  852. package/static/devtools/third_party/acorn/acorn-tsconfig.json +8 -0
  853. package/static/devtools/third_party/acorn/acorn.js +1 -0
  854. package/static/devtools/third_party/acorn/package/dist/acorn.d.ts +209 -0
  855. package/static/devtools/third_party/acorn/package/dist/acorn.mjs +5261 -0
  856. package/static/devtools/third_party/acorn/package/dist/acorn.mjs.d.ts +2 -0
  857. package/static/devtools/third_party/acorn/package/dist/acorn.mjs.map +1 -0
  858. package/static/devtools/third_party/acorn-loose/acorn-loose-tsconfig.json +8 -0
  859. package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.d.ts +16 -0
  860. package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.mjs +1418 -0
  861. package/static/devtools/third_party/axe-core/axe.js +16423 -0
  862. package/static/devtools/third_party/chromium/chromium-tsconfig.json +8 -0
  863. package/static/devtools/third_party/chromium/client-variations/ClientVariations.d.ts +13 -0
  864. package/static/devtools/third_party/chromium/client-variations/ClientVariations.js +27 -0
  865. package/static/devtools/third_party/codemirror/codemirror-tsconfig.json +72 -0
  866. package/static/devtools/third_party/codemirror/package/addon/comment/comment.d.ts +4 -0
  867. package/static/devtools/third_party/codemirror/package/addon/comment/comment.js +211 -0
  868. package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.d.ts +1 -0
  869. package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.js +201 -0
  870. package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.d.ts +1 -0
  871. package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.js +158 -0
  872. package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.d.ts +1 -0
  873. package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.js +105 -0
  874. package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.d.ts +1 -0
  875. package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.js +157 -0
  876. package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.d.ts +1 -0
  877. package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.js +163 -0
  878. package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.d.ts +1 -0
  879. package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.js +131 -0
  880. package/static/devtools/third_party/codemirror/package/addon/mode/overlay.d.ts +1 -0
  881. package/static/devtools/third_party/codemirror/package/addon/mode/overlay.js +90 -0
  882. package/static/devtools/third_party/codemirror/package/addon/mode/simple.d.ts +1 -0
  883. package/static/devtools/third_party/codemirror/package/addon/mode/simple.js +216 -0
  884. package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.d.ts +1 -0
  885. package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.js +333 -0
  886. package/static/devtools/third_party/codemirror/package/addon/selection/active-line.d.ts +1 -0
  887. package/static/devtools/third_party/codemirror/package/addon/selection/active-line.js +72 -0
  888. package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.d.ts +1 -0
  889. package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.js +119 -0
  890. package/static/devtools/third_party/codemirror/package/lib/codemirror.d.ts +1 -0
  891. package/static/devtools/third_party/codemirror/package/lib/codemirror.js +9800 -0
  892. package/static/devtools/third_party/codemirror/package/mode/clike/clike.d.ts +4 -0
  893. package/static/devtools/third_party/codemirror/package/mode/clike/clike.js +935 -0
  894. package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.d.ts +4 -0
  895. package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.js +292 -0
  896. package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.d.ts +4 -0
  897. package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.js +359 -0
  898. package/static/devtools/third_party/codemirror/package/mode/css/css.d.ts +1 -0
  899. package/static/devtools/third_party/codemirror/package/mode/css/css.js +864 -0
  900. package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.d.ts +1 -0
  901. package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.js +37 -0
  902. package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.d.ts +1 -0
  903. package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.js +153 -0
  904. package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.d.ts +1 -0
  905. package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.js +942 -0
  906. package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.d.ts +4 -0
  907. package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.js +148 -0
  908. package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.d.ts +4 -0
  909. package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.js +280 -0
  910. package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.d.ts +1 -0
  911. package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.js +886 -0
  912. package/static/devtools/third_party/codemirror/package/mode/php/php.d.ts +1 -0
  913. package/static/devtools/third_party/codemirror/package/mode/php/php.js +234 -0
  914. package/static/devtools/third_party/codemirror/package/mode/python/python.d.ts +1 -0
  915. package/static/devtools/third_party/codemirror/package/mode/python/python.js +399 -0
  916. package/static/devtools/third_party/codemirror/package/mode/shell/shell.d.ts +1 -0
  917. package/static/devtools/third_party/codemirror/package/mode/shell/shell.js +168 -0
  918. package/static/devtools/third_party/codemirror/package/mode/wast/wast.d.ts +1 -0
  919. package/static/devtools/third_party/codemirror/package/mode/wast/wast.js +41 -0
  920. package/static/devtools/third_party/codemirror/package/mode/xml/xml.d.ts +1 -0
  921. package/static/devtools/third_party/codemirror/package/mode/xml/xml.js +413 -0
  922. package/static/devtools/third_party/i18n/bundle-tsconfig.json +8 -0
  923. package/static/devtools/third_party/i18n/i18n.d.ts +108 -0
  924. package/static/devtools/third_party/i18n/i18n.js +4336 -0
  925. package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.d.ts +1 -0
  926. package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.js +1140 -0
  927. package/static/devtools/third_party/lighthouse/lighthouse-tsconfig.json +10 -0
  928. package/static/devtools/third_party/lighthouse/locales/ar-XB.json +2066 -0
  929. package/static/devtools/third_party/lighthouse/locales/ar.json +2066 -0
  930. package/static/devtools/third_party/lighthouse/locales/bg.json +2066 -0
  931. package/static/devtools/third_party/lighthouse/locales/ca.json +2066 -0
  932. package/static/devtools/third_party/lighthouse/locales/cs.json +2066 -0
  933. package/static/devtools/third_party/lighthouse/locales/da.json +2066 -0
  934. package/static/devtools/third_party/lighthouse/locales/de.json +2066 -0
  935. package/static/devtools/third_party/lighthouse/locales/el.json +2066 -0
  936. package/static/devtools/third_party/lighthouse/locales/en-GB.json +2066 -0
  937. package/static/devtools/third_party/lighthouse/locales/en-US.json +2297 -0
  938. package/static/devtools/third_party/lighthouse/locales/en-XA.json +2066 -0
  939. package/static/devtools/third_party/lighthouse/locales/en-XL.json +2297 -0
  940. package/static/devtools/third_party/lighthouse/locales/es-419.json +2066 -0
  941. package/static/devtools/third_party/lighthouse/locales/es.json +2066 -0
  942. package/static/devtools/third_party/lighthouse/locales/fi.json +2066 -0
  943. package/static/devtools/third_party/lighthouse/locales/fil.json +2066 -0
  944. package/static/devtools/third_party/lighthouse/locales/fr.json +2066 -0
  945. package/static/devtools/third_party/lighthouse/locales/he.json +2066 -0
  946. package/static/devtools/third_party/lighthouse/locales/hi.json +2066 -0
  947. package/static/devtools/third_party/lighthouse/locales/hr.json +2066 -0
  948. package/static/devtools/third_party/lighthouse/locales/hu.json +2066 -0
  949. package/static/devtools/third_party/lighthouse/locales/id.json +2066 -0
  950. package/static/devtools/third_party/lighthouse/locales/it.json +2066 -0
  951. package/static/devtools/third_party/lighthouse/locales/ja.json +2066 -0
  952. package/static/devtools/third_party/lighthouse/locales/ko.json +2066 -0
  953. package/static/devtools/third_party/lighthouse/locales/lt.json +2066 -0
  954. package/static/devtools/third_party/lighthouse/locales/lv.json +2066 -0
  955. package/static/devtools/third_party/lighthouse/locales/nl.json +2066 -0
  956. package/static/devtools/third_party/lighthouse/locales/no.json +2066 -0
  957. package/static/devtools/third_party/lighthouse/locales/pl.json +2066 -0
  958. package/static/devtools/third_party/lighthouse/locales/pt-PT.json +2066 -0
  959. package/static/devtools/third_party/lighthouse/locales/pt.json +2066 -0
  960. package/static/devtools/third_party/lighthouse/locales/ro.json +2066 -0
  961. package/static/devtools/third_party/lighthouse/locales/ru.json +2066 -0
  962. package/static/devtools/third_party/lighthouse/locales/sk.json +2066 -0
  963. package/static/devtools/third_party/lighthouse/locales/sl.json +2066 -0
  964. package/static/devtools/third_party/lighthouse/locales/sr-Latn.json +2066 -0
  965. package/static/devtools/third_party/lighthouse/locales/sr.json +2066 -0
  966. package/static/devtools/third_party/lighthouse/locales/sv.json +2066 -0
  967. package/static/devtools/third_party/lighthouse/locales/ta.json +2066 -0
  968. package/static/devtools/third_party/lighthouse/locales/te.json +2066 -0
  969. package/static/devtools/third_party/lighthouse/locales/th.json +2066 -0
  970. package/static/devtools/third_party/lighthouse/locales/tr.json +2066 -0
  971. package/static/devtools/third_party/lighthouse/locales/uk.json +2066 -0
  972. package/static/devtools/third_party/lighthouse/locales/vi.json +2066 -0
  973. package/static/devtools/third_party/lighthouse/locales/zh-HK.json +2066 -0
  974. package/static/devtools/third_party/lighthouse/locales/zh-TW.json +2066 -0
  975. package/static/devtools/third_party/lighthouse/locales/zh.json +2066 -0
  976. package/static/devtools/third_party/lighthouse/report-assets/report-generator.d.ts +1 -0
  977. package/static/devtools/third_party/lighthouse/report-assets/report-generator.js +167 -0
  978. package/static/devtools/third_party/lighthouse/report-assets/report.d.ts +1 -0
  979. package/static/devtools/third_party/lighthouse/report-assets/report.js +5032 -0
  980. package/static/devtools/third_party/lit-html/lit-html-tsconfig.json +22 -0
  981. package/static/devtools/third_party/lit-html/lit-html.js +120 -0
  982. package/static/devtools/third_party/lit-html/package/directives/class-map.d.ts +28 -0
  983. package/static/devtools/third_party/lit-html/package/directives/class-map.js +101 -0
  984. package/static/devtools/third_party/lit-html/package/directives/class-map.js.map +1 -0
  985. package/static/devtools/third_party/lit-html/package/directives/if-defined.d.ts +22 -0
  986. package/static/devtools/third_party/lit-html/package/directives/if-defined.js +37 -0
  987. package/static/devtools/third_party/lit-html/package/directives/if-defined.js.map +1 -0
  988. package/static/devtools/third_party/lit-html/package/directives/live.d.ts +38 -0
  989. package/static/devtools/third_party/lit-html/package/directives/live.js +73 -0
  990. package/static/devtools/third_party/lit-html/package/directives/live.js.map +1 -0
  991. package/static/devtools/third_party/lit-html/package/directives/repeat.d.ts +37 -0
  992. package/static/devtools/third_party/lit-html/package/directives/repeat.js +415 -0
  993. package/static/devtools/third_party/lit-html/package/directives/repeat.js.map +1 -0
  994. package/static/devtools/third_party/lit-html/package/directives/style-map.d.ts +36 -0
  995. package/static/devtools/third_party/lit-html/package/directives/style-map.js +78 -0
  996. package/static/devtools/third_party/lit-html/package/directives/style-map.js.map +1 -0
  997. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.d.ts +39 -0
  998. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js +52 -0
  999. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js.map +1 -0
  1000. package/static/devtools/third_party/lit-html/package/lib/directive.d.ts +59 -0
  1001. package/static/devtools/third_party/lit-html/package/lib/directive.js +63 -0
  1002. package/static/devtools/third_party/lit-html/package/lib/directive.js.map +1 -0
  1003. package/static/devtools/third_party/lit-html/package/lib/dom.d.ts +29 -0
  1004. package/static/devtools/third_party/lit-html/package/lib/dom.js +44 -0
  1005. package/static/devtools/third_party/lit-html/package/lib/dom.js.map +1 -0
  1006. package/static/devtools/third_party/lit-html/package/lib/part.d.ts +46 -0
  1007. package/static/devtools/third_party/lit-html/package/lib/part.js +23 -0
  1008. package/static/devtools/third_party/lit-html/package/lib/part.js.map +1 -0
  1009. package/static/devtools/third_party/lit-html/package/lib/parts.d.ts +148 -0
  1010. package/static/devtools/third_party/lit-html/package/lib/parts.js +476 -0
  1011. package/static/devtools/third_party/lit-html/package/lib/parts.js.map +1 -0
  1012. package/static/devtools/third_party/lit-html/package/lib/render.d.ts +33 -0
  1013. package/static/devtools/third_party/lit-html/package/lib/render.js +43 -0
  1014. package/static/devtools/third_party/lit-html/package/lib/render.js.map +1 -0
  1015. package/static/devtools/third_party/lit-html/package/lib/template-factory.d.ts +57 -0
  1016. package/static/devtools/third_party/lit-html/package/lib/template-factory.js +48 -0
  1017. package/static/devtools/third_party/lit-html/package/lib/template-factory.js.map +1 -0
  1018. package/static/devtools/third_party/lit-html/package/lib/template-instance.d.ts +30 -0
  1019. package/static/devtools/third_party/lit-html/package/lib/template-instance.js +134 -0
  1020. package/static/devtools/third_party/lit-html/package/lib/template-instance.js.map +1 -0
  1021. package/static/devtools/third_party/lit-html/package/lib/template-result.d.ts +42 -0
  1022. package/static/devtools/third_party/lit-html/package/lib/template-result.js +131 -0
  1023. package/static/devtools/third_party/lit-html/package/lib/template-result.js.map +1 -0
  1024. package/static/devtools/third_party/lit-html/package/lib/template.d.ts +92 -0
  1025. package/static/devtools/third_party/lit-html/package/lib/template.js +215 -0
  1026. package/static/devtools/third_party/lit-html/package/lib/template.js.map +1 -0
  1027. package/static/devtools/third_party/lit-html/package/lit-html.d.ts +42 -0
  1028. package/static/devtools/third_party/lit-html/package/lit-html.js +59 -0
  1029. package/static/devtools/third_party/lit-html/package/lit-html.js.map +1 -0
  1030. package/static/devtools/third_party/marked/marked-tsconfig.json +8 -0
  1031. package/static/devtools/third_party/marked/marked.js +1 -0
  1032. package/static/devtools/third_party/marked/package/lib/marked.esm.d.ts +1 -0
  1033. package/static/devtools/third_party/marked/package/lib/marked.esm.js +2584 -0
  1034. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +53 -0
  1035. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts.map +1 -0
  1036. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.js +64 -0
  1037. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +176 -0
  1038. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts.map +1 -0
  1039. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +356 -0
  1040. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +21 -0
  1041. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -0
  1042. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -0
  1043. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +423 -0
  1044. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -0
  1045. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +516 -0
  1046. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +39 -0
  1047. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -0
  1048. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +76 -0
  1049. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +26 -0
  1050. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -0
  1051. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -0
  1052. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +120 -0
  1053. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -0
  1054. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +266 -0
  1055. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts +22 -0
  1056. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts.map +1 -0
  1057. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.js +15 -0
  1058. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -0
  1059. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -0
  1060. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +60 -0
  1061. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +181 -0
  1062. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -0
  1063. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +316 -0
  1064. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +174 -0
  1065. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -0
  1066. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +647 -0
  1067. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +53 -0
  1068. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -0
  1069. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +77 -0
  1070. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +33 -0
  1071. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -0
  1072. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +873 -0
  1073. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +76 -0
  1074. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -0
  1075. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +92 -0
  1076. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts +25 -0
  1077. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts.map +1 -0
  1078. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js +33 -0
  1079. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +34 -0
  1080. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -0
  1081. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +37 -0
  1082. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +59 -0
  1083. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -0
  1084. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.js +15 -0
  1085. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +89 -0
  1086. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -0
  1087. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +109 -0
  1088. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts +82 -0
  1089. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts.map +1 -0
  1090. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js +83 -0
  1091. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +189 -0
  1092. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -0
  1093. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +313 -0
  1094. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +60 -0
  1095. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -0
  1096. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +66 -0
  1097. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +735 -0
  1098. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -0
  1099. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +962 -0
  1100. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +276 -0
  1101. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -0
  1102. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +421 -0
  1103. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +128 -0
  1104. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -0
  1105. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +150 -0
  1106. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +322 -0
  1107. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -0
  1108. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +463 -0
  1109. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +439 -0
  1110. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -0
  1111. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +724 -0
  1112. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +62 -0
  1113. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -0
  1114. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -0
  1115. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +80 -0
  1116. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -0
  1117. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +262 -0
  1118. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +152 -0
  1119. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -0
  1120. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js +31 -0
  1121. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +910 -0
  1122. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -0
  1123. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1343 -0
  1124. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts +21 -0
  1125. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts.map +1 -0
  1126. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.js +15 -0
  1127. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +135 -0
  1128. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -0
  1129. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +133 -0
  1130. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +24 -0
  1131. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts.map +1 -0
  1132. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.js +0 -0
  1133. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +66 -0
  1134. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -0
  1135. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +157 -0
  1136. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts +61 -0
  1137. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts.map +1 -0
  1138. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js +72 -0
  1139. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +98 -0
  1140. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -0
  1141. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +137 -0
  1142. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts +28 -0
  1143. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts.map +1 -0
  1144. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js +43 -0
  1145. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +47 -0
  1146. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -0
  1147. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +94 -0
  1148. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +40 -0
  1149. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts.map +1 -0
  1150. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -0
  1151. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +102 -0
  1152. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -0
  1153. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +109 -0
  1154. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +22 -0
  1155. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -0
  1156. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +24 -0
  1157. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts +17 -0
  1158. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts.map +1 -0
  1159. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js +20 -0
  1160. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +66 -0
  1161. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -0
  1162. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +288 -0
  1163. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +17 -0
  1164. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -0
  1165. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +16 -0
  1166. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts +18 -0
  1167. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -0
  1168. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +39 -0
  1169. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts +18 -0
  1170. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts.map +1 -0
  1171. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js +22 -0
  1172. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +132 -0
  1173. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -0
  1174. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +468 -0
  1175. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -0
  1176. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -0
  1177. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +197 -0
  1178. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +42 -0
  1179. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -0
  1180. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +0 -0
  1181. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +16 -0
  1182. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -0
  1183. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +469 -0
  1184. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +29 -0
  1185. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -0
  1186. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +34 -0
  1187. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +31 -0
  1188. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -0
  1189. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +61 -0
  1190. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +156 -0
  1191. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -0
  1192. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +183 -0
  1193. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts +18 -0
  1194. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -0
  1195. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +151 -0
  1196. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts +18 -0
  1197. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts.map +1 -0
  1198. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +23 -0
  1199. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts +18 -0
  1200. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts.map +1 -0
  1201. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.js +22 -0
  1202. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +22 -0
  1203. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts.map +1 -0
  1204. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +19 -0
  1205. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts +18 -0
  1206. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts.map +1 -0
  1207. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.js +22 -0
  1208. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts +22 -0
  1209. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts.map +1 -0
  1210. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js +53 -0
  1211. package/static/devtools/third_party/puppeteer/puppeteer-tsconfig.json +58 -0
  1212. package/static/devtools/third_party/puppeteer/puppeteer.js +1 -0
  1213. package/static/devtools/third_party/wasmparser/package/dist/esm/WasmDis.js +1595 -0
  1214. package/static/devtools/third_party/wasmparser/package/dist/esm/WasmParser.js +3120 -0
  1215. package/static/devtools/third_party/wasmparser/wasmparser-tsconfig.json +9 -0
  1216. package/static/devtools/timeline/timeline-legacy.js +1 -0
  1217. package/static/devtools/timeline/timeline-meta.js +1 -0
  1218. package/static/devtools/timeline/timeline.js +1 -0
  1219. package/static/devtools/timeline/timeline_module.js +1 -0
  1220. package/static/devtools/timeline_model/timeline_model-legacy.js +1 -0
  1221. package/static/devtools/timeline_model/timeline_model.js +1 -0
  1222. package/static/devtools/timeline_model/timeline_model_module.js +0 -0
  1223. package/static/devtools/toolbox.html +20 -0
  1224. package/static/devtools/toolbox.js +1 -0
  1225. package/static/devtools/toolbox_bootstrap/toolbox_bootstrap.js +1 -0
  1226. package/static/devtools/ui/components/components.js +378 -0
  1227. package/static/devtools/ui/ui-legacy.js +1 -0
  1228. package/static/devtools/ui/ui.js +3 -0
  1229. package/static/devtools/ui/utils/utils.js +1 -0
  1230. package/static/devtools/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
  1231. package/static/devtools/wasmparser_worker/wasmparser_worker.js +1 -0
  1232. package/static/devtools/web_audio/graph_visualizer/graph_visualizer.js +1 -0
  1233. package/static/devtools/web_audio/web_audio-legacy.js +1 -0
  1234. package/static/devtools/web_audio/web_audio-meta.js +1 -0
  1235. package/static/devtools/web_audio/web_audio.js +23 -0
  1236. package/static/devtools/web_audio/web_audio_module.js +1 -0
  1237. package/static/devtools/webauthn/webauthn-legacy.js +1 -0
  1238. package/static/devtools/webauthn/webauthn-meta.js +1 -0
  1239. package/static/devtools/webauthn/webauthn.js +6 -0
  1240. package/static/devtools/webauthn/webauthn_module.js +1 -0
  1241. package/static/devtools/worker_app.html +20 -0
  1242. package/static/devtools/worker_app.js +1 -0
  1243. package/static/devtools/worker_main/worker_main-legacy.js +1 -0
  1244. package/static/devtools/worker_main/worker_main.js +1 -0
  1245. package/static/devtools/worker_service/worker_service.js +1 -0
  1246. package/static/devtools/workspace/workspace-legacy.js +1 -0
  1247. package/static/devtools/workspace/workspace.js +1 -0
  1248. package/static/devtools/workspace_diff/workspace_diff-legacy.js +1 -0
  1249. package/static/devtools/workspace_diff/workspace_diff.js +1 -0
  1250. package/static/devtools/workspace_diff/workspace_diff_module.js +0 -0
  1251. package/static/docs/swagger.json +2337 -279
  1252. package/static/function/client.js +1037 -992
  1253. package/build/routes/chromium/http/json-new.js +0 -23
  1254. package/build/routes/chromium/http/json-version-get.response.json +0 -37
  1255. package/build/routes/chromium/utils/cdp.d.ts +0 -2
  1256. package/build/routes/chromium/utils/cdp.js +0 -14
  1257. package/build/routes/chromium/ws/cdp-chromium.js +0 -10
  1258. package/src/routes/chromium/http/json-list.ts +0 -50
  1259. package/src/routes/chromium/utils/cdp.ts +0 -19
  1260. package/build/routes/{chromium/http/content-post.query.json → chrome/http/content.post.query.json} +0 -0
  1261. package/build/routes/{chromium/http/content-post.response.json → chrome/http/content.post.response.json} +0 -0
  1262. package/build/routes/{chromium/http/download-post.body.json → chrome/http/download.post.body.json} +0 -0
  1263. package/build/routes/{chromium/http/download-post.query.json → chrome/http/download.post.query.json} +0 -0
  1264. package/build/routes/{chromium/http/download-post.response.json → chrome/http/download.post.response.json} +0 -0
  1265. package/build/routes/{chromium/http/function-post.body.json → chrome/http/function.post.body.json} +0 -0
  1266. package/build/routes/{chromium/http/function-post.query.json → chrome/http/function.post.query.json} +0 -0
  1267. package/build/routes/{chromium/http/function-post.response.json → chrome/http/function.post.response.json} +0 -0
  1268. package/build/routes/{chromium/http/json-list.response.json → chrome/http/json-list.get.response.json} +0 -0
  1269. package/build/routes/{chromium/http/json-new.response.json → chrome/http/json-new.put.response.json} +0 -0
  1270. package/build/routes/{chromium/http/json-protocol-get.response.json → chrome/http/json-protocol.get.response.json} +0 -0
  1271. package/build/routes/{chromium/http/pdf-post.query.json → chrome/http/pdf.post.query.json} +0 -0
  1272. package/build/routes/{chromium/http/pdf-post.response.json → chrome/http/pdf.post.response.json} +0 -0
  1273. package/build/routes/{chromium/http/performance.body.json → chrome/http/performance.post.body.json} +0 -0
  1274. package/build/routes/{chromium/http/performance.query.json → chrome/http/performance.post.query.json} +0 -0
  1275. package/build/routes/{chromium/http/performance.response.json → chrome/http/performance.post.response.json} +0 -0
  1276. package/build/routes/{chromium/http/scrape-post.query.json → chrome/http/scrape.post.query.json} +0 -0
  1277. package/build/routes/{chromium/http/scrape-post.response.json → chrome/http/scrape.post.response.json} +0 -0
  1278. package/build/routes/{chromium/http/screenshot-post.query.json → chrome/http/screenshot.post.query.json} +0 -0
  1279. package/build/routes/{chromium/http/screenshot-post.response.json → chrome/http/screenshot.post.response.json} +0 -0
  1280. package/build/routes/{chromium/utils/performance/child.d.ts → chrome/tests/content.spec.d.ts} +0 -0
  1281. package/build/routes/{chromium/utils/performance/types.js → chrome/tests/download.spec.d.ts} +0 -0
  1282. package/build/routes/{chromium/ws/cdp-chromium.query.json → chrome/ws/browser.query.json} +0 -0
  1283. package/build/routes/{chromium/ws/playwright-chromium.query.json → chrome/ws/playwright.query.json} +0 -0
  1284. package/build/routes/{firefox/ws/playwright-firefox.query.json → chromium/ws/playwright.query.json} +0 -0
  1285. package/build/routes/{webkit/ws/playwright-webkit.query.json → firefox/ws/playwright.query.json} +0 -0
  1286. package/build/routes/management/http/{config-get.d.ts → config.get.d.ts} +0 -0
  1287. package/build/routes/management/http/{config-get.js → config.get.js} +0 -0
  1288. package/build/routes/management/http/{config-get.response.json → config.get.response.json} +0 -0
  1289. package/build/routes/management/http/{metrics-total-get.d.ts → metrics-total.get.d.ts} +0 -0
  1290. package/build/routes/management/http/{metrics-total-get.js → metrics-total.get.js} +0 -0
  1291. package/build/routes/management/http/{metrics-total-get.response.json → metrics-total.get.response.json} +0 -0
  1292. package/build/routes/management/http/{metrics-get.d.ts → metrics.get.d.ts} +0 -0
  1293. package/build/routes/management/http/{metrics-get.js → metrics.get.js} +0 -0
  1294. package/build/routes/management/http/{metrics-get.response.json → metrics.get.response.json} +0 -0
  1295. package/build/routes/management/http/{sessions-get.d.ts → sessions.get.d.ts} +0 -0
  1296. package/build/routes/management/http/{sessions-get.js → sessions.get.js} +0 -0
  1297. package/build/routes/management/http/{static-get.d.ts → static.get.d.ts} +0 -0
  1298. package/build/{routes/chromium/http/json-protocol-get.d.ts → shared/json-protocol.http.d.ts} +1 -1
  1299. package/build/{routes/chromium/http/json-version-get.d.ts → shared/json-version.http.d.ts} +1 -1
  1300. /package/build/{routes/chromium → shared}/utils/function/client.d.ts +0 -0
  1301. /package/build/{routes/chromium → shared}/utils/function/client.js +0 -0
  1302. /package/build/{routes/chromium → shared}/utils/function/handler.d.ts +0 -0
  1303. /package/build/{routes/chromium → shared}/utils/function/handler.js +0 -0
  1304. /package/build/{routes/chromium → shared}/utils/performance/child.js +0 -0
  1305. /package/build/{routes/chromium → shared}/utils/performance/main.d.ts +0 -0
  1306. /package/build/{routes/chromium → shared}/utils/performance/types.d.ts +0 -0
  1307. /package/src/routes/management/http/{config-get.ts → config.get.ts} +0 -0
  1308. /package/src/routes/management/http/{metrics-total-get.ts → metrics-total.get.ts} +0 -0
  1309. /package/src/routes/management/http/{metrics-get.ts → metrics.get.ts} +0 -0
  1310. /package/src/routes/management/http/{sessions-get.ts → sessions.get.ts} +0 -0
  1311. /package/src/{routes/chromium → shared}/utils/function/client.ts +0 -0
  1312. /package/src/{routes/chromium → shared}/utils/performance/child.ts +0 -0
  1313. /package/src/{routes/chromium → shared}/utils/performance/types.ts +0 -0
@@ -0,0 +1,3 @@
1
+ import{ObjectWrapper as e,UIString as t,Settings as i,EventTarget as s,Throttler as n}from"../common/common.js";import{ls as o,StringUtilities as r,NumberUtilities as a,ArrayUtilities as l,MapUtilities as h}from"../platform/platform.js";import{Runtime as d}from"../root/root.js";import{Platform as c,InspectorFrontendHost as u,userMetrics as m,UserMetrics as _,InspectorFrontendHostAPI as p}from"../host/host.js";import{DOMExtension as g}from"../dom_extension/dom_extension.js";import{TextRange as b,TextUtils as f}from"../text_utils/text_utils.js";import{ThemeSupport as w}from"../theme_support/theme_support.js";import*as v from"./utils/utils.js";export{v as Utils};class E{flavorChanged(e){}}var S=Object.freeze({__proto__:null,ContextFlavorListener:E});let y;class x{constructor(){this._flavors=new Map,this._eventDispatchers=new Map}static instance(e={forceNew:null}){const{forceNew:t}=e;return y&&!t||(y=new x),y}setFlavor(e,t){(this._flavors.get(e)||null)!==t&&(t?this._flavors.set(e,t):this._flavors.delete(e),this._dispatchFlavorChange(e,t))}_dispatchFlavorChange(e,t){for(const i of d.Runtime.instance().extensions(E))i.hasContextType(e)&&i.instance().then((e=>e.flavorChanged(t)));const i=this._eventDispatchers.get(e);i&&i.dispatchEventToListeners(C.FlavorChanged,t)}addFlavorChangeListener(t,i,s){let n=this._eventDispatchers.get(t);n||(n=new e.ObjectWrapper,this._eventDispatchers.set(t,n)),n.addEventListener(C.FlavorChanged,i,s)}removeFlavorChangeListener(e,t,i){const s=this._eventDispatchers.get(e);s&&(s.removeEventListener(C.FlavorChanged,t,i),s.hasEventListeners(C.FlavorChanged)||this._eventDispatchers.delete(e))}flavor(e){return this._flavors.get(e)||null}flavors(){return new Set(this._flavors.keys())}applicableExtensions(e){const t=new Set,i=this.flavors();for(const s of e)d.Runtime.instance().isExtensionApplicableToContextTypes(s,i)&&t.add(s);return t}}const C={FlavorChanged:Symbol("FlavorChanged")};var T=Object.freeze({__proto__:null,Context:x});d.RuntimeExtensionDescriptor;class I extends e.ObjectWrapper{constructor(e){super(),this._extension=e,this._enabled=!0,this._toggled=!1}id(){return this.actionDescriptor().actionId||""}extension(){return this._extension}async execute(){if(!this._extension.canInstantiate())return!1;const e=await this._extension.instance(),t=this.id();return e.handleAction(x.instance(),t)}icon(){return this.actionDescriptor().iconClass||""}toggledIcon(){return this.actionDescriptor().toggledIconClass||""}toggleWithRedColor(){return Boolean(this.actionDescriptor().toggleWithRedColor)}setEnabled(e){this._enabled!==e&&(this._enabled=e,this.dispatchEventToListeners(D.Enabled,e))}enabled(){return this._enabled}category(){return o`${this.actionDescriptor().category||""}`}tags(){const e=(this.actionDescriptor().tags||"").split(",");let t="";return e.forEach((e=>{t+=o(e.trim())+"\0"})),t}toggleable(){return Boolean(this.actionDescriptor().toggleable)}title(){let e=this._extension.title()||"";const t=this.actionDescriptor().options;if(t)for(const i of t)i.value!==this._toggled&&(e=o`${i.title}`);return e}toggled(){return this._toggled}setToggled(e){console.assert(this.toggleable(),"Shouldn't be toggling an untoggleable action",this.id()),this._toggled!==e&&(this._toggled=e,this.dispatchEventToListeners(D.Toggled,e))}actionDescriptor(){return this._extension.descriptor()}}class k extends e.ObjectWrapper{constructor(e){super(),this._enabled=!0,this._toggled=!1,this.actionRegistration=e}id(){return this.actionRegistration.actionId}async execute(){if(!this.actionRegistration.loadActionDelegate)return!1;const e=await this.actionRegistration.loadActionDelegate(),t=this.id();return e.handleAction(x.instance(),t)}icon(){return this.actionRegistration.iconClass}toggledIcon(){return this.actionRegistration.toggledIconClass}toggleWithRedColor(){return Boolean(this.actionRegistration.toggleWithRedColor)}setEnabled(e){this._enabled!==e&&(this._enabled=e,this.dispatchEventToListeners(D.Enabled,e))}enabled(){return this._enabled}category(){return this.actionRegistration.category}tags(){if(this.actionRegistration.tags)return this.actionRegistration.tags.map((e=>e())).join("\0")}toggleable(){return Boolean(this.actionRegistration.toggleable)}title(){let e=this.actionRegistration.title?this.actionRegistration.title():"";const t=this.actionRegistration.options;if(t)for(const i of t)i.value!==this._toggled&&(e=i.title());return e}toggled(){return this._toggled}setToggled(e){console.assert(this.toggleable(),"Shouldn't be toggling an untoggleable action",this.id()),this._toggled!==e&&(this._toggled=e,this.dispatchEventToListeners(D.Toggled,e))}options(){return this.actionRegistration.options}contextTypes(){if(this.actionRegistration.contextTypes)return this.actionRegistration.contextTypes()}canInstantiate(){return Boolean(this.actionRegistration.loadActionDelegate)}bindings(){return this.actionRegistration.bindings}experiment(){return this.actionRegistration.experiment}condition(){return this.actionRegistration.condition}}const M=[],L=new Set;function P(){return M.filter((e=>d.Runtime.isDescriptorEnabled({experiment:e.experiment(),condition:e.condition()})))}const D={Enabled:Symbol("Enabled"),Toggled:Symbol("Toggled")},A={ELEMENTS:o`Elements`,SCREENSHOT:o`Screenshot`,NETWORK:o`Network`,MEMORY:o`Memory`,JAVASCRIPT_PROFILER:o`JavaScript Profiler`,CONSOLE:o`Console`,PERFORMANCE:o`Performance`,MOBILE:o`Mobile`,SENSORS:o`Sensors`};var R=Object.freeze({__proto__:null,LegacyActionRegistration:I,PreRegisteredAction:k,registerActionExtension:function(e){const t=e.actionId;if(L.has(t))throw new Error(`Duplicate Action id '${t}': ${(new Error).stack}`);L.add(t),M.push(new k(e))},getRegisteredActionExtensions:P,Events:D,ActionCategory:A});let O;class B{constructor(){this._actionsById=new Map,this._registerActions()}static instance(e={forceNew:null}){const{forceNew:t}=e;return O&&!t||(O=new B),O}static removeInstance(){O=void 0}_registerActions(){const e=P();for(const t of e)this._actionsById.set(t.id(),t),t.canInstantiate()||t.setEnabled(!1);d.Runtime.instance().extensions("action").forEach((function(e){const t=e.descriptor().actionId;if(!t)return void console.error("No actionId provided for extension "+e.descriptor().name);if(this._actionsById.get(t))throw new Error(`Duplicate action id '${t}'`);console.assert(!this._actionsById.get(t));const i=new I(e);!i.category()||i.title()?this._actionsById.set(t,i):console.error("Category actions require a title for command menu: "+t);e.canInstantiate()||i.setEnabled(!1)}),this)}availableActions(){return this.applicableActions([...this._actionsById.keys()],x.instance())}actions(){return[...this._actionsById.values()]}applicableActions(e,t){const i=[],s=[];for(const o of e){const e=this._actionsById.get(o);e&&e.enabled()&&(e instanceof I?i.push(e.extension()):n(e,t.flavors())&&s.push(e))}return[...[...t.applicableExtensions(i)].map(function(e){const t=e.descriptor().actionId;return this.action(t)}.bind(this)),...s];function n(e,t){const i=e.contextTypes();if(!i)return!0;for(let e=0;e<i.length;++e){const s=i[e];if(Boolean(s)&&t.has(s))return!0}return!1}}action(e){return this._actionsById.get(e)||null}}var F=Object.freeze({__proto__:null,ActionRegistry:B});let z=0;function W(e){return(e||"")+ ++z}function N(e,t){const i=W("labelledControl");t.id=i,e.setAttribute("for",i)}function H(e){e.setAttribute("role","alert"),e.setAttribute("aria-live","polite")}function V(e){e.setAttribute("role","button")}function U(e){e.setAttribute("role","dialog"),e.setAttribute("aria-modal","true")}function K(e){e.setAttribute("role","group")}function j(e){e.setAttribute("role","link")}function q(e){V(e),e.setAttribute("aria-haspopup","true")}function $(e){e.setAttribute("role","tab")}function G(e){e.setAttribute("role","tabpanel")}function X(e){e.setAttribute("role","tree")}function Y(e){e.setAttribute("role","treeitem")}function Q(e){e.setAttribute("role","textbox")}function Z(e){e.setAttribute("role","menu")}function J(e){e.setAttribute("role","menuitem")}function ee(e){J(e),e.setAttribute("aria-haspopup","true")}function te(e){e.setAttribute("role","listbox")}function ie(e){e.setAttribute("aria-multiselectable","true")}function se(e){e.setAttribute("role","option")}function ne(e){e.setAttribute("aria-hidden","true")}function oe(e,t){e.setAttribute("role","heading"),e.setAttribute("aria-level",t.toString())}function re(e){return e.hasAttribute("role")}function ae(e,t){t?e.setAttribute("aria-placeholder",t):e.removeAttribute("aria-placeholder")}function le(e){e.id||(e.id=W("ariaElement"))}function he(e,t){t?(le(t),e.setAttribute("aria-controls",t.id)):e.removeAttribute("aria-controls")}function de(e,t){e.setAttribute("aria-expanded",Boolean(t).toString())}function ce(e){e.removeAttribute("aria-expanded")}const ue={inline:"inline",list:"list",both:"both",none:"none"};function me(e,t){e.setAttribute("aria-selected",Boolean(t).toString())}function _e(e){e.removeAttribute("aria-selected")}function pe(e,t){t?e.setAttribute("aria-invalid",t.toString()):e.removeAttribute("aria-invalid")}function ge(e,t){e.setAttribute("aria-pressed",Boolean(t).toString())}function be(e,t){e.setAttribute("aria-label",t)}const fe=new WeakMap;function we(e,t){const i=fe.get(e);if(i&&i.remove(),e.removeAttribute("data-aria-utils-animation-hack"),!t)return fe.delete(e),void e.removeAttribute("aria-describedby");const s=document.createElement("span");s.textContent=t,s.style.display="none",le(s),e.setAttribute("aria-describedby",s.id),fe.set(e,s);if(!new Set(["INPUT","IMG"]).has(e.tagName))return void e.appendChild(s);e.insertAdjacentElement("afterend",s)||(e.setAttribute("data-aria-utils-animation-hack","sorry"),e.addEventListener("animationend",(()=>{fe.get(e)===s&&(e.removeAttribute("data-aria-utils-animation-hack"),e.insertAdjacentElement("afterend",s))}),{once:!0}))}function ve(e,t){t?(t.isConnected&&e.isConnected?console.assert(e.hasSameShadowRoot(t),"elements are not in the same shadow dom"):console.warn("One or more elements in an active-descendant relationship are not yet attached to the DOM tree."),le(t),e.setAttribute("aria-activedescendant",t.id)):e.removeAttribute("aria-activedescendant")}function Ee(e,t){e.setAttribute("aria-setsize",t.toString())}function Se(e,t){e.setAttribute("aria-posinset",t.toString())}const ye=new WeakMap;function xe(e,t){const i=t.ownerDocument;let s=ye.get(i);s||(s=i.body.createChild("div"),function(e){e.style.position="absolute",e.style.left="-999em",e.style.width="100em",e.style.overflow="hidden"}(s),s.setAttribute("role","alert"),s.setAttribute("aria-atomic","true"),ye.set(i,s)),s.textContent="",s.textContent=r.trimEndWithMaxLength(e,1e4)}var Ce=Object.freeze({__proto__:null,nextId:W,bindLabelToControl:N,markAsAlert:H,markAsApplication:function(e){e.setAttribute("role","application")},markAsButton:V,markAsCheckbox:function(e){e.setAttribute("role","checkbox")},markAsCombobox:function(e){e.setAttribute("role","combobox")},markAsModalDialog:U,markAsGroup:K,markAsLink:j,markAsMenuButton:q,markAsProgressBar:function(e,t=0,i=100){e.setAttribute("role","progressbar"),e.setAttribute("aria-valuemin",t.toString()),e.setAttribute("aria-valuemax",i.toString())},markAsTab:$,markAsTablist:function(e){e.setAttribute("role","tablist")},markAsTabpanel:G,markAsTree:X,markAsTreeitem:Y,markAsTextBox:Q,markAsMenu:Z,markAsMenuItem:J,markAsMenuItemSubMenu:ee,markAsList:function(e){e.setAttribute("role","list")},markAsListitem:function(e){e.setAttribute("role","listitem")},markAsListBox:te,markAsMultiSelectable:ie,markAsOption:se,markAsRadioGroup:function(e){e.setAttribute("role","radiogroup")},markAsHidden:ne,markAsSlider:function(e,t=0,i=100){e.setAttribute("role","slider"),e.setAttribute("aria-valuemin",String(t)),e.setAttribute("aria-valuemax",String(i))},markAsHeading:oe,markAsPoliteLiveRegion:function(e,t){e.setAttribute("aria-live","polite"),t&&e.setAttribute("aria-atomic","true")},hasRole:re,removeRole:function(e){e.removeAttribute("role")},setPlaceholder:ae,markAsPresentation:function(e){e.setAttribute("role","presentation")},markAsStatus:function(e){e.setAttribute("role","status")},ensureId:le,setAriaValueText:function(e,t){e.setAttribute("aria-valuetext",t)},setAriaValueNow:function(e,t){e.setAttribute("aria-valuenow",t)},setAriaValueMinMax:function(e,t,i){e.setAttribute("aria-valuemin",t),e.setAttribute("aria-valuemax",i)},setControls:he,setChecked:function(e,t){e.setAttribute("aria-checked",Boolean(t).toString())},setCheckboxAsIndeterminate:function(e){e.setAttribute("aria-checked","mixed")},setDisabled:function(e,t){e.setAttribute("aria-disabled",Boolean(t).toString())},setExpanded:de,unsetExpandable:ce,setHidden:function(e,t){e.setAttribute("aria-hidden",Boolean(t).toString())},setLevel:function(e,t){e.setAttribute("aria-level",t.toString())},AutocompleteInteractionModel:ue,setAutocomplete:function(e,t=ue.none){e.setAttribute("aria-autocomplete",t)},setSelected:me,clearSelected:_e,setInvalid:pe,setPressed:ge,setValueNow:function(e,t){e.setAttribute("aria-valuenow",t.toString())},setValueText:function(e,t){e.setAttribute("aria-valuetext",t.toString())},setProgressBarValue:function(e,t,i){e.setAttribute("aria-valuenow",t.toString()),i&&e.setAttribute("aria-valuetext",i)},setAccessibleName:be,setDescription:we,setActiveDescendant:ve,setSetSize:Ee,setPositionInSet:Se,alert:xe});function Te(e,t,i){return self.customElements.define(t,class extends i{constructor(){super(),this.setAttribute("is",t)}},{extends:e}),()=>document.createElement(e,{is:t})}let Ie=null;class ke extends HTMLSpanElement{constructor(){super(),this._descriptor=null,this._spriteSheet=null,this._iconType=""}static create(e,t){Ie||(Ie=Te("span","ui-icon",ke));const i=Ie();return t&&(i.className=t),e&&i.setIconType(e),i}setIconType(e){this._descriptor&&(this.style.removeProperty("--spritesheet-position"),this.style.removeProperty("width"),this.style.removeProperty("height"),this._toggleClasses(!1),this._iconType="",this._descriptor=null,this._spriteSheet=null);const t=Pe.get(e)||null;if(t){if(this._iconType=e,this._descriptor=t,this._spriteSheet=Le.get(this._descriptor.spritesheet)||null,!this._spriteSheet)throw new Error(`ERROR: icon ${this._iconType} has unknown spritesheet: ${this._descriptor.spritesheet}`);this.style.setProperty("--spritesheet-position",this._propertyValue()),this.style.setProperty("width",this._spriteSheet.cellWidth+"px"),this.style.setProperty("height",this._spriteSheet.cellHeight+"px"),this._toggleClasses(!0)}else if(e)throw new Error("ERROR: failed to find icon descriptor for type: "+e)}_toggleClasses(e){this._descriptor&&(this.classList.toggle("spritesheet-"+this._descriptor.spritesheet,e),this.classList.toggle(this._iconType,e),this.classList.toggle("icon-mask",e&&Boolean(this._descriptor.isMask)),this.classList.toggle("icon-invert",e&&Boolean(this._descriptor.invert)))}_propertyValue(){if(!this._descriptor||!this._spriteSheet)throw new Error("Descriptor and spriteSheet expected to be present");if(!this._descriptor.coordinates){if(!this._descriptor.position||!Me.test(this._descriptor.position))throw new Error(`ERROR: icon '${this._iconType}' has malformed position: '${this._descriptor.position}'`);const e=this._descriptor.position[0].toLowerCase().charCodeAt(0)-97,t=parseInt(this._descriptor.position.substring(1),10)-1;this._descriptor.coordinates={x:-(this._spriteSheet.cellWidth+this._spriteSheet.padding)*e,y:(this._spriteSheet.cellHeight+this._spriteSheet.padding)*(t+1)-this._spriteSheet.padding}}return`${this._descriptor.coordinates.x}px ${this._descriptor.coordinates.y}px`}}const Me=/^[a-z][1-9][0-9]*$/,Le=new Map([["smallicons",{cellWidth:10,cellHeight:10,padding:10}],["mediumicons",{cellWidth:16,cellHeight:16,padding:0}],["largeicons",{cellWidth:28,cellHeight:24,padding:0}],["arrowicons",{cellWidth:19,cellHeight:19,padding:0}]]),Pe=new Map([["smallicon-bezier",{position:"a5",spritesheet:"smallicons",isMask:!0}],["smallicon-checkmark",{position:"b5",spritesheet:"smallicons"}],["smallicon-checkmark-square",{position:"b6",spritesheet:"smallicons",isMask:!0}],["smallicon-checkmark-behind",{position:"d6",spritesheet:"smallicons",isMask:!0}],["smallicon-command-result",{position:"a4",spritesheet:"smallicons"}],["smallicon-contrast-ratio",{position:"a6",spritesheet:"smallicons",isMask:!0}],["smallicon-cross",{position:"b4",spritesheet:"smallicons"}],["smallicon-device",{position:"c5",spritesheet:"smallicons"}],["smallicon-error",{position:"c4",spritesheet:"smallicons"}],["smallicon-expand-less",{position:"f5",spritesheet:"smallicons",isMask:!0}],["smallicon-expand-more",{position:"e6",spritesheet:"smallicons",isMask:!0}],["smallicon-green-arrow",{position:"a3",spritesheet:"smallicons"}],["smallicon-green-ball",{position:"b3",spritesheet:"smallicons"}],["smallicon-info",{position:"c3",spritesheet:"smallicons"}],["smallicon-inline-breakpoint-conditional",{position:"d4",spritesheet:"smallicons"}],["smallicon-inline-breakpoint",{position:"d5",spritesheet:"smallicons"}],["smallicon-no",{position:"c6",spritesheet:"smallicons",isMask:!0}],["smallicon-orange-ball",{position:"d3",spritesheet:"smallicons"}],["smallicon-red-ball",{position:"a2",spritesheet:"smallicons"}],["smallicon-shadow",{position:"b2",spritesheet:"smallicons",isMask:!0}],["smallicon-step-in",{position:"c2",spritesheet:"smallicons"}],["smallicon-step-out",{position:"d2",spritesheet:"smallicons"}],["smallicon-text-prompt",{position:"e5",spritesheet:"smallicons"}],["smallicon-thick-left-arrow",{position:"e4",spritesheet:"smallicons"}],["smallicon-thick-right-arrow",{position:"e3",spritesheet:"smallicons"}],["smallicon-triangle-down",{position:"e2",spritesheet:"smallicons",isMask:!0}],["smallicon-triangle-right",{position:"a1",spritesheet:"smallicons",isMask:!0}],["smallicon-triangle-up",{position:"b1",spritesheet:"smallicons",isMask:!0}],["smallicon-user-command",{position:"c1",spritesheet:"smallicons"}],["smallicon-warning",{position:"d1",spritesheet:"smallicons"}],["smallicon-network-product",{position:"e1",spritesheet:"smallicons"}],["smallicon-clear-warning",{position:"f1",spritesheet:"smallicons",isMask:!0}],["smallicon-clear-info",{position:"f2",spritesheet:"smallicons"}],["smallicon-clear-error",{position:"f3",spritesheet:"smallicons"}],["smallicon-account-circle",{position:"f4",spritesheet:"smallicons"}],["smallicon-videoplayer-paused",{position:"f6",spritesheet:"smallicons",isMask:!0}],["smallicon-videoplayer-playing",{position:"g6",spritesheet:"smallicons",isMask:!0}],["smallicon-videoplayer-destroyed",{position:"g5",spritesheet:"smallicons",isMask:!0}],["smallicon-issue-yellow-text",{position:"g1",spritesheet:"smallicons"}],["smallicon-issue-blue-text",{position:"g2",spritesheet:"smallicons"}],["mediumicon-clear-storage",{position:"a4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-cookie",{position:"b4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-database",{position:"c4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-info",{position:"c1",spritesheet:"mediumicons",isMask:!0}],["mediumicon-manifest",{position:"d4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-service-worker",{position:"a3",spritesheet:"mediumicons",isMask:!0}],["mediumicon-table",{position:"b3",spritesheet:"mediumicons",isMask:!0}],["mediumicon-arrow-in-circle",{position:"c3",spritesheet:"mediumicons",isMask:!0}],["mediumicon-file-sync",{position:"d3",spritesheet:"mediumicons",invert:!0}],["mediumicon-file",{position:"a2",spritesheet:"mediumicons",invert:!0}],["mediumicon-gray-cross-active",{position:"b2",spritesheet:"mediumicons"}],["mediumicon-gray-cross-hover",{position:"c2",spritesheet:"mediumicons"}],["mediumicon-red-cross-active",{position:"d2",spritesheet:"mediumicons"}],["mediumicon-red-cross-hover",{position:"a1",spritesheet:"mediumicons"}],["mediumicon-search",{position:"b1",spritesheet:"mediumicons"}],["mediumicon-replace",{position:"c5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-account-circle",{position:"e4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-warning-triangle",{position:"e1",spritesheet:"mediumicons"}],["mediumicon-error-circle",{position:"e3",spritesheet:"mediumicons"}],["mediumicon-info-circle",{position:"e2",spritesheet:"mediumicons"}],["mediumicon-bug",{position:"d1",spritesheet:"mediumicons",isMask:!0}],["mediumicon-list",{position:"e5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-warning",{position:"d5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-sync",{position:"a5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-fetch",{position:"b5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-cloud",{position:"a6",spritesheet:"mediumicons",isMask:!0}],["mediumicon-bell",{position:"b6",spritesheet:"mediumicons",isMask:!0}],["mediumicon-payment",{position:"c6",spritesheet:"mediumicons",isMask:!0}],["mediumicon-schedule",{position:"d6",spritesheet:"mediumicons",isMask:!0}],["mediumicon-frame",{position:"e6",spritesheet:"mediumicons",isMask:!0}],["mediumicon-frame-embedded",{position:"f6",spritesheet:"mediumicons",isMask:!0}],["mediumicon-frame-opened",{position:"f5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-frame-embedded-blocked",{position:"f4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-frame-blocked",{position:"g4",spritesheet:"mediumicons",isMask:!0}],["mediumicon-elements-panel",{position:"f3",spritesheet:"mediumicons",isMask:!0}],["mediumicon-network-panel",{position:"f2",spritesheet:"mediumicons",isMask:!0}],["mediumicon-sources-panel",{position:"g1",spritesheet:"mediumicons",isMask:!0}],["mediumicon-frame-top",{position:"f1",spritesheet:"mediumicons",isMask:!0}],["mediumicon-checkmark",{position:"g2",spritesheet:"mediumicons",isMask:!0}],["mediumicon-not-available",{position:"g3",spritesheet:"mediumicons",isMask:!0}],["mediumicon-warning-circle",{position:"g5",spritesheet:"mediumicons",isMask:!0}],["mediumicon-feedback",{position:"g6",spritesheet:"mediumicons",isMask:!0}],["badge-navigator-file-sync",{position:"a9",spritesheet:"largeicons"}],["largeicon-add",{position:"a8",spritesheet:"largeicons",isMask:!0}],["largeicon-camera",{position:"b7",spritesheet:"largeicons",isMask:!0}],["largeicon-center",{position:"c9",spritesheet:"largeicons",isMask:!0}],["largeicon-checkmark",{position:"c8",spritesheet:"largeicons",isMask:!0}],["largeicon-chevron",{position:"c7",spritesheet:"largeicons",isMask:!0}],["largeicon-clear",{position:"a6",spritesheet:"largeicons",isMask:!0}],["largeicon-copy",{position:"b6",spritesheet:"largeicons",isMask:!0}],["largeicon-deactivate-breakpoints",{position:"c6",spritesheet:"largeicons",isMask:!0}],["largeicon-delete",{position:"d9",spritesheet:"largeicons",isMask:!0}],["largeicon-delete-filter",{position:"i5",spritesheet:"largeicons",isMask:!0}],["largeicon-delete-list",{position:"i6",spritesheet:"largeicons",isMask:!0}],["largeicon-dock-to-bottom",{position:"d8",spritesheet:"largeicons",isMask:!0}],["largeicon-dock-to-left",{position:"d7",spritesheet:"largeicons",isMask:!0}],["largeicon-dock-to-right",{position:"d6",spritesheet:"largeicons",isMask:!0}],["largeicon-download",{position:"h6",spritesheet:"largeicons",isMask:!0}],["largeicon-edit",{position:"a5",spritesheet:"largeicons",isMask:!0}],["largeicon-eyedropper",{position:"b5",spritesheet:"largeicons",isMask:!0}],["largeicon-filter",{position:"c5",spritesheet:"largeicons",isMask:!0}],["largeicon-font-editor",{position:"i7",spritesheet:"largeicons",isMask:!0}],["largeicon-hide-bottom-sidebar",{position:"e9",spritesheet:"largeicons",isMask:!0}],["largeicon-hide-left-sidebar",{position:"e8",spritesheet:"largeicons",isMask:!0}],["largeicon-hide-right-sidebar",{position:"e7",spritesheet:"largeicons",isMask:!0}],["largeicon-hide-top-sidebar",{position:"e6",spritesheet:"largeicons",isMask:!0}],["largeicon-large-list",{position:"e5",spritesheet:"largeicons",isMask:!0}],["largeicon-layout-editor",{position:"a4",spritesheet:"largeicons",isMask:!0}],["largeicon-load",{position:"h5",spritesheet:"largeicons",isMask:!0}],["largeicon-longclick-triangle",{position:"b4",spritesheet:"largeicons",isMask:!0}],["largeicon-menu",{position:"c4",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-domain",{position:"d4",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-file",{position:"e4",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-file-sync",{position:"f9",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-folder",{position:"f8",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-frame",{position:"f7",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-snippet",{position:"f6",spritesheet:"largeicons",isMask:!0}],["largeicon-navigator-worker",{position:"f5",spritesheet:"largeicons",isMask:!0}],["largeicon-node-search",{position:"f4",spritesheet:"largeicons",isMask:!0}],["largeicon-pan",{position:"a3",spritesheet:"largeicons",isMask:!0}],["largeicon-pause-animation",{position:"b3",spritesheet:"largeicons",isMask:!0}],["largeicon-pause",{position:"c3",spritesheet:"largeicons",isMask:!0}],["largeicon-pause-on-exceptions",{position:"d3",spritesheet:"largeicons",isMask:!0}],["largeicon-phone",{position:"e3",spritesheet:"largeicons",isMask:!0}],["largeicon-play-animation",{position:"f3",spritesheet:"largeicons",isMask:!0}],["largeicon-play-back",{position:"a2",spritesheet:"largeicons",isMask:!0}],["largeicon-play",{position:"b2",spritesheet:"largeicons",isMask:!0}],["largeicon-pretty-print",{position:"c2",spritesheet:"largeicons",isMask:!0}],["largeicon-refresh",{position:"d2",spritesheet:"largeicons",isMask:!0}],["largeicon-replay-animation",{position:"e2",spritesheet:"largeicons",isMask:!0}],["largeicon-resume",{position:"f2",spritesheet:"largeicons",isMask:!0}],["largeicon-rotate",{position:"g9",spritesheet:"largeicons",isMask:!0}],["largeicon-rotate-screen",{position:"g8",spritesheet:"largeicons",isMask:!0}],["largeicon-search",{position:"h4",spritesheet:"largeicons",isMask:!0}],["largeicon-settings-gear",{position:"g7",spritesheet:"largeicons",isMask:!0}],["largeicon-shortcut-changed",{position:"i4",spritesheet:"largeicons",isMask:!0}],["largeicon-show-bottom-sidebar",{position:"g6",spritesheet:"largeicons",isMask:!0}],["largeicon-show-left-sidebar",{position:"g5",spritesheet:"largeicons",isMask:!0}],["largeicon-show-right-sidebar",{position:"g4",spritesheet:"largeicons",isMask:!0}],["largeicon-show-top-sidebar",{position:"g3",spritesheet:"largeicons",isMask:!0}],["largeicon-start-recording",{position:"g2",spritesheet:"largeicons",isMask:!0}],["largeicon-step-into",{position:"a1",spritesheet:"largeicons",isMask:!0}],["largeicon-step-out",{position:"b1",spritesheet:"largeicons",isMask:!0}],["largeicon-step-over",{position:"c1",spritesheet:"largeicons",isMask:!0}],["largeicon-step",{position:"h1",spritesheet:"largeicons",isMask:!0}],["largeicon-stop-recording",{position:"d1",spritesheet:"largeicons",isMask:!0}],["largeicon-terminate-execution",{position:"h2",spritesheet:"largeicons",isMask:!0}],["largeicon-trash-bin",{position:"f1",spritesheet:"largeicons",isMask:!0}],["largeicon-undo",{position:"h7",spritesheet:"largeicons",isMask:!0}],["largeicon-undock",{position:"g1",spritesheet:"largeicons",isMask:!0}],["largeicon-visibility",{position:"h9",spritesheet:"largeicons",isMask:!0}],["largeicon-waterfall",{position:"h8",spritesheet:"largeicons",isMask:!0}],["largeicon-breaking-change",{position:"h3",spritesheet:"largeicons"}],["largeicon-link",{position:"i1",spritesheet:"largeicons",isMask:!0}],["largeicon-dual-screen",{position:"i2",spritesheet:"largeicons",isMask:!0}],["largeicon-experimental-api",{position:"i3",spritesheet:"largeicons",isMask:!0}],["mediumicon-arrow-top",{position:"a4",spritesheet:"arrowicons"}],["mediumicon-arrow-bottom",{position:"a3",spritesheet:"arrowicons"}],["mediumicon-arrow-left",{position:"a2",spritesheet:"arrowicons"}],["mediumicon-arrow-right",{position:"a1",spritesheet:"arrowicons"}]]);var De=Object.freeze({__proto__:null,Icon:ke,Descriptor:undefined,SpriteSheet:undefined});const Ae=1e-5;class Re{constructor(e,t,i){this.x=e,this.y=t,this.z=i}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}normalize(){const e=this.length();e<=Ae||(this.x/=e,this.y/=e,this.z/=e)}}class Oe{constructor(e,t){this.x=e,this.y=t}distanceTo(e){return Math.sqrt(Math.pow(e.x-this.x,2)+Math.pow(e.y-this.y,2))}projectOn(e){return 0===e.x&&0===e.y?new Oe(0,0):e.scale((this.x*e.x+this.y*e.y)/(Math.pow(e.x,2)+Math.pow(e.y,2)))}scale(e){return new Oe(this.x*e,this.y*e)}toString(){return Math.round(100*this.x)/100+", "+Math.round(100*this.y)/100}}class Be{constructor(e,t){this.controlPoints=[e,t]}static parse(e){const t=Be.KeywordValues,i=e.toLowerCase().replace(/\s+/g,"");if(t.has(i))return Be.parse(t.get(i));const s=i.match(/^cubic-bezier\(([^,]+),([^,]+),([^,]+),([^,]+)\)$/);if(s){const e=new Oe(parseFloat(s[1]),parseFloat(s[2])),t=new Oe(parseFloat(s[3]),parseFloat(s[4]));return new Be(e,t)}return null}evaluateAt(e){function t(e,t,i){return 3*(1-i)*(1-i)*i*e+3*(1-i)*i*i*t+Math.pow(i,3)}const i=t(this.controlPoints[0].x,this.controlPoints[1].x,e),s=t(this.controlPoints[0].y,this.controlPoints[1].y,e);return new Oe(i,s)}asCSSText(){const e="cubic-bezier("+this.controlPoints.join(", ")+")",t=Be.KeywordValues;for(const[i,s]of t)if(e===s)return i;return e}}Be.Regex=/((cubic-bezier\([^)]+\))|\b(linear|ease-in-out|ease-in|ease-out|ease)\b)/g,Be.KeywordValues=new Map([["linear","cubic-bezier(0, 0, 1, 1)"],["ease","cubic-bezier(0.25, 0.1, 0.25, 1)"],["ease-in","cubic-bezier(0.42, 0, 1, 1)"],["ease-in-out","cubic-bezier(0.42, 0, 0.58, 1)"],["ease-out","cubic-bezier(0, 0, 0.58, 1)"]]);class Fe{constructor(e,t,i){this.alpha=e,this.beta=t,this.gamma=i}static fromDeviceOrientationRotationMatrix(e){let t,i,s;return Math.abs(e.m33)<Ae?Math.abs(e.m13)<Ae?(t=Math.atan2(e.m12,e.m11),i=e.m23>0?Math.PI/2:-Math.PI/2,s=0):e.m13>0?(t=Math.atan2(-e.m21,e.m22),i=Math.asin(e.m23),s=-Math.PI/2):(t=Math.atan2(e.m21,-e.m22),i=-Math.asin(e.m23),i+=i>0||Math.abs(i)<Ae?-Math.PI:Math.PI,s=-Math.PI/2):e.m33>0?(t=Math.atan2(-e.m21,e.m22),i=Math.asin(e.m23),s=Math.atan2(-e.m13,e.m33)):(t=Math.atan2(e.m21,-e.m22),i=-Math.asin(e.m23),i+=i>0||Math.abs(i)<Ae?-Math.PI:Math.PI,s=Math.atan2(e.m13,-e.m33)),t<-Ae&&(t+=2*Math.PI),t=Number(Ne(t).toFixed(6)),i=Number(Ne(i).toFixed(6)),s=Number(Ne(s).toFixed(6)),new Fe(t,i,s)}}const ze=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z},We=function(e,t){const i=e.x*t.m14+e.y*t.m24+e.z*t.m34+t.m44,s=(e.x*t.m11+e.y*t.m21+e.z*t.m31+t.m41)/i,n=(e.x*t.m12+e.y*t.m22+e.z*t.m32+t.m42)/i,o=(e.x*t.m13+e.y*t.m23+e.z*t.m33+t.m43)/i;return new Re(s,n,o)},Ne=function(e){return 180*e/Math.PI};class He{constructor(e,t){this.width=e,this.height=t}clipTo(e){return e?new He(Math.min(this.width,e.width),Math.min(this.height,e.height)):this}scale(e){return new He(this.width*e,this.height*e)}isEqual(e){return null!==e&&this.width===e.width&&this.height===e.height}widthToMax(e){return new He(Math.max(this.width,"number"==typeof e?e:e.width),this.height)}addWidth(e){return new He(this.width+("number"==typeof e?e:e.width),this.height)}heightToMax(e){return new He(this.width,Math.max(this.height,"number"==typeof e?e:e.height))}addHeight(e){return new He(this.width,this.height+("number"==typeof e?e:e.height))}}class Ve{constructor(e,t,i,s){this.left=e,this.top=t,this.width=i,this.height=s}isEqual(e){return null!==e&&this.left===e.left&&this.top===e.top&&this.width===e.width&&this.height===e.height}scale(e){return new Ve(this.left*e,this.top*e,this.width*e,this.height*e)}size(){return new He(this.width,this.height)}relativeTo(e){return new Ve(this.left-e.left,this.top-e.top,this.width,this.height)}rebaseTo(e){return new Ve(this.left+e.left,this.top+e.top,this.width,this.height)}}class Ue{constructor(e,t){if(this.minimum=e||new He(0,0),this.preferred=t||this.minimum,this.minimum.width>this.preferred.width||this.minimum.height>this.preferred.height)throw new Error("Minimum size is greater than preferred.")}isEqual(e){return null!==e&&this.minimum.isEqual(e.minimum)&&this.preferred.isEqual(e.preferred)}widthToMax(e){return"number"==typeof e?new Ue(this.minimum.widthToMax(e),this.preferred.widthToMax(e)):new Ue(this.minimum.widthToMax(e.minimum),this.preferred.widthToMax(e.preferred))}addWidth(e){return"number"==typeof e?new Ue(this.minimum.addWidth(e),this.preferred.addWidth(e)):new Ue(this.minimum.addWidth(e.minimum),this.preferred.addWidth(e.preferred))}heightToMax(e){return"number"==typeof e?new Ue(this.minimum.heightToMax(e),this.preferred.heightToMax(e)):new Ue(this.minimum.heightToMax(e.minimum),this.preferred.heightToMax(e.preferred))}addHeight(e){return"number"==typeof e?new Ue(this.minimum.addHeight(e),this.preferred.addHeight(e)):new Ue(this.minimum.addHeight(e.minimum),this.preferred.addHeight(e.preferred))}}var Ke=Object.freeze({__proto__:null,_Eps:Ae,Vector:Re,Point:Oe,CubicBezier:Be,EulerAngles:Fe,scalarProduct:ze,crossProduct:function(e,t){const i=e.y*t.z-e.z*t.y,s=e.z*t.x-e.x*t.z,n=e.x*t.y-e.y*t.x;return new Re(i,s,n)},subtract:function(e,t){const i=e.x-t.x,s=e.y-t.y,n=e.z-t.z;return new Re(i,s,n)},multiplyVectorByMatrixAndNormalize:We,calculateAngle:function(e,t){const i=e.length(),s=t.length();if(i<=Ae||s<=Ae)return 0;const n=ze(e,t)/i/s;return Math.abs(n)>1?0:Ne(Math.acos(n))},degreesToRadians:function(e){return e*Math.PI/180},degreesToGradians:function(e){return e/9*10},degreesToTurns:function(e){return e/360},radiansToDegrees:Ne,radiansToGradians:function(e){return 200*e/Math.PI},radiansToTurns:function(e){return e/(2*Math.PI)},gradiansToRadians:function(e){return e*Math.PI/200},turnsToRadians:function(e){return 2*e*Math.PI},boundsForTransformedPoints:function(e,t,i){i||(i={minX:1/0,maxX:-1/0,minY:1/0,maxY:-1/0}),t.length%3&&console.warn("Invalid size of points array");for(let s=0;s<t.length;s+=3){let n=new Re(t[s],t[s+1],t[s+2]);n=We(n,e),i.minX=Math.min(i.minX,n.x),i.maxX=Math.max(i.maxX,n.x),i.minY=Math.min(i.minY,n.y),i.maxY=Math.max(i.maxY,n.y)}return i},Size:He,Insets:class{constructor(e,t,i,s){this.left=e,this.top=t,this.right=i,this.bottom=s}isEqual(e){return null!==e&&this.left===e.left&&this.top===e.top&&this.right===e.right&&this.bottom===e.bottom}},Rect:Ve,Constraints:Ue});class je{constructor(e,t,i,s){this.descriptors=e,this.action=t,this.type=i,this.keybindSets=s||new Set}title(){return this.descriptors.map((e=>e.name)).join(" ")}isDefault(){return this.type===tt.DefaultShortcut||this.type===tt.DisabledDefault||this.type===tt.KeybindSetShortcut&&this.keybindSets.has(Fn)}changeType(e){return new je(this.descriptors,this.action,e)}changeKeys(e){return this.descriptors=e,this}descriptorsMatch(e){return e.length===this.descriptors.length&&e.every(((e,t)=>e.key===this.descriptors[t].key))}hasKeybindSet(e){return!this.keybindSets||this.keybindSets.has(e)}equals(e){return this.descriptorsMatch(e.descriptors)&&this.type===e.type&&this.action===e.action}static createShortcutFromSettingObject(e){return new je(e.descriptors,e.action,e.type)}static makeKey(e,t){return"string"==typeof e&&(e=e.charCodeAt(0)-(/^[a-z]/.test(e)?32:0)),t=t||qe.None,je._makeKeyFromCodeAndModifiers(e,t)}static makeKeyFromEvent(e){let t=qe.None;e.shiftKey&&(t|=qe.Shift),e.ctrlKey&&(t|=qe.Ctrl),e.altKey&&(t|=qe.Alt),e.metaKey&&(t|=qe.Meta);const i=e.keyCode||e.__keyCode;return je._makeKeyFromCodeAndModifiers(i,t)}static makeKeyFromEventIgnoringModifiers(e){const t=e.keyCode||e.__keyCode;return je._makeKeyFromCodeAndModifiers(t,qe.None)}static eventHasCtrlOrMeta(e){return c.isMac()?e.metaKey&&!e.ctrlKey:e.ctrlKey&&!e.metaKey}static hasNoModifiers(e){const t=e;return!(t.ctrlKey||t.shiftKey||t.altKey||t.metaKey)}static makeDescriptor(e,t){return{key:je.makeKey("string"==typeof e?e:e.code,t),name:je.shortcutToString(e,t)}}static makeDescriptorFromBindingShortcut(e){const[t,...i]=e.split(/\+(?!$)/).reverse();let s=0;for(const t of i){const i=qe[t];console.assert(void 0!==i,`Only one key other than modifier is allowed in shortcut <${e}>`),s|=i}console.assert(t.length>0,`Modifiers-only shortcuts are not allowed (encountered <${e}>)`);const n=et[t]||it[t];return n&&"shiftKey"in n&&n.shiftKey&&(s|=qe.Shift),je.makeDescriptor(n||t,s)}static shortcutToString(e,t){return"string"!=typeof e&&je.isModifier(e.code)?je._modifiersToString(t):je._modifiersToString(t)+je._keyName(e)}static _keyName(e){return"string"==typeof e?e.toUpperCase():"string"==typeof e.name?e.name:e.name[c.platform()]||e.name.other||""}static _makeKeyFromCodeAndModifiers(e,t){return 255&e|(t||0)<<8}static keyCodeAndModifiersFromKey(e){return{keyCode:255&e,modifiers:e>>8}}static isModifier(e){const{keyCode:t}=je.keyCodeAndModifiersFromKey(e);return t===et.Shift.code||t===et.Ctrl.code||t===et.Alt.code||t===et.Meta.code}static _modifiersToString(e){const t=c.isMac(),i=qe,s=new Map([[i.Ctrl,t?"Ctrl ":"Ctrl + "],[i.Alt,t?"⌥ ":"Alt + "],[i.Shift,t?"⇧ ":"Shift + "],[i.Meta,t?"⌘ ":"Win + "]]);return[i.Meta,i.Ctrl,i.Alt,i.Shift].map((function(t){return(e||0)&t?s.get(t):""})).join("")}}const qe={None:0,Shift:1,Ctrl:2,Alt:4,Meta:8,CtrlOrMeta:c.isMac()?8:2,ShiftOrOption:c.isMac()?4:1},$e={code:37,name:"←"},Ge={code:38,name:"↑"},Xe={code:39,name:"→"},Ye={code:40,name:"↓"},Qe={code:17,name:"Ctrl"},Ze={code:27,name:"Esc"},Je={code:32,name:"Space"},et={Backspace:{code:8,name:"↤"},Tab:{code:9,name:{mac:"⇥",other:"Tab"}},Enter:{code:13,name:{mac:"↩",other:"Enter"}},Shift:{code:16,name:{mac:"⇧",other:"Shift"}},Ctrl:Qe,Control:Qe,Alt:{code:18,name:"Alt"},Esc:Ze,Escape:Ze,Space:Je," ":Je,PageUp:{code:33,name:{mac:"⇞",other:"PageUp"}},PageDown:{code:34,name:{mac:"⇟",other:"PageDown"}},End:{code:35,name:{mac:"↗",other:"End"}},Home:{code:36,name:{mac:"↖",other:"Home"}},Left:$e,Up:Ge,Right:Xe,Down:Ye,ArrowLeft:$e,ArrowUp:Ge,ArrowRight:Xe,ArrowDown:Ye,Delete:{code:46,name:"Del"},Zero:{code:48,name:"0"},H:{code:72,name:"H"},N:{code:78,name:"N"},P:{code:80,name:"P"},Meta:{code:91,name:"Meta"},F1:{code:112,name:"F1"},F2:{code:113,name:"F2"},F3:{code:114,name:"F3"},F4:{code:115,name:"F4"},F5:{code:116,name:"F5"},F6:{code:117,name:"F6"},F7:{code:118,name:"F7"},F8:{code:119,name:"F8"},F9:{code:120,name:"F9"},F10:{code:121,name:"F10"},F11:{code:122,name:"F11"},F12:{code:123,name:"F12"},Semicolon:{code:186,name:";"},NumpadPlus:{code:107,name:"Numpad +"},NumpadMinus:{code:109,name:"Numpad -"},Numpad0:{code:96,name:"Numpad 0"},Plus:{code:187,name:"+"},Comma:{code:188,name:","},Minus:{code:189,name:"-"},Period:{code:190,name:"."},Slash:{code:191,name:"/"},QuestionMark:{code:191,name:"?"},Apostrophe:{code:192,name:"`"},Tilde:{code:192,name:"Tilde"},LeftSquareBracket:{code:219,name:"["},RightSquareBracket:{code:221,name:"]"},Backslash:{code:220,name:"\\"},SingleQuote:{code:222,name:"'"},get CtrlOrMeta(){return c.isMac()?this.Meta:this.Ctrl}},tt={UserShortcut:"UserShortcut",DefaultShortcut:"DefaultShortcut",DisabledDefault:"DisabledDefault",UnsetShortcut:"UnsetShortcut",KeybindSetShortcut:"KeybindSetShortcut"},it={};!function(){for(const e in et){const t=et[e];if("object"==typeof t&&t.code){const i="string"==typeof t.name?t.name:e;it[i]=t}}}();var st=Object.freeze({__proto__:null,KeyboardShortcut:je,Modifiers:qe,Keys:et,Type:tt,KeyBindings:it,Key:undefined,Descriptor:undefined});let nt;class ot extends e.ObjectWrapper{constructor(e){if(super(),this._canDock=e,this._closeButton=new Qi(t.UIString("Close"),"largeicon-delete"),this._closeButton.addEventListener(Qi.Events.Click,u.InspectorFrontendHostInstance.closeWindow.bind(u.InspectorFrontendHostInstance)),this._currentDockStateSetting=i.Settings.instance().moduleSetting("currentDockState"),this._lastDockStateSetting=i.Settings.instance().createSetting("lastDockState","bottom"),this._dockSide,!e)return this._dockSide=rt.Undocked,void this._closeButton.setVisible(!1);this._currentDockStateSetting.addChangeListener(this._dockSideChanged,this),-1===at.indexOf(this._currentDockStateSetting.get())&&this._currentDockStateSetting.set("right"),-1===at.indexOf(this._lastDockStateSetting.get())&&this._currentDockStateSetting.set("bottom")}static instance(e={forceNew:null,canDock:!1}){const{forceNew:t,canDock:i}=e;return nt&&!t||(nt=new ot(i)),nt}initialize(){this._canDock&&(this._titles=[t.UIString("Dock to right"),t.UIString("Dock to bottom"),t.UIString("Dock to left"),t.UIString("Undock into separate window")],this._dockSideChanged())}_dockSideChanged(){this.setDockSide(this._currentDockStateSetting.get())}dockSide(){return this._dockSide}canDock(){return this._canDock}isVertical(){return this._dockSide===rt.DockedToRight||this._dockSide===rt.DockedToLeft}setDockSide(e){if(-1===at.indexOf(e)&&(e=at[0]),this._dockSide===e)return;this._dockSide&&this._lastDockStateSetting.set(this._dockSide),this._savedFocus=document.deepActiveElement();const t={from:this._dockSide,to:e};this.dispatchEventToListeners(lt.BeforeDockSideChanged,t),console.timeStamp("DockController.setIsDocked"),this._dockSide=e,this._currentDockStateSetting.set(e),u.InspectorFrontendHostInstance.setIsDocked(e!==rt.Undocked,this._setIsDockedResponse.bind(this,t)),this._closeButton.setVisible(this._dockSide!==rt.Undocked),this.dispatchEventToListeners(lt.DockSideChanged,t)}_setIsDockedResponse(e){this.dispatchEventToListeners(lt.AfterDockSideChanged,e),this._savedFocus&&(this._savedFocus.focus(),this._savedFocus=null)}_toggleDockSide(){if(this._lastDockStateSetting.get()===this._currentDockStateSetting.get()){const e=at.indexOf(this._currentDockStateSetting.get())||0;this._lastDockStateSetting.set(at[(e+1)%at.length])}this.setDockSide(this._lastDockStateSetting.get())}}const rt={DockedToBottom:"bottom",DockedToRight:"right",DockedToLeft:"left",Undocked:"undocked"},at=[rt.DockedToRight,rt.DockedToBottom,rt.DockedToLeft,rt.Undocked],lt={BeforeDockSideChanged:Symbol("BeforeDockSideChanged"),DockSideChanged:Symbol("DockSideChanged"),AfterDockSideChanged:Symbol("AfterDockSideChanged")};var ht=Object.freeze({__proto__:null,DockController:ot,State:rt,Events:lt,ToggleDockActionDelegate:class{handleAction(e,t){return ot.instance()._toggleDockSide(),!0}},CloseButtonProvider:class{item(){return ot.instance()._closeButton}}});function dt(e,t,i={enableLegacyPatching:!1}){const s=d.cachedResources.get(t)||"";s||console.error(t+" not preloaded. Check module.json");let n=document.createElement("style");if(n.textContent=s,e.appendChild(n),i.enableLegacyPatching){const i=w.instance().themeStyleSheet(t,s);i&&(n=document.createElement("style"),n.textContent=i+"\n"+d.Runtime.resolveSourceURL(t+".theme"),e.appendChild(n))}}function ct(e){const t=e.target,i=t?t.ownerDocument:null,s=i?i.deepActiveElement():null;!function(e){for(;e&&!e.__widget;)e=e.parentNodeOrShadowHost();if(!e)return;let t=e.__widget;for(;t._parentWidget;)t._parentWidget._defaultFocusedChild=t,t=t._parentWidget}(s),function(e){e=e&&e.parentNodeOrShadowHost();const t=customElements.get("x-widget");let i=null;for(;e;)e instanceof t&&(i&&(e._defaultFocusedElement=i),i=e),e=e.parentNodeOrShadowHost()}(s)}function ut(e){dt(e,"ui/inspectorCommon.css",{enableLegacyPatching:!0}),dt(e,"ui/textButton.css",{enableLegacyPatching:!0}),w.instance().injectHighlightStyleSheets(e),w.instance().injectCustomStyleSheets(e)}function mt(e,t={delegatesFocus:void 0,cssFile:void 0,enableLegacyPatching:!1}){const{cssFile:i,delegatesFocus:s,enableLegacyPatching:n}=t,o=e.attachShadow({mode:"open",delegatesFocus:s});return ut(o),i&&dt(o,i,{enableLegacyPatching:n}),o.addEventListener("focus",ct,!0),o}class _t{constructor(e,t,i,s){if(this.element=document.createElement("div"),this.element.classList.add("flex-none"),this._shadowRoot=mt(this.element,{cssFile:"ui/infobar.css",enableLegacyPatching:!0,delegatesFocus:void 0}),this._contentElement=this._shadowRoot.createChild("div","infobar infobar-"+e),this._mainRow=this._contentElement.createChild("div","infobar-main-row"),this._detailsRows=this._contentElement.createChild("div","infobar-details-rows hidden"),this._hasDetails=!1,this._infoContainer=this._mainRow.createChild("div","infobar-info-container"),this._infoMessage=this._infoContainer.createChild("div","infobar-info-message"),this._infoMessage.createChild("div",e+"-icon icon"),this._infoText=this._infoMessage.createChild("div","infobar-info-text"),this._infoText.textContent=t,H(this._infoText),this._actionContainer=this._infoContainer.createChild("div","infobar-info-actions"),i)for(const e of i){const t=this._actionCallbackFactory(e);let i="infobar-button";e.highlight&&(i+=" primary-button");const s=Qs(e.text,t,i);this._actionContainer.appendChild(s)}if(this._disableSetting=s||null,s){const e=Qs(o`Don't show again`,this._onDisable.bind(this),"infobar-button");this._actionContainer.appendChild(e)}this._closeContainer=this._mainRow.createChild("div","infobar-close-container"),this._toggleElement=Qs(o`Learn more`,this._onToggleDetails.bind(this),"link-style devtools-link hidden"),this._closeContainer.appendChild(this._toggleElement),this._closeButton=this._closeContainer.createChild("div","close-button","dt-close-button"),this._closeButton.setTabbable(!0),we(this._closeButton,o`Close`),self.onInvokeElement(this._closeButton,this.dispose.bind(this)),e!==pt.Issue&&(this._contentElement.tabIndex=0),be(this._contentElement,t),this._contentElement.addEventListener("keydown",(e=>e.keyCode===et.Esc.code?(this.dispose(),void e.consume()):e.target===this._contentElement&&"Enter"===e.key&&this._hasDetails?(this._onToggleDetails(),void e.consume()):void 0)),this._closeCallback=null}static create(e,t,i,s){return s&&s.get()?null:new _t(e,t,i,s)}dispose(){this.element.remove(),this._onResize(),this._closeCallback&&this._closeCallback.call(null)}setText(e){this._infoText.textContent=e,this._onResize()}setCloseCallback(e){this._closeCallback=e}setParentView(e){this._parentView=e}_actionCallbackFactory(e){return e.delegate?e.dismiss?(()=>{e.delegate&&e.delegate(),this.dispose()}).bind(this):e.delegate:e.dismiss?this.dispose.bind(this):()=>{}}_onResize(){this._parentView&&this._parentView.doResize()}_onDisable(){this._disableSetting&&this._disableSetting.set(!0),this.dispose()}_onToggleDetails(){this._detailsRows.classList.remove("hidden"),this._toggleElement.remove(),this._onResize()}createDetailsRowMessage(e){this._hasDetails=!0,this._toggleElement.classList.remove("hidden");const t=this._detailsRows.createChild("div","infobar-details-row").createChild("span","infobar-row-message");return t.textContent=e||"",t}}const pt={Warning:"warning",Info:"info",Issue:"issue"};var gt=Object.freeze({__proto__:null,Infobar:_t,InfobarAction:undefined,Type:pt});class bt extends e.ObjectWrapper{constructor(){super(),this._isEnabled=!0,this._elements=new Set,this._installDragOnMouseDownBound=this._installDragOnMouseDown.bind(this),this._cursor="nwse-resize"}isEnabled(){return this._isEnabled}setEnabled(e){this._isEnabled=e,this.updateElementCursors()}elements(){return[...this._elements]}addElement(e){this._elements.has(e)||(this._elements.add(e),e.addEventListener("mousedown",this._installDragOnMouseDownBound,!1),this._updateElementCursor(e))}removeElement(e){this._elements.has(e)&&(this._elements.delete(e),e.removeEventListener("mousedown",this._installDragOnMouseDownBound,!1),e.style.removeProperty("cursor"))}updateElementCursors(){this._elements.forEach(this._updateElementCursor.bind(this))}_updateElementCursor(e){this._isEnabled?e.style.setProperty("cursor",this.cursor()):e.style.removeProperty("cursor")}cursor(){return this._cursor}setCursor(e){this._cursor=e,this.updateElementCursors()}_installDragOnMouseDown(e){const t=e.target;if(!this._elements.has(t))return!1;vs(t,this._dragStart.bind(this),(e=>{this._drag(e)}),this._dragEnd.bind(this),this.cursor(),e)}_dragStart(e){return!!this._isEnabled&&(this._startX=e.pageX,this._startY=e.pageY,this.sendDragStart(this._startX,this._startY),!0)}sendDragStart(e,t){this.dispatchEventToListeners(ft.ResizeStart,{startX:e,currentX:e,startY:t,currentY:t})}_drag(e){return this._isEnabled?(this.sendDragMove(this._startX,e.pageX,this._startY,e.pageY,e.shiftKey),e.preventDefault(),!1):(this._dragEnd(e),!0)}sendDragMove(e,t,i,s,n){this.dispatchEventToListeners(ft.ResizeUpdate,{startX:e,currentX:t,startY:i,currentY:s,shiftKey:n})}_dragEnd(e){this.dispatchEventToListeners(ft.ResizeEnd),delete this._startX,delete this._startY}}const ft={ResizeStart:Symbol("ResizeStart"),ResizeUpdate:Symbol("ResizeUpdate"),ResizeEnd:Symbol("ResizeEnd")};class wt extends bt{constructor(){super(),this._isVertical=!0}isVertical(){return this._isVertical}setVertical(e){this._isVertical=e,this.updateElementCursors()}cursor(){return this._isVertical?"ns-resize":"ew-resize"}sendDragStart(e,t){const i=this._isVertical?t:e;this.dispatchEventToListeners(ft.ResizeStart,{startPosition:i,currentPosition:i})}sendDragMove(e,t,i,s,n){this._isVertical?this.dispatchEventToListeners(ft.ResizeUpdate,{startPosition:i,currentPosition:s,shiftKey:n}):this.dispatchEventToListeners(ft.ResizeUpdate,{startPosition:e,currentPosition:t,shiftKey:n})}}var vt=Object.freeze({__proto__:null,ResizerWidget:bt,Events:ft,SimpleResizerWidget:wt});class Et extends HTMLElement{static get observedAttributes(){return["flex","padding","padding-top","padding-bottom","padding-left","padding-right","margin","margin-top","margin-bottom","margin-left","margin-right","overflow","overflow-x","overflow-y","font-size","color","background","background-color","border","border-top","border-bottom","border-left","border-right","max-width","max-height"]}attributeChangedCallback(e,t,i){if("flex"!==e)if(null===i){if(this.style.removeProperty(e),e.startsWith("padding-")||e.startsWith("margin-")||e.startsWith("border-")||e.startsWith("background-")||e.startsWith("overflow-")){const t=e.substring(0,e.indexOf("-")),i=this.getAttribute(t);null!==i&&this.style.setProperty(t,i)}}else this.style.setProperty(e,i);else null===i?this.style.removeProperty("flex"):"initial"===i||"auto"===i||"none"===i||-1!==i.indexOf(" ")?this.style.setProperty("flex",i):this.style.setProperty("flex","0 0 "+i)}}class St extends Et{constructor(e){super(),this.style.setProperty("display","flex"),this.style.setProperty("flex-direction",e),this.style.setProperty("justify-content","flex-start")}static get observedAttributes(){return super.observedAttributes.concat(["x-start","x-center","x-stretch","x-baseline","justify-content"])}attributeChangedCallback(e,t,i){"x-start"!==e&&"x-center"!==e&&"x-stretch"!==e&&"x-baseline"!==e?super.attributeChangedCallback(e,t,i):null===i?this.style.removeProperty("align-items"):this.style.setProperty("align-items","x-start"===e?"flex-start":e.substr(2))}}self.customElements.define("x-vbox",class extends St{constructor(){super("column")}}),self.customElements.define("x-hbox",class extends St{constructor(){super("row")}}),self.customElements.define("x-cbox",class extends Et{constructor(){super(),this.style.setProperty("display","flex"),this.style.setProperty("flex-direction","column"),this.style.setProperty("justify-content","center"),this.style.setProperty("align-items","center")}}),self.customElements.define("x-div",class extends Et{constructor(){super(),this.style.setProperty("display","block")}}),self.customElements.define("x-span",class extends Et{constructor(){super(),this.style.setProperty("display","inline")}}),self.customElements.define("x-text",class extends Et{constructor(){super(),this.style.setProperty("display","inline"),this.style.setProperty("white-space","pre")}});var yt=Object.freeze({__proto__:null,XElement:Et});let xt=null;const Ct=new WeakMap;class Tt extends Et{constructor(){super(),this.style.setProperty("display","flex"),this.style.setProperty("flex-direction","column"),this.style.setProperty("align-items","stretch"),this.style.setProperty("justify-content","flex-start"),this.style.setProperty("contain","layout style"),this._visible=!1,this._shadowRoot,this._defaultFocusedElement=null,this._elementsToRestoreScrollPositionsFor=[],this._onShownCallback,this._onHiddenCallback,this._onResizedCallback,xt||(xt=new ResizeObserver((e=>{for(const t of e){const e=t.target;e._visible&&e._onResizedCallback&&e._onResizedCallback.call(null)}}))),xt.observe(this),this.setElementsToRestoreScrollPositionsFor([this])}isShowing(){return this._visible}registerRequiredCSS(e,t){dt(this._shadowRoot||this,e,t)}setOnShown(e){this._onShownCallback=e}setOnHidden(e){this._onHiddenCallback=e}setOnResized(e){this._onResizedCallback=e}setElementsToRestoreScrollPositionsFor(e){for(const e of this._elementsToRestoreScrollPositionsFor)e.removeEventListener("scroll",Tt._storeScrollPosition,{capture:!1});this._elementsToRestoreScrollPositionsFor=e;for(const e of this._elementsToRestoreScrollPositionsFor)e.addEventListener("scroll",Tt._storeScrollPosition,{passive:!0,capture:!1})}restoreScrollPositions(){for(const e of this._elementsToRestoreScrollPositionsFor){const t=Ct.get(e);t&&(e.scrollTop=t.scrollTop,e.scrollLeft=t.scrollLeft)}}static _storeScrollPosition(e){const t=e.currentTarget;Ct.set(t,{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop})}setDefaultFocusedElement(e){if(e&&!this.isSelfOrAncestor(e))throw new Error("Default focus must be descendant");this._defaultFocusedElement=e}focus(){if(!this._visible)return;let e;if(this._defaultFocusedElement&&this.isSelfOrAncestor(this._defaultFocusedElement))e=this._defaultFocusedElement;else if(-1!==this.tabIndex)e=this;else{let t=this.traverseNextNode(this);for(;t;){if(t instanceof Tt&&t._visible){e=t;break}t=t.traverseNextNode(this)}}e&&!e.hasFocus()&&(e===this?HTMLElement.prototype.focus.call(this):e.focus())}connectedCallback(){this._visible=!0,this.restoreScrollPositions(),this._onShownCallback&&this._onShownCallback.call(null)}disconnectedCallback(){this._visible=!1,this._onHiddenCallback&&this._onHiddenCallback.call(null)}}self.customElements.define("x-widget",Tt);var It=Object.freeze({__proto__:null,XWidget:Tt});class kt extends HTMLDivElement{constructor(){super(),this.__widget,this.__widgetCounter}}class Mt extends e.ObjectWrapper{constructor(e,t){super(),this.element,this.contentElement=document.createElement("div"),this.contentElement.classList.add("widget"),e?(this.element=document.createElement("div"),this.element.classList.add("vbox"),this.element.classList.add("flex-auto"),this._shadowRoot=mt(this.element,{cssFile:void 0,enableLegacyPatching:!0,delegatesFocus:t}),this._shadowRoot.appendChild(this.contentElement)):this.element=this.contentElement,this._isWebComponent=e,this.element.__widget=this,this._visible=!1,this._isRoot=!1,this._isShowing=!1,this._children=[],this._hideOnDetach=!1,this._notificationDepth=0,this._invalidationsSuspended=0,this._defaultFocusedChild=null,this._parentWidget=null}static _incrementWidgetCounter(e,t){const i=(t.__widgetCounter||0)+(t.__widget?1:0);if(!i)return;let s=e;for(;s;)s.__widgetCounter=(s.__widgetCounter||0)+i,s=Rt(s)}static _decrementWidgetCounter(e,t){const i=(t.__widgetCounter||0)+(t.__widget?1:0);if(!i)return;let s=e;for(;s;)s.__widgetCounter&&(s.__widgetCounter-=i),s=Rt(s)}static __assert(e,t){if(!e)throw new Error(t)}markAsRoot(){Mt.__assert(!this.element.parentElement,"Attempt to mark as root attached node"),this._isRoot=!0}parentWidget(){return this._parentWidget}children(){return this._children}childWasDetached(e){}isShowing(){return this._isShowing}shouldHideOnDetach(){if(!this.element.parentElement)return!1;if(this._hideOnDetach)return!0;for(const e of this._children)if(e.shouldHideOnDetach())return!0;return!1}setHideOnDetach(){this._hideOnDetach=!0}_inNotification(){return Boolean(this._notificationDepth)||Boolean(this._parentWidget&&this._parentWidget._inNotification())}_parentIsShowing(){return!!this._isRoot||null!==this._parentWidget&&this._parentWidget.isShowing()}_callOnVisibleChildren(e){const t=this._children.slice();for(let i=0;i<t.length;++i)t[i]._parentWidget===this&&t[i]._visible&&e.call(t[i])}_processWillShow(){this._callOnVisibleChildren(this._processWillShow),this._isShowing=!0}_processWasShown(){this._inNotification()||(this.restoreScrollPositions(),this._notify(this.wasShown),this._callOnVisibleChildren(this._processWasShown))}_processWillHide(){this._inNotification()||(this.storeScrollPositions(),this._callOnVisibleChildren(this._processWillHide),this._notify(this.willHide),this._isShowing=!1)}_processWasHidden(){this._callOnVisibleChildren(this._processWasHidden)}_processOnResize(){this._inNotification()||this.isShowing()&&(this._notify(this.onResize),this._callOnVisibleChildren(this._processOnResize))}_notify(e){++this._notificationDepth;try{e.call(this)}finally{--this._notificationDepth}}wasShown(){}willHide(){}onResize(){}onLayout(){}async ownerViewDisposed(){}show(e,t){if(Mt.__assert(e,"Attempt to attach widget with no parent element"),!this._isRoot){let t=e;for(;t&&!t.__widget;)t=Rt(t);if(!t||!t.__widget)throw new Error("Attempt to attach widget to orphan node");this._attach(t.__widget)}this._showWidget(e,t)}_attach(e){e!==this._parentWidget&&(this._parentWidget&&this.detach(),this._parentWidget=e,this._parentWidget._children.push(this),this._isRoot=!1)}showWidget(){if(!this._visible){if(!this.element.parentElement)throw new Error("Attempt to show widget that is not hidden using hideWidget().");this._showWidget(this.element.parentElement,this.element.nextSibling)}}_showWidget(e,t){let i=e;for(;i&&!i.__widget;)i=Rt(i);this._isRoot?Mt.__assert(!i,"Attempt to show root widget under another widget"):Mt.__assert(i&&i.__widget===this._parentWidget,"Attempt to show under node belonging to alien widget");const s=this._visible;s&&this.element.parentElement===e||(this._visible=!0,!s&&this._parentIsShowing()&&this._processWillShow(),this.element.classList.remove("hidden"),this.element.parentElement!==e&&(this._externallyManaged||Mt._incrementWidgetCounter(e,this.element),t?g.originalInsertBefore.call(e,this.element,t):g.originalAppendChild.call(e,this.element)),!s&&this._parentIsShowing()&&this._processWasShown(),this._parentWidget&&this._hasNonZeroConstraints()?this._parentWidget.invalidateConstraints():this._processOnResize())}hideWidget(){this._visible&&this._hideWidget(!1)}_hideWidget(e){this._visible=!1;const t=this.element.parentElement;this._parentIsShowing()&&this._processWillHide(),e?(Mt._decrementWidgetCounter(t,this.element),g.originalRemoveChild.call(t,this.element)):this.element.classList.add("hidden"),this._parentIsShowing()&&this._processWasHidden(),this._parentWidget&&this._hasNonZeroConstraints()&&this._parentWidget.invalidateConstraints()}detach(e){if(!this._parentWidget&&!this._isRoot)return;const t=e||!this.shouldHideOnDetach();if(this._visible)this._hideWidget(t);else if(t&&this.element.parentElement){const e=this.element.parentElement;Mt._decrementWidgetCounter(e,this.element),g.originalRemoveChild.call(e,this.element)}if(this._parentWidget){const e=this._parentWidget._children.indexOf(this);Mt.__assert(e>=0,"Attempt to remove non-child widget"),this._parentWidget._children.splice(e,1),this._parentWidget._defaultFocusedChild===this&&(this._parentWidget._defaultFocusedChild=null),this._parentWidget.childWasDetached(this),this._parentWidget=null}else Mt.__assert(this._isRoot,"Removing non-root widget from DOM")}detachChildWidgets(){const e=this._children.slice();for(let t=0;t<e.length;++t)e[t].detach()}elementsToRestoreScrollPositionsFor(){return[this.element]}storeScrollPositions(){const e=this.elementsToRestoreScrollPositionsFor();for(const t of e)Lt.set(t,{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop})}restoreScrollPositions(){const e=this.elementsToRestoreScrollPositionsFor();for(const t of e){const e=Lt.get(t);e&&(t.scrollLeft=e.scrollLeft,t.scrollTop=e.scrollTop)}}doResize(){this.isShowing()&&(this._inNotification()||this._callOnVisibleChildren(this._processOnResize))}doLayout(){this.isShowing()&&(this._notify(this.onLayout),this.doResize())}registerRequiredCSS(e,t){this._isWebComponent?dt(this._shadowRoot,e,t):dt(this.element,e,t)}printWidgetHierarchy(){const e=[];this._collectWidgetHierarchy("",e),console.log(e.join("\n"))}_collectWidgetHierarchy(e,t){t.push(e+"["+this.element.className+"]"+(this._children.length?" {":""));for(let i=0;i<this._children.length;++i)this._children[i]._collectWidgetHierarchy(e+" ",t);this._children.length&&t.push(e+"}")}setDefaultFocusedElement(e){this._defaultFocusedElement=e}setDefaultFocusedChild(e){Mt.__assert(e._parentWidget===this,"Attempt to set non-child widget as default focused."),this._defaultFocusedChild=e}focus(){if(!this.isShowing())return;const e=this._defaultFocusedElement;if(e)e.hasFocus()||e.focus();else if(this._defaultFocusedChild&&this._defaultFocusedChild._visible)this._defaultFocusedChild.focus();else{for(const e of this._children)if(e._visible)return void e.focus();let e=this.contentElement.traverseNextNode(this.contentElement);for(;e;){if(e instanceof Tt)return void e.focus();e=e.traverseNextNode(this.contentElement)}}}hasFocus(){return this.element.hasFocus()}calculateConstraints(){return new Ue}constraints(){return void 0!==this._constraints?this._constraints:(void 0===this._cachedConstraints&&(this._cachedConstraints=this.calculateConstraints()),this._cachedConstraints)}setMinimumAndPreferredSizes(e,t,i,s){this._constraints=new Ue(new He(e,t),new He(i,s)),this.invalidateConstraints()}setMinimumSize(e,t){this._constraints=new Ue(new He(e,t)),this.invalidateConstraints()}_hasNonZeroConstraints(){const e=this.constraints();return Boolean(e.minimum.width||e.minimum.height||e.preferred.width||e.preferred.height)}suspendInvalidations(){++this._invalidationsSuspended}resumeInvalidations(){--this._invalidationsSuspended,!this._invalidationsSuspended&&this._invalidationsRequested&&this.invalidateConstraints()}invalidateConstraints(){if(this._invalidationsSuspended)return void(this._invalidationsRequested=!0);this._invalidationsRequested=!1;const e=this._cachedConstraints;delete this._cachedConstraints;!this.constraints().isEqual(e||null)&&this._parentWidget?this._parentWidget.invalidateConstraints():this.doLayout()}markAsExternallyManaged(){Mt.__assert(!this._parentWidget,"Attempt to mark widget as externally managed after insertion to the DOM"),this._externallyManaged=!0}}const Lt=new WeakMap;class Pt extends Mt{constructor(e,t){super(e,t),this.contentElement.classList.add("vbox")}calculateConstraints(){let e=new Ue;return this._callOnVisibleChildren((function(){const t=this.constraints();e=e.widthToMax(t),e=e.addHeight(t)})),e}}class Dt extends Mt{constructor(e){super(e),this.contentElement.classList.add("hbox")}calculateConstraints(){let e=new Ue;return this._callOnVisibleChildren((function(){const t=this.constraints();e=e.addWidth(t),e=e.heightToMax(t)})),e}}class At{constructor(e){this._widget=e,this._previous=e.element.ownerDocument.deepActiveElement(),e.focus()}restore(){this._widget&&(this._widget.hasFocus()&&this._previous&&this._previous.focus(),this._previous=null,this._widget=null)}}function Rt(e){return e.parentElementOrShadowHost()}var Ot=Object.freeze({__proto__:null,WidgetElement:kt,Widget:Mt,VBox:Pt,HBox:Dt,VBoxWithResizeCallback:class extends Pt{constructor(e){super(),this._resizeCallback=e}onResize(){this._resizeCallback()}},WidgetFocusRestorer:At});let Bt;class Ft extends e.ObjectWrapper{constructor(e,t){super(),this._frontendHost=t,this._zoomFactor=this._frontendHost.zoomFactor(),e.addEventListener("resize",this._onWindowResize.bind(this),!0)}static instance(e={forceNew:null,win:null,frontendHost:null}){const{forceNew:t,win:i,frontendHost:s}=e;if(!Bt||t){if(!i||!s)throw new Error("Unable to create zoom manager: window and frontendHost must be provided: "+(new Error).stack);Bt=new Ft(i,s)}return Bt}static removeInstance(){Bt=void 0}zoomFactor(){return this._zoomFactor}cssToDIP(e){return e*this._zoomFactor}dipToCSS(e){return e/this._zoomFactor}_onWindowResize(){const e=this._zoomFactor;this._zoomFactor=this._frontendHost.zoomFactor(),e!==this._zoomFactor&&this.dispatchEventToListeners(zt.ZoomChanged,{from:e,to:this._zoomFactor})}}const zt={ZoomChanged:Symbol("ZoomChanged")};var Wt=Object.freeze({__proto__:null,ZoomManager:Ft,Events:zt});class Nt extends Mt{constructor(e,t,s,n,o,r){super(!0),this.element.classList.add("split-widget"),this.registerRequiredCSS("ui/splitWidget.css",{enableLegacyPatching:!0}),this.contentElement.classList.add("shadow-split-widget"),this._sidebarElement=this.contentElement.createChild("div","shadow-split-widget-contents shadow-split-widget-sidebar vbox"),this._mainElement=this.contentElement.createChild("div","shadow-split-widget-contents shadow-split-widget-main vbox"),this._mainElement.createChild("slot").name="insertion-point-main",this._sidebarElement.createChild("slot").name="insertion-point-sidebar",this._resizerElement=this.contentElement.createChild("div","shadow-split-widget-resizer"),this._resizerElementSize=null,this._resizerWidget=new wt,this._resizerWidget.setEnabled(!0),this._resizerWidget.addEventListener(ft.ResizeStart,this._onResizeStart,this),this._resizerWidget.addEventListener(ft.ResizeUpdate,this._onResizeUpdate,this),this._resizerWidget.addEventListener(ft.ResizeEnd,this._onResizeEnd,this),this._defaultSidebarWidth=n||200,this._defaultSidebarHeight=o||this._defaultSidebarWidth,this._constraintsInDip=Boolean(r),this._resizeStartSizeDIP=0,this._setting=s?i.Settings.instance().createSetting(s,{}):null,this._totalSizeCSS=0,this._totalSizeOtherDimensionCSS=0,this._mainWidget=null,this._sidebarWidget=null,this._animationFrameHandle=0,this._animationCallback=null,this._showHideSidebarButtonTitle="",this._showHideSidebarButton=null,this._isVertical=!1,this._sidebarMinimized=!1,this._detaching=!1,this._sidebarSizeDIP=-1,this._savedSidebarSizeDIP=this._sidebarSizeDIP,this._secondIsSidebar=!1,this._shouldSaveShowMode=!1,this._savedVerticalMainSize=null,this._savedHorizontalMainSize=null,this.setSecondIsSidebar(t),this._innerSetVertical(e),this._showMode=Ht.Both,this._savedShowMode=this._showMode,this.installResizer(this._resizerElement)}isVertical(){return this._isVertical}setVertical(e){this._isVertical!==e&&(this._innerSetVertical(e),this.isShowing()&&this._updateLayout())}_innerSetVertical(e){this.contentElement.classList.toggle("vbox",!e),this.contentElement.classList.toggle("hbox",e),this._isVertical=e,this._resizerElementSize=null,this._sidebarSizeDIP=-1,this._restoreSidebarSizeFromSettings(),this._shouldSaveShowMode&&this._restoreAndApplyShowModeFromSettings(),this._updateShowHideSidebarButton(),this._resizerWidget.setVertical(!e),this.invalidateConstraints()}_updateLayout(e){this._totalSizeCSS=0,this._totalSizeOtherDimensionCSS=0,this._mainElement.style.removeProperty("width"),this._mainElement.style.removeProperty("height"),this._sidebarElement.style.removeProperty("width"),this._sidebarElement.style.removeProperty("height"),this._innerSetSidebarSizeDIP(this._preferredSidebarSizeDIP(),Boolean(e))}setMainWidget(e){this._mainWidget!==e&&(this.suspendInvalidations(),this._mainWidget&&this._mainWidget.detach(),this._mainWidget=e,e&&(e.element.slot="insertion-point-main",this._showMode!==Ht.OnlyMain&&this._showMode!==Ht.Both||e.show(this.element)),this.resumeInvalidations())}setSidebarWidget(e){this._sidebarWidget!==e&&(this.suspendInvalidations(),this._sidebarWidget&&this._sidebarWidget.detach(),this._sidebarWidget=e,e&&(e.element.slot="insertion-point-sidebar",this._showMode!==Ht.OnlySidebar&&this._showMode!==Ht.Both||e.show(this.element)),this.resumeInvalidations())}mainWidget(){return this._mainWidget}sidebarWidget(){return this._sidebarWidget}sidebarElement(){return this._sidebarElement}childWasDetached(e){this._detaching||(this._mainWidget===e&&(this._mainWidget=null),this._sidebarWidget===e&&(this._sidebarWidget=null),this.invalidateConstraints())}isSidebarSecond(){return this._secondIsSidebar}enableShowModeSaving(){this._shouldSaveShowMode=!0,this._restoreAndApplyShowModeFromSettings()}showMode(){return this._showMode}setSecondIsSidebar(e){e!==this._secondIsSidebar&&(this._secondIsSidebar=e,this._mainWidget&&this._mainWidget.shouldHideOnDetach()?this._sidebarWidget&&this._sidebarWidget.shouldHideOnDetach()?(console.error("Could not swap split widget side. Both children widgets contain iframes."),this._secondIsSidebar=!e):e?this.contentElement.insertBefore(this._sidebarElement,this._resizerElement):this.contentElement.insertBefore(this._sidebarElement,this._mainElement):e?this.contentElement.insertBefore(this._mainElement,this._sidebarElement):this.contentElement.insertBefore(this._mainElement,this._resizerElement))}sidebarSide(){return this._showMode!==Ht.Both?null:this._isVertical?this._secondIsSidebar?"right":"left":this._secondIsSidebar?"bottom":"top"}resizerElement(){return this._resizerElement}hideMain(e){this._showOnly(this._sidebarWidget,this._mainWidget,this._sidebarElement,this._mainElement,e),this._updateShowMode(Ht.OnlySidebar)}hideSidebar(e){this._showOnly(this._mainWidget,this._sidebarWidget,this._mainElement,this._sidebarElement,e),this._updateShowMode(Ht.OnlyMain)}setSidebarMinimized(e){this._sidebarMinimized=e,this.invalidateConstraints()}isSidebarMinimized(){return this._sidebarMinimized}_showOnly(e,t,i,s,n){function o(){e&&(e===this._mainWidget?this._mainWidget.show(this.element,this._sidebarWidget?this._sidebarWidget.element:null):this._sidebarWidget&&this._sidebarWidget.show(this.element)),t&&(this._detaching=!0,t.detach(),this._detaching=!1),this._resizerElement.classList.add("hidden"),i.classList.remove("hidden"),i.classList.add("maximized"),s.classList.add("hidden"),s.classList.remove("maximized"),this._removeAllLayoutProperties(),this.doResize(),this._showFinishedForTest()}this._cancelAnimation(),n?this._animate(!0,o.bind(this)):o.call(this),this._sidebarSizeDIP=-1,this.setResizable(!1)}_showFinishedForTest(){}_removeAllLayoutProperties(){this._sidebarElement.style.removeProperty("flexBasis"),this._mainElement.style.removeProperty("width"),this._mainElement.style.removeProperty("height"),this._sidebarElement.style.removeProperty("width"),this._sidebarElement.style.removeProperty("height"),this._resizerElement.style.removeProperty("left"),this._resizerElement.style.removeProperty("right"),this._resizerElement.style.removeProperty("top"),this._resizerElement.style.removeProperty("bottom"),this._resizerElement.style.removeProperty("margin-left"),this._resizerElement.style.removeProperty("margin-right"),this._resizerElement.style.removeProperty("margin-top"),this._resizerElement.style.removeProperty("margin-bottom")}showBoth(e){this._showMode===Ht.Both&&(e=!1),this._cancelAnimation(),this._mainElement.classList.remove("maximized","hidden"),this._sidebarElement.classList.remove("maximized","hidden"),this._resizerElement.classList.remove("hidden"),this.setResizable(!0),this.suspendInvalidations(),this._sidebarWidget&&this._sidebarWidget.show(this.element),this._mainWidget&&this._mainWidget.show(this.element,this._sidebarWidget?this._sidebarWidget.element:null),this.resumeInvalidations(),this.setSecondIsSidebar(this._secondIsSidebar),this._sidebarSizeDIP=-1,this._updateShowMode(Ht.Both),this._updateLayout(e)}setResizable(e){this._resizerWidget.setEnabled(e)}isResizable(){return this._resizerWidget.isEnabled()}setSidebarSize(e){const t=Ft.instance().cssToDIP(e);this._savedSidebarSizeDIP=t,this._saveSetting(),this._innerSetSidebarSizeDIP(t,!1,!0)}sidebarSize(){const e=Math.max(0,this._sidebarSizeDIP);return Ft.instance().dipToCSS(e)}_totalSizeDIP(){return this._totalSizeCSS||(this._totalSizeCSS=this._isVertical?this.contentElement.offsetWidth:this.contentElement.offsetHeight,this._totalSizeOtherDimensionCSS=this._isVertical?this.contentElement.offsetHeight:this.contentElement.offsetWidth),Ft.instance().cssToDIP(this._totalSizeCSS)}_updateShowMode(e){this._showMode=e,this._saveShowModeToSettings(),this._updateShowHideSidebarButton(),this.dispatchEventToListeners(Vt.ShowModeChanged,e),this.invalidateConstraints()}_innerSetSidebarSizeDIP(e,t,i){if(this._showMode!==Ht.Both||!this.isShowing())return;if(e=this._applyConstraints(e,i),this._sidebarSizeDIP===e)return;this._resizerElementSize||(this._resizerElementSize=this._isVertical?this._resizerElement.offsetWidth:this._resizerElement.offsetHeight),this._removeAllLayoutProperties();const s=Math.round(Ft.instance().dipToCSS(e)),n=s+"px",o=this._totalSizeCSS-s+"px";this._sidebarElement.style.flexBasis=n,this._isVertical?(this._sidebarElement.style.width=n,this._mainElement.style.width=o,this._sidebarElement.style.height=this._totalSizeOtherDimensionCSS+"px",this._mainElement.style.height=this._totalSizeOtherDimensionCSS+"px"):(this._sidebarElement.style.height=n,this._mainElement.style.height=o,this._sidebarElement.style.width=this._totalSizeOtherDimensionCSS+"px",this._mainElement.style.width=this._totalSizeOtherDimensionCSS+"px"),this._isVertical?this._secondIsSidebar?(this._resizerElement.style.right=n,this._resizerElement.style.marginRight=-this._resizerElementSize/2+"px"):(this._resizerElement.style.left=n,this._resizerElement.style.marginLeft=-this._resizerElementSize/2+"px"):this._secondIsSidebar?(this._resizerElement.style.bottom=n,this._resizerElement.style.marginBottom=-this._resizerElementSize/2+"px"):(this._resizerElement.style.top=n,this._resizerElement.style.marginTop=-this._resizerElementSize/2+"px"),this._sidebarSizeDIP=e,t?this._animate(!1):(this.doResize(),this.dispatchEventToListeners(Vt.SidebarSizeChanged,this.sidebarSize()))}_animate(e,t){let i;this._animationCallback=t||null,i=this._isVertical?this._secondIsSidebar?"margin-right":"margin-left":this._secondIsSidebar?"margin-bottom":"margin-top";const s=e?"0":"-"+Ft.instance().dipToCSS(this._sidebarSizeDIP)+"px",n=e?"-"+Ft.instance().dipToCSS(this._sidebarSizeDIP)+"px":"0";this.contentElement.style.setProperty(i,s),e||(Kt(this._mainElement.offsetWidth),Kt(this._sidebarElement.offsetWidth)),!e&&this._sidebarWidget&&this._sidebarWidget.doResize(),this.contentElement.style.setProperty("transition",i+" 50ms linear");const o=function(){if(this._animationFrameHandle=0,r){if(!(window.performance.now()<r+50))return this._cancelAnimation(),this._mainWidget&&this._mainWidget.doResize(),void this.dispatchEventToListeners(Vt.SidebarSizeChanged,this.sidebarSize());this._mainWidget&&this._mainWidget.doResize()}else this.contentElement.style.setProperty(i,n),r=window.performance.now();this._animationFrameHandle=this.contentElement.window().requestAnimationFrame(o)}.bind(this);let r=null;this._animationFrameHandle=this.contentElement.window().requestAnimationFrame(o)}_cancelAnimation(){this.contentElement.style.removeProperty("margin-top"),this.contentElement.style.removeProperty("margin-right"),this.contentElement.style.removeProperty("margin-bottom"),this.contentElement.style.removeProperty("margin-left"),this.contentElement.style.removeProperty("transition"),this._animationFrameHandle&&(this.contentElement.window().cancelAnimationFrame(this._animationFrameHandle),this._animationFrameHandle=0),this._animationCallback&&(this._animationCallback(),this._animationCallback=null)}_applyConstraints(e,t){const i=this._totalSizeDIP(),s=this._constraintsInDip?1:Ft.instance().zoomFactor();let n=this._sidebarWidget?this._sidebarWidget.constraints():new Ue,o=this.isVertical()?n.minimum.width:n.minimum.height;o||(o=Ut),o*=s,this._sidebarMinimized&&(e=o);let r=this.isVertical()?n.preferred.width:n.preferred.height;r||(r=Ut),r*=s,e<r&&(r=Math.max(e,o)),r+=s,n=this._mainWidget?this._mainWidget.constraints():new Ue;let l=this.isVertical()?n.minimum.width:n.minimum.height;l||(l=Ut),l*=s;let h=this.isVertical()?n.preferred.width:n.preferred.height;h||(h=Ut),h*=s;const d=this.isVertical()?this._savedVerticalMainSize:this._savedHorizontalMainSize;null!==d&&(h=Math.min(h,d*s)),t&&(h=l);const c=h+r;if(c<=i)return a.clamp(e,r,i-h);if(l+o<=i){return e=r-(c-i)*r/c,a.clamp(e,o,i-l)}return Math.max(0,i-l)}wasShown(){this._forceUpdateLayout(),Ft.instance().addEventListener(zt.ZoomChanged,this._onZoomChanged,this)}willHide(){Ft.instance().removeEventListener(zt.ZoomChanged,this._onZoomChanged,this)}onResize(){this._updateLayout()}onLayout(){this._updateLayout()}calculateConstraints(){if(this._showMode===Ht.OnlyMain)return this._mainWidget?this._mainWidget.constraints():new Ue;if(this._showMode===Ht.OnlySidebar)return this._sidebarWidget?this._sidebarWidget.constraints():new Ue;let e=this._mainWidget?this._mainWidget.constraints():new Ue,t=this._sidebarWidget?this._sidebarWidget.constraints():new Ue;const i=Ut;return this._isVertical?(e=e.widthToMax(i).addWidth(1),t=t.widthToMax(i),e.addWidth(t).heightToMax(t)):(e=e.heightToMax(i).addHeight(1),t=t.heightToMax(i),e.widthToMax(t).addHeight(t))}_onResizeStart(e){this._resizeStartSizeDIP=this._sidebarSizeDIP}_onResizeUpdate(e){const t=e.data.currentPosition-e.data.startPosition,i=Ft.instance().cssToDIP(t),s=this._secondIsSidebar?this._resizeStartSizeDIP-i:this._resizeStartSizeDIP+i,n=this._applyConstraints(s,!0);this._savedSidebarSizeDIP=n,this._saveSetting(),this._innerSetSidebarSizeDIP(n,!1,!0),this.isVertical()?this._savedVerticalMainSize=this._totalSizeDIP()-this._sidebarSizeDIP:this._savedHorizontalMainSize=this._totalSizeDIP()-this._sidebarSizeDIP}_onResizeEnd(e){this._resizeStartSizeDIP=0}hideDefaultResizer(e){this.uninstallResizer(this._resizerElement),this._sidebarElement.classList.toggle("no-default-splitter",Boolean(e))}installResizer(e){this._resizerWidget.addElement(e)}uninstallResizer(e){this._resizerWidget.removeElement(e)}hasCustomResizer(){const e=this._resizerWidget.elements();return e.length>1||1===e.length&&e[0]!==this._resizerElement}toggleResizer(e,t){t?this.installResizer(e):this.uninstallResizer(e)}_settingForOrientation(){const e=this._setting?this._setting.get():{};return this._isVertical?e.vertical:e.horizontal}_preferredSidebarSizeDIP(){let e=this._savedSidebarSizeDIP;return e||(e=this._isVertical?this._defaultSidebarWidth:this._defaultSidebarHeight,0<e&&e<1&&(e*=this._totalSizeDIP())),e}_restoreSidebarSizeFromSettings(){const e=this._settingForOrientation();this._savedSidebarSizeDIP=e?e.size:0}_restoreAndApplyShowModeFromSettings(){const e=this._settingForOrientation();switch(this._savedShowMode=e&&e.showMode?e.showMode:this._showMode,this._showMode=this._savedShowMode,this._savedShowMode){case Ht.Both:this.showBoth();break;case Ht.OnlyMain:this.hideSidebar();break;case Ht.OnlySidebar:this.hideMain()}}_saveShowModeToSettings(){this._savedShowMode=this._showMode,this._saveSetting()}_saveSetting(){if(!this._setting)return;const e=this._setting.get(),t=(this._isVertical?e.vertical:e.horizontal)||{};t.size=this._savedSidebarSizeDIP,this._shouldSaveShowMode&&(t.showMode=this._savedShowMode),this._isVertical?e.vertical=t:e.horizontal=t,this._setting.set(e)}_forceUpdateLayout(){this._sidebarSizeDIP=-1,this._updateLayout()}_onZoomChanged(e){this._forceUpdateLayout()}createShowHideSidebarButton(e){return this._showHideSidebarButtonTitle=e,this._showHideSidebarButton=new Qi("",""),this._showHideSidebarButton.addEventListener(Qi.Events.Click,(function(e){this._showMode!==Ht.Both?this.showBoth(!0):this.hideSidebar(!0)}),this),this._updateShowHideSidebarButton(),this._showHideSidebarButton}_updateShowHideSidebarButton(){if(!this._showHideSidebarButton)return;const e=this._showMode===Ht.OnlyMain;let i="";i=e?this.isVertical()?this.isSidebarSecond()?"largeicon-show-right-sidebar":"largeicon-show-left-sidebar":this.isSidebarSecond()?"largeicon-show-bottom-sidebar":"largeicon-show-top-sidebar":this.isVertical()?this.isSidebarSecond()?"largeicon-hide-right-sidebar":"largeicon-hide-left-sidebar":this.isSidebarSecond()?"largeicon-hide-bottom-sidebar":"largeicon-hide-top-sidebar",this._showHideSidebarButton.setGlyph(i),this._showHideSidebarButton.setTitle(e?t.UIString("Show %s",this._showHideSidebarButtonTitle):t.UIString("Hide %s",this._showHideSidebarButtonTitle))}}const Ht={Both:"Both",OnlyMain:"OnlyMain",OnlySidebar:"OnlySidebar"},Vt={SidebarSizeChanged:Symbol("SidebarSizeChanged"),ShowModeChanged:Symbol("ShowModeChanged")},Ut=20;const Kt=function(e){};var jt=Object.freeze({__proto__:null,SplitWidget:Nt,ShowMode:Ht,Events:Vt,SettingForOrientation:undefined});class qt{constructor(e){this.element=e.body.createChild("div"),this._shadowRoot=mt(this.element,{cssFile:"ui/tooltip.css",enableLegacyPatching:!0,delegatesFocus:void 0}),this._tooltipElement=this._shadowRoot.createChild("div","tooltip"),e.addEventListener("mousemove",this._mouseMove.bind(this),!0),e.addEventListener("mousedown",this._hide.bind(this,!0),!0),e.addEventListener("mouseleave",this._hide.bind(this,!1),!0),e.addEventListener("keydown",this._hide.bind(this,!0),!0),e[Gt]=this,Ft.instance().addEventListener(zt.ZoomChanged,this._reset,this),e.defaultView&&e.defaultView.addEventListener("resize",this._reset.bind(this),!1)}static installHandler(e){new qt(e)}static install(e,t,i,s){if(!t)return void delete e[Gt];let n;e[Gt]={content:t,actionId:i,options:s||{}},e.addEventListener("focus",(t=>{const i=e.ownerDocument[Gt];i&&(n=window.setTimeout((()=>{e.matches(":focus-visible")&&i._show(e,t),n=null}),$t.OpeningDelay))})),e.addEventListener("blur",(()=>{n&&(clearTimeout(n),n=null);const t=e.ownerDocument[Gt];t&&t._hide()}))}static getContent(e){const t=e[Gt];return t?t.content:""}static addNativeOverrideContainer(e){Yt.push(e)}_mouseMove(e){const t=e,i=t.composedPath();if(i&&0===t.buttons&&(0!==t.movementX||0!==t.movementY)){this._anchorElement&&-1===i.indexOf(this._anchorElement)&&this._hide(!1);for(const e of i){if(e===this._anchorElement)return;if(e instanceof HTMLElement&&null!==e.offsetParent&&qt.getContent(e))return void this._show(e,t)}}}_reposition(e,t){this._tooltipElement.positionAt(0,0);const i=wn.container(e.ownerDocument).boxInWindow(this.element.window()),s=this._anchorElement.boxInWindow(this.element.window()),n=this._tooltipElement&&(this._tooltipElement.textContent||"").match("\\s");this._tooltipElement.classList.toggle("tooltip-breakword",!n),this._tooltipElement.style.maxWidth=i.width-4+"px",this._tooltipElement.style.maxHeight="";const o=this._tooltipElement.offsetWidth,r=this._tooltipElement.offsetHeight,l=this._anchorTooltipAtElement()||void 0===t.x;let h,d=l?s.x:t.x+10;if(d=a.clamp(d,i.x+2,i.x+i.width-o-2),l){h=s.y+2+s.height+r<i.y+i.height?s.y+s.height+2:s.y-r-2}else h=t.y+10+r<i.y+i.height?t.y+10:t.y-r-1;this._tooltipElement.positionAt(d,h)}_anchorTooltipAtElement(){if(!this._anchorElement)throw new Error("No _anchorElement set");const e=this._anchorElement[Gt];return void 0!==e.options.anchorTooltipAtElement?e.options.anchorTooltipAtElement:"BUTTON"===this._anchorElement.nodeName||"LABEL"===this._anchorElement.nodeName}_show(e,t){const i=e[Gt];if(this._anchorElement=e,this._tooltipElement.removeChildren(),this._shouldUseNativeTooltips())return void qt.install(this._anchorElement,i.content);if("string"==typeof i.content?this._tooltipElement.setTextContentTruncatedIfNeeded(i.content):this._tooltipElement.appendChild(i.content),i.actionId){const e=Dn.instance().shortcutsForAction(i.actionId);for(const t of e){this._tooltipElement.createChild("div","tooltip-shortcut").textContent=t.title()}}const s=Date.now(),n=void 0!==this._tooltipLastClosed&&s-this._tooltipLastClosed<$t.InstantThreshold;this._tooltipElement.classList.toggle("instant",n),this._tooltipLastOpened=n?s:s+$t.OpeningDelay,this._reposition(e,t),this._tooltipElement.classList.add("shown")}_shouldUseNativeTooltips(){for(const e of Yt)if(this._anchorElement&&this._anchorElement.isSelfOrDescendant(e))return!0;return!1}_hide(e){delete this._anchorElement,this._tooltipElement.classList.remove("shown"),this._tooltipLastOpened&&Date.now()>this._tooltipLastOpened&&(this._tooltipLastClosed=Date.now()),e&&delete this._tooltipLastClosed}_reset(){this._hide(!0),this._tooltipElement.positionAt(0,0),this._tooltipElement.style.maxWidth="0",this._tooltipElement.style.maxHeight="0"}}const $t={InstantThreshold:300,OpeningDelay:600},Gt=Symbol("Tooltip"),Xt=Gt,Yt=[];var Qt=Object.freeze({__proto__:null,Tooltip:qt,TooltipOptions:undefined,TooltipSymbol:Xt});class Zt extends Pt{constructor(){super(!0),this.registerRequiredCSS("ui/tabbedPane.css",{enableLegacyPatching:!0}),this.element.classList.add("tabbed-pane"),this.contentElement.classList.add("tabbed-pane-shadow"),this.contentElement.tabIndex=-1,this.setDefaultFocusedElement(this.contentElement),this._headerElement=this.contentElement.createChild("div","tabbed-pane-header"),this._headerContentsElement=this._headerElement.createChild("div","tabbed-pane-header-contents"),this._tabSlider=document.createElement("div"),this._tabSlider.classList.add("tabbed-pane-tab-slider"),this._tabsElement=this._headerContentsElement.createChild("div","tabbed-pane-header-tabs"),this._tabsElement.setAttribute("role","tablist"),this._tabsElement.addEventListener("keydown",this._keyDown.bind(this),!1),this._contentElement=this.contentElement.createChild("div","tabbed-pane-content"),this._contentElement.createChild("slot"),this._tabs=[],this._tabsHistory=[],this._tabsById=new Map,this._currentTabLocked=!1,this._autoSelectFirstItemOnShow=!0,this._triggerDropDownTimeout=null,this._dropDownButton=this._createDropDownButton(),this._currentDevicePixelRatio=window.devicePixelRatio,Ft.instance().addEventListener(zt.ZoomChanged,this._zoomChanged,this),this.makeTabSlider()}setAccessibleName(e){be(this._tabsElement,e)}setCurrentTabLocked(e){this._currentTabLocked=e,this._headerElement.classList.toggle("locked",this._currentTabLocked)}setAutoSelectFirstItemOnShow(e){this._autoSelectFirstItemOnShow=e}get visibleView(){return this._currentTab?this._currentTab.view:null}tabIds(){return this._tabs.map((e=>e._id))}tabIndex(e){return this._tabs.findIndex((t=>t.id===e))}tabViews(){return this._tabs.map((e=>e.view))}tabView(e){const t=this._tabsById.get(e);return t?t.view:null}get selectedTabId(){return this._currentTab?this._currentTab.id:null}setShrinkableTabs(e){this._shrinkableTabs=e}makeVerticalTabLayout(){this._verticalTabLayout=!0,this._setTabSlider(!1),this.contentElement.classList.add("vertical-tab-layout"),this.invalidateConstraints()}setCloseableTabs(e){this._closeableTabs=e}focus(){this.visibleView?this.visibleView.focus():this.contentElement.focus()}focusSelectedTabHeader(){const e=this._currentTab;e&&e.tabElement.focus()}headerElement(){return this._headerElement}isTabCloseable(e){const t=this._tabsById.get(e);return!!t&&t.isCloseable()}setTabDelegate(e){const t=this._tabs.slice();for(let i=0;i<t.length;++i)t[i].setDelegate(e);this._delegate=e}appendTab(e,t,i,s,n,o,r){const a="boolean"==typeof o?o:Boolean(this._closeableTabs),l=new ei(this,e,t,a,i,s);l.setDelegate(this._delegate),console.assert(!this._tabsById.has(e),`Tabbed pane already contains a tab with id '${e}'`),this._tabsById.set(e,l),void 0!==r?this._tabs.splice(r,0,l):this._tabs.push(l),this._tabsHistory.push(l),this._tabsHistory[0]===l&&this.isShowing()&&this.selectTab(l.id,n),this._updateTabElements()}closeTab(e,t){this.closeTabs([e],t)}closeTabs(e,t){const i=this.hasFocus();for(let i=0;i<e.length;++i)this._innerCloseTab(e[i],t);this._updateTabElements(),this._tabsHistory.length&&this.selectTab(this._tabsHistory[0].id,!1),i&&this.focus()}_innerCloseTab(e,t){const i=this._tabsById.get(e);if(!i)return;if(t&&!i._closeable)return;this._currentTab&&this._currentTab.id===e&&this._hideCurrentTab(),this._tabsById.delete(e),this._tabsHistory.splice(this._tabsHistory.indexOf(i),1),this._tabs.splice(this._tabs.indexOf(i),1),i._shown&&this._hideTabElement(i);const s={prevTabId:void 0,tabId:e,view:i.view,isUserGesture:t};return this.dispatchEventToListeners(Jt.TabClosed,s),!0}hasTab(e){return this._tabsById.has(e)}otherTabs(e){const t=[];for(let i=0;i<this._tabs.length;++i)this._tabs[i].id!==e&&t.push(this._tabs[i].id);return t}_tabsToTheRight(e){let t=-1;for(let i=0;i<this._tabs.length;++i)if(this._tabs[i].id===e){t=i;break}return-1===t?[]:this._tabs.slice(t+1).map((function(e){return e.id}))}_viewHasFocus(){if(this.visibleView&&this.visibleView.hasFocus())return!0;const e=this.contentElement.getComponentRoot();return e instanceof Document&&this.contentElement===e.activeElement}selectTab(e,t,i){if(this._currentTabLocked)return!1;const s=this._viewHasFocus(),n=this._tabsById.get(e);if(!n)return!1;const o={prevTabId:this._currentTab?this._currentTab.id:void 0,tabId:e,view:n.view,isUserGesture:t};return this.dispatchEventToListeners(Jt.TabInvoked,o),this._currentTab&&this._currentTab.id===e||(this.suspendInvalidations(),this._hideCurrentTab(),this._showTab(n),this.resumeInvalidations(),this._currentTab=n,this._tabsHistory.splice(this._tabsHistory.indexOf(n),1),this._tabsHistory.splice(0,0,n),this._updateTabElements(),(s||i)&&this.focus(),this.dispatchEventToListeners(Jt.TabSelected,o)),!0}selectNextTab(){const e=this._tabs.indexOf(this._currentTab),t=a.mod(e+1,this._tabs.length);this.selectTab(this._tabs[t].id,!0)}selectPrevTab(){const e=this._tabs.indexOf(this._currentTab),t=a.mod(e-1,this._tabs.length);this.selectTab(this._tabs[t].id,!0)}lastOpenedTabIds(e){return this._tabsHistory.slice(0,e).map((function(e){return e.id}))}setTabIcon(e,t){const i=this._tabsById.get(e);i&&(i._setIcon(t),this._updateTabElements())}setTabEnabled(e,t){const i=this._tabsById.get(e);i&&i.tabElement.classList.toggle("disabled",!t)}toggleTabClass(e,t,i){const s=this._tabsById.get(e);s&&s._toggleClass(t,i)&&this._updateTabElements()}_zoomChanged(e){this._clearMeasuredWidths(),this.isShowing()&&this._updateTabElements()}_clearMeasuredWidths(){for(let e=0;e<this._tabs.length;++e)delete this._tabs[e]._measuredWidth}changeTabTitle(e,t,i){const s=this._tabsById.get(e);s&&void 0!==i&&(s.tooltip=i),s&&s.title!==t&&(s.title=t,be(s.tabElement,t),this._updateTabElements())}changeTabView(e,t){const i=this._tabsById.get(e);if(!i||i.view===t)return;this.suspendInvalidations();const s=this._currentTab&&this._currentTab.id===e,n=i.view.hasFocus();s&&this._hideTab(i),i.view=t,s&&this._showTab(i),n&&i.view.focus(),this.resumeInvalidations()}onResize(){this._currentDevicePixelRatio!==window.devicePixelRatio&&(this._clearMeasuredWidths(),this._currentDevicePixelRatio=window.devicePixelRatio),this._updateTabElements()}headerResized(){this._updateTabElements()}wasShown(){const e=this._currentTab||this._tabsHistory[0];e&&this._autoSelectFirstItemOnShow&&this.selectTab(e.id)}makeTabSlider(){this._verticalTabLayout||this._setTabSlider(!0)}_setTabSlider(e){this._sliderEnabled=e,this._tabSlider.classList.toggle("enabled",e)}calculateConstraints(){let e=super.calculateConstraints();const t=new Ue(new He(0,0),new He(50,50));return e=e.widthToMax(t).heightToMax(t),e=this._verticalTabLayout?e.addWidth(new Ue(new He(120,0))):e.addHeight(new Ue(new He(0,30))),e}_updateTabElements(){Gs(this,this._innerUpdateTabElements)}setPlaceholderElement(e,t){this._placeholderElement=e,t&&(this._focusedPlaceholderElement=t),this._placeholderContainerElement&&(this._placeholderContainerElement.removeChildren(),this._placeholderContainerElement.appendChild(e))}async waitForTabElementUpdate(){this._innerUpdateTabElements()}_innerUpdateTabElements(){this.isShowing()&&(this._tabs.length?(this._contentElement.classList.remove("has-no-tabs"),this._placeholderContainerElement&&(this._placeholderContainerElement.remove(),this.setDefaultFocusedElement(this.contentElement),delete this._placeholderContainerElement)):(this._contentElement.classList.add("has-no-tabs"),this._placeholderElement&&!this._placeholderContainerElement&&(this._placeholderContainerElement=this._contentElement.createChild("div","tabbed-pane-placeholder fill"),this._placeholderContainerElement.appendChild(this._placeholderElement),this._focusedPlaceholderElement&&this.setDefaultFocusedElement(this._focusedPlaceholderElement))),this._measureDropDownButton(),this._updateWidths(),this._updateTabsDropDown(),this._updateTabSlider())}_showTabElement(e,t){e>=this._tabsElement.children.length?this._tabsElement.appendChild(t.tabElement):this._tabsElement.insertBefore(t.tabElement,this._tabsElement.children[e]),t._shown=!0}_hideTabElement(e){this._tabsElement.removeChild(e.tabElement),e._shown=!1}_createDropDownButton(){const e=document.createElement("div");e.classList.add("tabbed-pane-header-tabs-drop-down-container");const t=ke.create("largeicon-chevron","chevron-icon");return q(e),be(e,o`More tabs`),e.tabIndex=0,e.appendChild(t),e.addEventListener("click",this._dropDownClicked.bind(this)),e.addEventListener("keydown",this._dropDownKeydown.bind(this)),e.addEventListener("mousedown",(e=>{1!==e.which||this._triggerDropDownTimeout||(this._triggerDropDownTimeout=setTimeout(this._dropDownClicked.bind(this,e),200))})),e}_dropDownClicked(e){const t=e;if(1!==t.which)return;this._triggerDropDownTimeout&&(clearTimeout(this._triggerDropDownTimeout),this._triggerDropDownTimeout=null);const i=this._dropDownButton.getBoundingClientRect(),s=new Kn(t,!1,i.left,i.bottom);for(const e of this._tabs)e._shown||(0===this._numberOfTabsShown()&&this._tabsHistory[0]===e?s.defaultSection().appendCheckboxItem(e.title,this._dropDownMenuItemSelected.bind(this,e),!0):s.defaultSection().appendItem(e.title,this._dropDownMenuItemSelected.bind(this,e)));s.show()}_dropDownKeydown(e){isEnterOrSpaceKey(e)&&(this._dropDownButton.click(),e.consume(!0))}_dropDownMenuItemSelected(e){this._lastSelectedOverflowTab=e,this.selectTab(e.id,!0,!0)}_totalWidth(){return this._headerContentsElement.getBoundingClientRect().width}_numberOfTabsShown(){let e=0;for(const t of this._tabs)t._shown&&e++;return e}disableOverflowMenu(){this._overflowDisabled=!0}_updateTabsDropDown(){const e=this._tabsToShowIndexes(this._tabs,this._tabsHistory,this._totalWidth(),this._measuredDropDownButtonWidth||0);if(this._lastSelectedOverflowTab&&this._numberOfTabsShown()!==e.length)return delete this._lastSelectedOverflowTab,void this._updateTabsDropDown();for(let t=0;t<this._tabs.length;++t)this._tabs[t]._shown&&-1===e.indexOf(t)&&this._hideTabElement(this._tabs[t]);for(let t=0;t<e.length;++t){const i=this._tabs[e[t]];i._shown||this._showTabElement(t,i)}this._overflowDisabled||this._maybeShowDropDown(e.length!==this._tabs.length)}_maybeShowDropDown(e){e&&!this._dropDownButton.parentElement?this._headerContentsElement.appendChild(this._dropDownButton):!e&&this._dropDownButton.parentElement&&this._headerContentsElement.removeChild(this._dropDownButton)}_measureDropDownButton(){this._overflowDisabled||this._measuredDropDownButtonWidth||(this._dropDownButton.classList.add("measuring"),this._headerContentsElement.appendChild(this._dropDownButton),this._measuredDropDownButtonWidth=this._dropDownButton.getBoundingClientRect().width,this._headerContentsElement.removeChild(this._dropDownButton),this._dropDownButton.classList.remove("measuring"))}_updateWidths(){const e=this._measureWidths(),t=this._shrinkableTabs?this._calculateMaxWidth(e.slice(),this._totalWidth()):Number.MAX_VALUE;let i=0;for(const s of this._tabs)s.setWidth(this._verticalTabLayout?-1:Math.min(t,e[i++]))}_measureWidths(){this._tabsElement.style.setProperty("width","2000px");const e=new Map;for(const t of this._tabs){if("number"==typeof t._measuredWidth)continue;const i=t._createTabElement(!0);e.set(i,t),this._tabsElement.appendChild(i)}for(const[t,i]of e){const e=t.getBoundingClientRect().width;i._measuredWidth=Math.ceil(e)}for(const t of e.keys())t.remove();const t=[];for(const e of this._tabs)t.push(e._measuredWidth||0);return this._tabsElement.style.removeProperty("width"),t}_calculateMaxWidth(e,t){if(!e.length)return 0;e.sort((function(e,t){return e-t}));let i=0;for(let t=0;t<e.length;++t)i+=e[t];if(t>=i)return e[e.length-1];let s=0;for(let n=e.length-1;n>0;--n){const o=e[n]-e[n-1];if(s+=(e.length-n)*o,t+s>=i)return e[n-1]+(t+s-i)/(e.length-n)}return t/e.length}_tabsToShowIndexes(e,t,i,s){const n=[];let o=0;const r=e.length,a=e.slice(0);void 0!==this._currentTab&&a.unshift(a.splice(a.indexOf(this._currentTab),1)[0]),void 0!==this._lastSelectedOverflowTab&&a.unshift(a.splice(a.indexOf(this._lastSelectedOverflowTab),1)[0]);for(let l=0;l<r;++l){const h=this._automaticReorder?t[l]:a[l];o+=h.width();let d=o;if(l!==r-1&&(d+=s),!this._verticalTabLayout&&d>i)break;n.push(e.indexOf(h))}return n.sort((function(e,t){return e-t})),n}_hideCurrentTab(){this._currentTab&&(this._hideTab(this._currentTab),delete this._currentTab)}_showTab(e){e.tabElement.tabIndex=0,e.tabElement.classList.add("selected"),me(e.tabElement,!0),e.view.show(this.element),this._updateTabSlider()}_updateTabSlider(){if(!this._sliderEnabled)return;if(!this._currentTab)return void(this._tabSlider.style.width="0");let e=0;for(let t=0;t<this._tabs.length&&this._currentTab!==this._tabs[t];t++)this._tabs[t]._shown&&(e+=this._tabs[t]._measuredWidth||0);const t=this._currentTab._shown?this._currentTab._measuredWidth:this._dropDownButton.offsetWidth,i=window.devicePixelRatio>=1.5?" scaleY(0.75)":"";this._tabSlider.style.transform="translateX("+e+"px)"+i,this._tabSlider.style.width=t+"px",this._tabSlider.parentElement!==this._headerContentsElement&&this._headerContentsElement.appendChild(this._tabSlider)}_hideTab(e){e.tabElement.removeAttribute("tabIndex"),e.tabElement.classList.remove("selected"),e.tabElement.setAttribute("aria-selected","false"),e.view.detach()}elementsToRestoreScrollPositionsFor(){return[this._contentElement]}_insertBefore(e,t){this._tabsElement.insertBefore(e.tabElement,this._tabsElement.childNodes[t]);const i=this._tabs.indexOf(e);this._tabs.splice(i,1),i<t&&--t,this._tabs.splice(t,0,e);const s={prevTabId:void 0,tabId:e.id,view:e.view,isUserGesture:void 0};this.dispatchEventToListeners(Jt.TabOrderChanged,s)}leftToolbar(){return this._leftToolbar||(this._leftToolbar=new $i("tabbed-pane-left-toolbar"),this._headerElement.insertBefore(this._leftToolbar.element,this._headerElement.firstChild)),this._leftToolbar}rightToolbar(){return this._rightToolbar||(this._rightToolbar=new $i("tabbed-pane-right-toolbar"),this._headerElement.appendChild(this._rightToolbar.element)),this._rightToolbar}setAllowTabReorder(e,t){this._allowTabReorder=e,this._automaticReorder=t}_keyDown(e){if(!this._currentTab)return;let t=null;switch(e.key){case"ArrowUp":case"ArrowLeft":t=this._currentTab.tabElement.previousElementSibling,t||this._dropDownButton.parentElement||(t=this._currentTab.tabElement.parentElement?this._currentTab.tabElement.parentElement.lastElementChild:null);break;case"ArrowDown":case"ArrowRight":t=this._currentTab.tabElement.nextElementSibling,t||this._dropDownButton.parentElement||(t=this._currentTab.tabElement.parentElement?this._currentTab.tabElement.parentElement.firstElementChild:null);break;case"Enter":case" ":return void this._currentTab.view.focus();default:return}if(!t)return void this._dropDownButton.click();const i=this._tabs.find((e=>e.tabElement===t));i&&this.selectTab(i.id,!0),t.focus()}}const Jt={TabInvoked:Symbol("TabInvoked"),TabSelected:Symbol("TabSelected"),TabClosed:Symbol("TabClosed"),TabOrderChanged:Symbol("TabOrderChanged")};class ei{constructor(e,t,i,s,n,o){this._closeable=s,this._tabbedPane=e,this._id=t,this._title=i,this._tooltip=o,this._view=n,this._shown=!1,this._measuredWidth,this._tabElement,this._iconContainer=null}get id(){return this._id}get title(){return this._title}set title(e){e!==this._title&&(this._title=e,this._titleElement&&(this._titleElement.textContent=e),delete this._measuredWidth)}isCloseable(){return this._closeable}_setIcon(e){this._icon=e,this._tabElement&&this._titleElement&&this._createIconElement(this._tabElement,this._titleElement,!1),delete this._measuredWidth}_toggleClass(e,t){const i=this.tabElement;return i.classList.contains(e)!==t&&(i.classList.toggle(e,t),delete this._measuredWidth,!0)}get view(){return this._view}set view(e){this._view=e}get tooltip(){return this._tooltip}set tooltip(e){this._tooltip=e,this._titleElement&&qt.install(this._titleElement,e||"")}get tabElement(){return this._tabElement||(this._tabElement=this._createTabElement(!1)),this._tabElement}width(){return this._width||0}setWidth(e){this.tabElement.style.width=-1===e?"":e+"px",this._width=e}setDelegate(e){this._delegate=e}_createIconElement(e,t,i){const s=ti.get(e);if(s&&(s.remove(),ti.delete(e)),!this._icon)return;const n=document.createElement("span");n.classList.add("tabbed-pane-header-tab-icon");const o=i?this._icon.cloneNode(!0):this._icon;n.appendChild(o),e.insertBefore(n,t),ti.set(e,n)}_createTabElement(e){const t=document.createElement("div");t.classList.add("tabbed-pane-header-tab"),t.id="tab-"+this._id,$(t),me(t,!1),be(t,this.title);const i=t.createChild("span","tabbed-pane-header-tab-title");if(i.textContent=this.title,qt.install(i,this.tooltip||""),this._createIconElement(t,i,e),e||(this._titleElement=i),this._closeable){const e=t.createChild("div","tabbed-pane-close-button","dt-close-button");e.gray=!0,e.setAccessibleName(o`Close ${this.title}`),t.classList.add("closeable")}return e?t.classList.add("measuring"):(t.addEventListener("click",this._tabClicked.bind(this),!1),t.addEventListener("auxclick",this._tabClicked.bind(this),!1),t.addEventListener("mousedown",this._tabMouseDown.bind(this),!1),t.addEventListener("mouseup",this._tabMouseUp.bind(this),!1),t.addEventListener("contextmenu",this._tabContextMenu.bind(this),!1),this._tabbedPane._allowTabReorder&&ws(t,this._startTabDragging.bind(this),this._tabDragging.bind(this),this._endTabDragging.bind(this),"-webkit-grabbing","pointer",200)),t}_tabClicked(e){const t=e,i=1===t.button;this._closeable&&(i||t.target.classList.contains("tabbed-pane-close-button"))?(this._closeTabs([this.id]),t.consume(!0)):this._tabbedPane.focus()}_tabMouseDown(e){const t=e;t.target.classList.contains("tabbed-pane-close-button")||1===t.button||this._tabbedPane.selectTab(this.id,!0)}_tabMouseUp(e){const t=e;1===t.button&&t.consume(!0)}_closeTabs(e){this._delegate?this._delegate.closeTabs(this._tabbedPane,e):this._tabbedPane.closeTabs(e,!0)}_tabContextMenu(e){const i=new Kn(e);this._closeable&&(i.defaultSection().appendItem(t.UIString("Close"),function(){this._closeTabs([this.id])}.bind(this)),i.defaultSection().appendItem(t.UIString("Close others"),function(){this._closeTabs(this._tabbedPane.otherTabs(this.id))}.bind(this)),i.defaultSection().appendItem(t.UIString("Close tabs to the right"),function(){this._closeTabs(this._tabbedPane._tabsToTheRight(this.id))}.bind(this)),i.defaultSection().appendItem(t.UIString("Close all"),function(){this._closeTabs(this._tabbedPane.tabIds())}.bind(this))),this._delegate&&this._delegate.onContextMenu(this.id,i),i.show()}_startTabDragging(e){const t=e;return!t.target.classList.contains("tabbed-pane-close-button")&&(this._dragStartX=t.pageX,this._tabElement&&this._tabElement.classList.add("dragging"),this._tabbedPane._tabSlider.remove(),!0)}_tabDragging(e){const t=e,i=this._tabbedPane._tabsElement.childNodes;for(let e=0;e<i.length;++e){let s=i[e];if(!this._tabElement||s===this._tabElement)continue;if(!(s.offsetLeft+s.clientWidth>this._tabElement.offsetLeft&&this._tabElement.offsetLeft+this._tabElement.clientWidth>s.offsetLeft))continue;const n=this._dragStartX;if(Math.abs(t.pageX-n)<s.clientWidth/2+5)break;t.pageX-n>0&&(s=s.nextSibling,++e);const o=this._tabElement.offsetLeft;this._tabbedPane._insertBefore(this,e),this._dragStartX=n+this._tabElement.offsetLeft-o;break}const s=this._dragStartX,n=this._tabElement;!n.previousSibling&&t.pageX-s<0||!n.nextSibling&&t.pageX-s>0?n.style.setProperty("left","0px"):n.style.setProperty("left",t.pageX-s+"px")}_endTabDragging(e){const t=this._tabElement;t.classList.remove("dragging"),t.style.removeProperty("left"),delete this._dragStartX,this._tabbedPane._updateTabSlider()}}const ti=new WeakMap;var ii=Object.freeze({__proto__:null,TabbedPane:Zt,EventData:undefined,Events:Jt,TabbedPaneTab:ei,TabbedPaneTabDelegate:class{closeTabs(e,t){}onContextMenu(e,t){}}});d.RuntimeExtensionDescriptor;class si{appendApplicableItems(e){}appendView(e,t){}showView(e,t,i){throw new Error("not implemented")}removeView(e){}widget(){throw new Error("not implemented")}}class ni{resolveLocation(e){throw new Error("not implemented")}}var oi=Object.freeze({__proto__:null,View:class{viewId(){throw new Error("not implemented")}title(){throw new Error("not implemented")}isCloseable(){throw new Error("not implemented")}isTransient(){throw new Error("not implemented")}toolbarItems(){throw new Error("not implemented")}widget(){throw new Error("not implemented")}disposeView(){}},SimpleView:class extends Pt{constructor(e,t){super(t),this._title=e}viewId(){return this._title}title(){return this._title}isCloseable(){return!1}isTransient(){return!1}toolbarItems(){return Promise.resolve([])}widget(){return Promise.resolve(this)}revealView(){return pi.instance().revealView(this)}disposeView(){}},ProvidedView:class{constructor(e){this._extension=e}viewId(){return this._descriptor().id}title(){return o(this._extension.title())}order(){return this._descriptor().order}isCloseable(){return"closeable"===this._descriptor().persistence}isTransient(){return"transient"===this._descriptor().persistence}toolbarItems(){const e=this._descriptor().actionIds;if(e){const t=e.split(",").map((e=>$i.createActionButtonForId(e.trim())));return Promise.resolve(t)}return this._descriptor().hasToolbar?this.widget().then((e=>e.toolbarItems())):Promise.resolve([])}async widget(){this._widgetRequested=!0;const e=await this._extension.instance();if(!(e instanceof Mt))throw new Error("view className should point to a UI.Widget");return e}async disposeView(){if(!this._widgetRequested)return;const e=await this.widget();await e.ownerViewDisposed()}_descriptor(){return this._extension.descriptor()}},ViewLocation:si,TabbedViewLocation:class extends si{tabbedPane(){throw new Error("not implemented")}enableMoreTabsButton(){throw new Error("not implemented")}},ViewLocationResolver:ni});const ri=[],ai=new Set;function li(){return ri.filter((e=>d.Runtime.isDescriptorEnabled({experiment:e.experiment(),condition:e.condition()})))}const hi=[],di=new Set;function ci(){return hi}const ui={ELEMENTS:o`Elements`,DRAWER:o`Drawer`,DRAWER_SIDEBAR:o`Drawer sidebar`,PANEL:o`Panel`,NETWORK:o`Network`,SETTINGS:o`Settings`,SOURCES:o`Sources`};class mi{constructor(e){this._viewRegistration=e,this._widgetRequested=!1}title(){return this._viewRegistration.title()}commandPrompt(){return this._viewRegistration.commandPrompt()}isCloseable(){return"closeable"===this._viewRegistration.persistence}isTransient(){return"transient"===this._viewRegistration.persistence}viewId(){return this._viewRegistration.id}location(){return this._viewRegistration.location}order(){return this._viewRegistration.order}settings(){return this._viewRegistration.settings}tags(){if(this._viewRegistration.tags)return this._viewRegistration.tags.map((e=>e())).join("\0")}persistence(){return this._viewRegistration.persistence}async toolbarItems(){return this._viewRegistration.hasToolbar?this.widget().then((e=>e.toolbarItems())):[]}async widget(){return this._widgetRequested=!0,this._viewRegistration.loadView()}async disposeView(){if(!this._widgetRequested)return;const e=await this.widget();await e.ownerViewDisposed()}experiment(){return this._viewRegistration.experiment}condition(){return this._viewRegistration.condition}}let _i;class pi{constructor(){this._views=new Map,this._locationNameByViewId=new Map,this._locationOverrideSetting=i.Settings.instance().createSetting("viewsLocationOverride",{});const e=this._locationOverrideSetting.get(),t=new Map;for(const e of li()){const i=e.location()||"none",s=t.get(i)||[];s.push(e),t.set(i,s)}let s=[];for(const e of t.values())e.sort(((e,t)=>{const i=e.order(),s=t.order();return i&&s?i-s:0})),s=s.concat(e);for(const t of s){const i=t.viewId(),s=t.location();if(this._views.has(i))throw new Error(`Duplicate view id '${i}'`);this._views.set(i,t);const n=e[i]||s;this._locationNameByViewId.set(i,n)}}static instance(e={forceNew:null}){const{forceNew:t}=e;return _i&&!t||(_i=new pi),_i}static _createToolbar(e){if(!e.length)return null;const t=new $i("");for(const i of e)t.appendToolbarItem(i);return t.element}locationNameForViewId(e){const t=this._locationNameByViewId.get(e);if(!t)throw new Error("No location name for view with id "+e);return t}moveView(e,t,i){const{shouldSelectTab:s,overrideSaving:n}=i||{shouldSelectTab:!0,overrideSaving:!1};if(!e||!t)return;const o=this.view(e);if(o){if(!n){this._locationNameByViewId.set(e,t);const i=this._locationOverrideSetting.get();i[e]=t,this._locationOverrideSetting.set(i)}this.resolveLocation(t).then((t=>{if(!t)throw new Error("Move view: Could not resolve location for view: "+e);return t._reveal(),t.showView(o,void 0,!0,!1,s)}))}}revealView(e){const t=Ei.get(e);return t?(t._reveal(),t.showView(e)):Promise.resolve()}showViewInLocation(e,t,i=!0){this.moveView(e,t,{shouldSelectTab:i,overrideSaving:!0})}view(e){const t=this._views.get(e);if(!t)throw new Error(`No view with id ${e} found!`);return t}materializedWidget(e){const t=this.view(e);return t&&gi.get(t)||null}showView(e,t,i){const s=this._views.get(e);if(!s)return console.error("Could not find view for id: '"+e+"' "+(new Error).stack),Promise.resolve();const n=this._locationNameByViewId.get(e),o=Ei.get(s);return o?(o._reveal(),o.showView(s,void 0,t,i)):this.resolveLocation(n).then((n=>{if(!n)throw new Error("Could not resolve location for view: "+e);return n._reveal(),n.showView(s,void 0,t,i)}))}async resolveLocation(e){if(!e)return Promise.resolve(null);const t=d.Runtime.instance().extensions(ni).filter((t=>t.descriptor().name===e)),i=ci().filter((t=>t.name===e));if(t.length+i.length>1)throw new Error("Duplicate resolver for location: "+e);if(t.length){return(await t[0].instance()).resolveLocation(e)}if(i.length){return(await i[0].loadResolver()).resolveLocation(e)}throw new Error("Unresolved location: "+e)}createTabbedLocation(e,t,i,s,n){return new Si(this,e,t,i,s,n)}createStackLocation(e,t){return new yi(this,e,t)}hasViewsForLocation(e){return Boolean(this._viewsForLocation(e).length)}_viewsForLocation(e){const t=[];for(const[i,s]of this._views.entries())this._locationNameByViewId.get(i)===e&&t.push(s);return t}}const gi=new WeakMap;class bi extends Pt{constructor(e){super(),this.element.classList.add("flex-auto","view-container","overflow-auto"),this._view=e,this.element.tabIndex=-1,G(this.element),be(this.element,o`${e.title()} panel`),this.setDefaultFocusedElement(this.element)}_materialize(){if(this._materializePromise)return this._materializePromise;const e=[];return e.push(this._view.toolbarItems().then((e=>{const t=pi._createToolbar(e);t&&this.element.insertBefore(t,this.element.firstChild)}))),e.push(this._view.widget().then((e=>{const t=this.element.hasFocus();this.setDefaultFocusedElement(null),gi.set(this._view,e),e.show(this.element),t&&e.focus()}))),this._materializePromise=Promise.all(e),this._materializePromise}wasShown(){this._materialize().then((()=>{const e=gi.get(this._view);e&&(e.show(this.element),this._wasShownForTest())}))}_wasShownForTest(){}}class fi extends Pt{constructor(e){super(!0),this.element.classList.add("flex-none"),this.registerRequiredCSS("ui/viewContainers.css",{enableLegacyPatching:!0}),this._titleElement=document.createElement("div"),this._titleElement.classList.add("expandable-view-title"),V(this._titleElement),this._titleExpandIcon=ke.create("smallicon-triangle-right","title-expand-icon"),this._titleElement.appendChild(this._titleExpandIcon);const t=e.title();Ys(this._titleElement,t),be(this._titleElement,t),de(this._titleElement,!1),this._titleElement.tabIndex=0,self.onInvokeElement(this._titleElement,this._toggleExpanded.bind(this)),this._titleElement.addEventListener("keydown",this._onTitleKeyDown.bind(this),!1),this.contentElement.insertBefore(this._titleElement,this.contentElement.firstChild),he(this._titleElement,this.contentElement.createChild("slot")),this._view=e,wi.set(e,this)}wasShown(){this._widget&&this._materializePromise&&this._materializePromise.then((()=>{this._titleElement.classList.contains("expanded")&&this._widget&&this._widget.show(this.element)}))}_materialize(){if(this._materializePromise)return this._materializePromise;const e=[];return e.push(this._view.toolbarItems().then((e=>{const t=pi._createToolbar(e);t&&this._titleElement.appendChild(t)}))),e.push(this._view.widget().then((e=>{this._widget=e,gi.set(this._view,e),e.show(this.element)}))),this._materializePromise=Promise.all(e),this._materializePromise}_expand(){return this._titleElement.classList.contains("expanded")?this._materialize():(this._titleElement.classList.add("expanded"),de(this._titleElement,!0),this._titleExpandIcon.setIconType("smallicon-triangle-down"),this._materialize().then((()=>{this._widget&&this._widget.show(this.element)})))}_collapse(){this._titleElement.classList.contains("expanded")&&(this._titleElement.classList.remove("expanded"),de(this._titleElement,!1),this._titleExpandIcon.setIconType("smallicon-triangle-right"),this._materialize().then((()=>{this._widget&&this._widget.detach()})))}_toggleExpanded(e){"keydown"===e.type&&e.target!==this._titleElement||(this._titleElement.classList.contains("expanded")?this._collapse():this._expand())}_onTitleKeyDown(e){if(e.target!==this._titleElement)return;const t=e;"ArrowLeft"===t.key?this._collapse():"ArrowRight"===t.key&&(this._titleElement.classList.contains("expanded")?this._widget&&this._widget.focus():this._expand())}}const wi=new WeakMap;class vi{constructor(e,t,i){this._manager=e,this._revealCallback=i,this._widget=t}widget(){return this._widget}_reveal(){this._revealCallback&&this._revealCallback()}showView(e,t,i,s,n){throw new Error("not implemented")}removeView(e){throw new Error("not implemented")}}const Ei=new WeakMap;class Si extends vi{constructor(e,t,s,n,o,r){const a=new Zt;o&&a.setAllowTabReorder(!0),super(e,a,t),this._tabbedPane=a,this._allowReorder=o,this._tabbedPane.addEventListener(Jt.TabSelected,this._tabSelected,this),this._tabbedPane.addEventListener(Jt.TabClosed,this._tabClosed,this),this._closeableTabSetting=i.Settings.instance().createSetting("closeableTabs",{}),this._setOrUpdateCloseableTabsSetting(),this._tabOrderSetting=i.Settings.instance().createSetting(s+"-tabOrder",{}),this._tabbedPane.addEventListener(Jt.TabOrderChanged,this._persistTabOrder,this),n&&(this._lastSelectedTabSetting=i.Settings.instance().createSetting(s+"-selectedTab","")),this._defaultTab=r,this._views=new Map,s&&this.appendApplicableItems(s)}_setOrUpdateCloseableTabsSetting(){const e=this._closeableTabSetting.get(),t=Object.assign({security:!0},e);this._closeableTabSetting.set(t)}widget(){return this._tabbedPane}tabbedPane(){return this._tabbedPane}enableMoreTabsButton(){const e=new es(this._appendTabsToMenu.bind(this));return this._tabbedPane.leftToolbar().appendToolbarItem(e),this._tabbedPane.disableOverflowMenu(),e}appendApplicableItems(e){const t=this._manager._viewsForLocation(e);if(this._allowReorder){let e=0;const i=this._tabOrderSetting.get(),s=new Map;for(const n of t)s.set(n.viewId(),i[n.viewId()]||++e*Si.orderStep);t.sort(((e,t)=>s.get(e.viewId())-s.get(t.viewId())))}for(const e of t){const t=e.viewId();this._views.set(t,e),Ei.set(e,this),e.isTransient()||(e.isCloseable()?this._closeableTabSetting.get()[t]&&this._appendTab(e):this._appendTab(e))}if(this._defaultTab)if(this._tabbedPane.hasTab(this._defaultTab))this._tabbedPane.selectTab(this._defaultTab);else{const e=Array.from(this._views.values()).find((e=>e.viewId()===this._defaultTab));e&&this.showView(e)}else this._lastSelectedTabSetting&&this._tabbedPane.hasTab(this._lastSelectedTabSetting.get())&&this._tabbedPane.selectTab(this._lastSelectedTabSetting.get())}_appendTabsToMenu(e){const t=Array.from(this._views.values());t.sort(((e,t)=>e.title().localeCompare(t.title())));for(const i of t){const t=i.title();"issues-pane"!==i.viewId()?e.defaultSection().appendItem(t,this.showView.bind(this,i,void 0,!0)):e.defaultSection().appendItem(t,(()=>{m.issuesPanelOpenedFrom(_.IssueOpener.HamburgerMenu),this.showView(i,void 0,!0)}))}}_appendTab(e,t){this._tabbedPane.appendTab(e.viewId(),e.title(),new bi(e),void 0,!1,e.isCloseable()||e.isTransient(),t)}appendView(e,t){if(this._tabbedPane.hasTab(e.viewId()))return;const i=Ei.get(e);i&&i!==this&&i.removeView(e),Ei.set(e,this),this._manager._views.set(e.viewId(),e),this._views.set(e.viewId(),e);let s=void 0;const n=this._tabbedPane.tabIds();if(this._allowReorder){const t=this._tabOrderSetting.get(),i=t[e.viewId()];for(let e=0;i&&e<n.length;++e)if(t[n[e]]&&t[n[e]]>i){s=e;break}}else if(t)for(let e=0;e<n.length;++e)if(n[e]===t.viewId()){s=e;break}if(this._appendTab(e,s),e.isCloseable()){const t=this._closeableTabSetting.get(),i=e.viewId();t[i]||(t[i]=!0,this._closeableTabSetting.set(t))}this._persistTabOrder()}async showView(e,t,i,s,n=!0){this.appendView(e,t),n&&this._tabbedPane.selectTab(e.viewId(),i),s||this._tabbedPane.focus();const o=this._tabbedPane.tabView(e.viewId());await o._materialize()}removeView(e){this._tabbedPane.hasTab(e.viewId())&&(Ei.delete(e),this._manager._views.delete(e.viewId()),this._tabbedPane.closeTab(e.viewId()),this._views.delete(e.viewId()))}_tabSelected(e){const t=e.data.tabId;this._lastSelectedTabSetting&&e.data.isUserGesture&&this._lastSelectedTabSetting.set(t)}_tabClosed(e){const t=e.data.tabId,i=this._closeableTabSetting.get();i[t]&&(i[t]=!1,this._closeableTabSetting.set(i));const s=this._views.get(t);s&&s.disposeView()}_persistTabOrder(){const e=this._tabbedPane.tabIds(),t={};for(let i=0;i<e.length;i++)t[e[i]]=(i+1)*Si.orderStep;const i=this._tabOrderSetting.get(),s=Object.keys(i);s.sort(((e,t)=>i[e]-i[t]));let n=0;for(const e of s)e in t?n=t[e]:t[e]=++n;this._tabOrderSetting.set(t)}}Si.orderStep=10;class yi extends vi{constructor(e,t,i){const s=new Pt;super(e,s,t),this._vbox=s,this._expandableContainers=new Map,i&&this.appendApplicableItems(i)}appendView(e,t){const i=Ei.get(e);i&&i!==this&&i.removeView(e);let s=this._expandableContainers.get(e.viewId());if(!s){Ei.set(e,this),this._manager._views.set(e.viewId(),e),s=new fi(e);let i=null;if(t){const e=wi.get(t);i=e?e.element:null}s.show(this._vbox.contentElement,i),this._expandableContainers.set(e.viewId(),s)}}async showView(e,t){this.appendView(e,t);const i=this._expandableContainers.get(e.viewId());i&&await i._expand()}removeView(e){const t=this._expandableContainers.get(e.viewId());t&&(t.detach(),this._expandableContainers.delete(e.viewId()),Ei.delete(e),this._manager._views.delete(e.viewId()))}appendApplicableItems(e){for(const t of this._manager._viewsForLocation(e))this.appendView(t)}}var xi=Object.freeze({__proto__:null,PreRegisteredView:mi,ViewManager:pi,ContainerWidget:bi,_ExpandableContainerWidget:fi,_TabbedLocation:Si,ViewRegistry:undefined,getRegisteredViewExtensions:li,registerViewExtension:function(e){const t=e.id;if(ai.has(t))throw new Error(`Duplicate view id '${t}': ${(new Error).stack}`);ai.add(t),ri.push(new mi(e))},getRegisteredLocationResolvers:ci,registerLocationResolver:function(e){const t=e.name;if(di.has(t))throw new Error(`Duplicate view location name registration '${t}'`);di.add(t),hi.push(e)},ViewLocationCategoryValues:ui});let Ci;class Ti extends Pt{constructor(){super(),wn.setContainer(this.element),this.setMinimumSize(240,72),this._drawerSplitWidget=new Nt(!1,!0,"Inspector.drawerSplitViewState",200,200),this._drawerSplitWidget.hideSidebar(),this._drawerSplitWidget.enableShowModeSaving(),this._drawerSplitWidget.show(this.element),this._tabDelegate=new Ii,this._drawerTabbedLocation=pi.instance().createTabbedLocation(this._showDrawer.bind(this,!1),"drawer-view",!0,!0);this._drawerTabbedLocation.enableMoreTabsButton().setTitle(o`More Tools`),this._drawerTabbedPane=this._drawerTabbedLocation.tabbedPane(),this._drawerTabbedPane.setMinimumSize(0,27),this._drawerTabbedPane.element.classList.add("drawer-tabbed-pane");const e=new Qi(t.UIString("Close drawer"),"largeicon-delete");e.addEventListener(Qi.Events.Click,this._closeDrawer,this),this._drawerTabbedPane.addEventListener(Jt.TabSelected,this._tabSelected,this),this._drawerTabbedPane.setTabDelegate(this._tabDelegate),this._drawerSplitWidget.installResizer(this._drawerTabbedPane.headerElement()),this._drawerSplitWidget.setSidebarWidget(this._drawerTabbedPane),this._drawerTabbedPane.rightToolbar().appendToolbarItem(e),this._infoBarDiv,this._tabbedLocation=pi.instance().createTabbedLocation(u.InspectorFrontendHostInstance.bringToFront.bind(u.InspectorFrontendHostInstance),"panel",!0,!0,d.Runtime.queryParam("panel")),this._tabbedPane=this._tabbedLocation.tabbedPane(),this._tabbedPane.element.classList.add("main-tabbed-pane"),this._tabbedPane.registerRequiredCSS("ui/inspectorViewTabbedPane.css",{enableLegacyPatching:!1}),this._tabbedPane.addEventListener(Jt.TabSelected,this._tabSelected,this),this._tabbedPane.setAccessibleName(t.UIString("Panels")),this._tabbedPane.setTabDelegate(this._tabDelegate),m.setLaunchPanel(this._tabbedPane.selectedTabId),u.isUnderTest()&&this._tabbedPane.setAutoSelectFirstItemOnShow(!1),this._drawerSplitWidget.setMainWidget(this._tabbedPane),this._keyDownBound=this._keyDown.bind(this),u.InspectorFrontendHostInstance.events.addEventListener(p.Events.ShowPanel,function(e){const t=e.data;this.showPanel(t)}.bind(this))}static instance(e={forceNew:null}){const{forceNew:t}=e;return Ci&&!t||(Ci=new Ti),Ci}wasShown(){this.element.ownerDocument.addEventListener("keydown",this._keyDownBound,!1)}willHide(){this.element.ownerDocument.removeEventListener("keydown",this._keyDownBound,!1)}resolveLocation(e){return"drawer-view"===e?this._drawerTabbedLocation:"panel"===e?this._tabbedLocation:null}createToolbars(){this._tabbedPane.leftToolbar().appendItemsAtLocation("main-toolbar-left"),this._tabbedPane.rightToolbar().appendItemsAtLocation("main-toolbar-right")}addPanel(e){this._tabbedLocation.appendView(e)}hasPanel(e){return this._tabbedPane.hasTab(e)}async panel(e){const t=pi.instance().view(e);if(!t)throw new Error(`Expected view for panel '${e}'`);return t.widget()}onSuspendStateChanged(e){this._currentPanelLocked=e,this._tabbedPane.setCurrentTabLocked(this._currentPanelLocked),this._tabbedPane.leftToolbar().setEnabled(!this._currentPanelLocked),this._tabbedPane.rightToolbar().setEnabled(!this._currentPanelLocked)}canSelectPanel(e){return!this._currentPanelLocked||this._tabbedPane.selectedTabId===e}async showPanel(e){await pi.instance().showView(e)}setPanelIcon(e,t){const i=this._getTabbedPaneForTabId(e);i&&i.setTabIcon(e,t)}_emitDrawerChangeEvent(e){const t=new CustomEvent(ki.DrawerChange,{bubbles:!0,cancelable:!0,detail:{isDrawerOpen:e}});document.body.dispatchEvent(t)}_getTabbedPaneForTabId(e){return this._tabbedPane.hasTab(e)?this._tabbedPane:this._drawerTabbedPane.hasTab(e)?this._drawerTabbedPane:null}currentPanelDeprecated(){return pi.instance().materializedWidget(this._tabbedPane.selectedTabId||"")}_showDrawer(e){this._drawerTabbedPane.isShowing()||(this._drawerSplitWidget.showBoth(),this._focusRestorer=e?new At(this._drawerTabbedPane):null,this._emitDrawerChangeEvent(!0))}drawerVisible(){return this._drawerTabbedPane.isShowing()}_closeDrawer(){this._drawerTabbedPane.isShowing()&&(this._focusRestorer&&this._focusRestorer.restore(),this._drawerSplitWidget.hideSidebar(!0),this._emitDrawerChangeEvent(!1))}setDrawerMinimized(e){this._drawerSplitWidget.setSidebarMinimized(e),this._drawerSplitWidget.setResizable(!e)}isDrawerMinimized(){return this._drawerSplitWidget.isSidebarMinimized()}closeDrawerTab(e,t){this._drawerTabbedPane.closeTab(e,t),m.panelClosed(e)}_keyDown(e){const t=e;if(!je.eventHasCtrlOrMeta(t)||t.altKey||t.shiftKey)return;if(i.moduleSetting("shortcutPanelSwitch").get()){let i=-1;if(t.keyCode>48&&t.keyCode<58?i=t.keyCode-49:t.keyCode>96&&t.keyCode<106&&t.location===KeyboardEvent.DOM_KEY_LOCATION_NUMPAD&&(i=t.keyCode-97),-1!==i){const t=this._tabbedPane.tabIds()[i];t&&(kn.hasInstance()||this._currentPanelLocked||this.showPanel(t),e.consume(!0))}}}onResize(){wn.containerMoved(this.element)}topResizerElement(){return this._tabbedPane.headerElement()}toolbarItemResized(){this._tabbedPane.headerResized()}_tabSelected(e){const t=e.data.tabId;m.panelShown(t)}setOwnerSplit(e){this._ownerSplitWidget=e}ownerSplit(){return this._ownerSplitWidget||null}minimize(){this._ownerSplitWidget&&this._ownerSplitWidget.setSidebarMinimized(!0)}restore(){this._ownerSplitWidget&&this._ownerSplitWidget.setSidebarMinimized(!1)}displayReloadRequiredWarning(e){if(!this._reloadRequiredInfobar){const t=new _t(pt.Info,e,[{text:o`Reload DevTools`,highlight:!0,delegate:()=>{ot.instance().canDock()&&ot.instance().dockSide()===rt.Undocked&&u.InspectorFrontendHostInstance.setIsDocked(!0,(function(){})),u.InspectorFrontendHostInstance.reattach((()=>window.location.reload()))},dismiss:!1}]);t.setParentView(this),this._attachReloadRequiredInfobar(t),this._reloadRequiredInfobar=t,t.setCloseCallback((()=>{delete this._reloadRequiredInfobar}))}}_attachReloadRequiredInfobar(e){this._infoBarDiv||(this._infoBarDiv=document.createElement("div"),this._infoBarDiv.classList.add("flex-none"),this.contentElement.insertBefore(this._infoBarDiv,this.contentElement.firstChild)),this._infoBarDiv.appendChild(e.element)}}class Ii{closeTabs(e,t){e.closeTabs(t,!0),t.forEach((e=>{m.panelClosed(e)}))}moveToDrawer(e){m.actionTaken(_.Action.TabMovedToDrawer),pi.instance().moveView(e,"drawer-view")}moveToMainPanel(e){m.actionTaken(_.Action.TabMovedToMainPanel),pi.instance().moveView(e,"panel")}onContextMenu(e,i){if("console"===e||"console-view"===e)return;"drawer-view"===pi.instance().locationNameForViewId(e)?i.defaultSection().appendItem(t.UIString("Move to top"),this.moveToMainPanel.bind(this,e)):i.defaultSection().appendItem(t.UIString("Move to bottom"),this.moveToDrawer.bind(this,e))}}const ki={DrawerChange:"drawerchange"};var Mi=Object.freeze({__proto__:null,InspectorView:Ti,ActionDelegate:class{handleAction(e,t){switch(t){case"main.toggle-drawer":return Ti.instance().drawerVisible()?Ti.instance()._closeDrawer():Ti.instance()._showDrawer(!0),!0;case"main.next-tab":return Ti.instance()._tabbedPane.selectNextTab(),Ti.instance()._tabbedPane.focus(),!0;case"main.previous-tab":return Ti.instance()._tabbedPane.selectPrevTab(),Ti.instance()._tabbedPane.focus(),!0}return!1}},InspectorViewTabDelegate:Ii,Events:ki});const Li=function(e,t,i,s){const n=Js.create(e);s&&qt.install(n,s);const o=n.checkboxElement;if(o.name=e,Pi(o,t),i)return n;const r=document.createElement("p");return r.appendChild(n),r},Pi=function(e,t){const i=e;function s(){i.checked!==t.get()&&(i.checked=t.get())}t.addChangeListener(s),s(),i.addEventListener("change",(function(){t.get()!==i.checked&&t.set(i.checked)}),!1)};d.RuntimeExtensionDescriptor;var Di=Object.freeze({__proto__:null,createSettingCheckbox:Li,bindCheckbox:Pi,createCustomSetting:function(e,t){const i=document.createElement("p"),s=i.createChild("fieldset"),n=s.createChild("label");return n.textContent=e,N(n,t),s.appendChild(t),i},createControlForSetting:function(e,t){const s=e.title();switch(e.type()){case i.SettingTypeObject.BOOLEAN:return Li(s,e);case i.SettingTypeObject.ENUM:return Array.isArray(e.options())?function(e,t,i,s,n){const r=document.createElement("p"),a=r.createChild("label"),l=r.createChild("select","chrome-select");a.textContent=e,n&&(r.classList.add("chrome-select-label"),a.createChild("p").textContent=n),N(a,l);for(const e of t)e.text&&"string"==typeof e.value&&l.add(new Option(e.text,e.value));let h=null;return i&&(h=r.createChild("span","reload-warning hidden"),h.textContent=o`${"*"}Requires reload`,H(h)),s.addChangeListener(d),d(),l.addEventListener("change",(function(){s.set(t[l.selectedIndex].value),h&&(h.classList.remove("hidden"),Ti.instance().displayReloadRequiredWarning(o`One or more settings have changed which requires a reload to take effect.`))}),!1),r;function d(){const e=s.get();for(let i=0;i<t.length;i++)t[i].value===e&&(l.selectedIndex=i)}}(s,e.options(),e.reloadRequired(),e,t):(console.error("Enum setting defined without options"),null);default:return console.error("Invalid setting type: "+e.type()),null}},SettingUI:class{settingElement(){throw new Error("not implemented")}}});class Ai extends e.ObjectWrapper{constructor(e){super(),this._items=e||[]}[Symbol.iterator](){return this._items[Symbol.iterator]()}get length(){return this._items.length}at(e){return this._items[e]}every(e){return this._items.every(e)}filter(e){return this._items.filter(e)}find(e){return this._items.find(e)}findIndex(e){return this._items.findIndex(e)}indexOf(e,t){return this._items.indexOf(e,t)}insert(e,t){this._items.splice(e,0,t),this._replaced(e,[],1)}insertWithComparator(e,t){this.insert(l.lowerBound(this._items,e,t),e)}join(e){return this._items.join(e)}remove(e){const t=this._items[e];return this._items.splice(e,1),this._replaced(e,[t],0),t}replace(e,t,i){const s=this._items[e];return this._items[e]=t,this._replaced(e,[s],1,i),s}replaceRange(e,t,i){let s;if(i.length<1e4)s=this._items.splice(e,t-e,...i);else{s=this._items.slice(e,t);const n=this._items.slice(0,e),o=this._items.slice(t);this._items=[...n,...i,...o]}return this._replaced(e,s,i.length),s}replaceAll(e){const t=this._items.slice();return this._items=e,this._replaced(0,t,e.length),t}slice(e,t){return this._items.slice(e,t)}some(e){return this._items.some(e)}_replaced(e,t,i,s){this.dispatchEventToListeners(Ri.ItemsReplaced,{index:e,removed:t,inserted:i,keepSelectedIndex:s})}}const Ri={ItemsReplaced:Symbol("ItemsReplaced")};var Oi=Object.freeze({__proto__:null,ListModel:Ai,Events:Ri});const Bi={NonViewport:Symbol("UI.ListMode.NonViewport"),EqualHeightItems:Symbol("UI.ListMode.EqualHeightItems"),VariousHeightItems:Symbol("UI.ListMode.VariousHeightItems")};class Fi{constructor(e,t,i){this.element=document.createElement("div"),this.element.style.overflowY="auto",this._topElement=this.element.createChild("div"),this._bottomElement=this.element.createChild("div"),this._firstIndex=0,this._lastIndex=0,this._renderedHeight=0,this._topHeight=0,this._bottomHeight=0,this._model=e,this._model.addEventListener(Ri.ItemsReplaced,this._replacedItemsInRange,this),this._itemToElement=new Map,this._selectedIndex=-1,this._selectedItem=null,this.element.tabIndex=-1,this.element.addEventListener("click",this._onClick.bind(this),!1),this.element.addEventListener("keydown",this._onKeyDown.bind(this),!1),te(this.element),this._delegate=t,this._mode=i||Bi.EqualHeightItems,this._fixedHeight=0,this._variableOffsets=new Int32Array(0),this._clearContents(),this._mode!==Bi.NonViewport&&this.element.addEventListener("scroll",(()=>{this._updateViewport(this.element.scrollTop,this.element.offsetHeight)}),!1)}setModel(e){this._itemToElement.clear();const t=this._model.length;this._model.removeEventListener(Ri.ItemsReplaced,this._replacedItemsInRange,this),this._model=e,this._model.addEventListener(Ri.ItemsReplaced,this._replacedItemsInRange,this),this.invalidateRange(0,t)}_replacedItemsInRange(e){const t=e.data,i=t.index,s=i+t.removed.length,n=t.keepSelectedIndex,o=this._selectedItem,r=o&&this._itemToElement.get(o)||null;for(let e=0;e<t.removed.length;e++)this._itemToElement.delete(t.removed[e]);if(this._invalidate(i,s,t.inserted),this._selectedIndex>=s)this._selectedIndex+=t.inserted-(s-i),this._selectedItem=this._model.at(this._selectedIndex);else if(this._selectedIndex>=i){const e=n?i:i+t.inserted;let s=this._findFirstSelectable(e,1,!1);if(-1===s){const e=n?i:i-1;s=this._findFirstSelectable(e,-1,!1)}this._select(s,o,r)}}refreshItem(e){const t=this._model.indexOf(e);-1!==t?this.refreshItemByIndex(t):console.error("Item to refresh is not present")}refreshItemByIndex(e){const t=this._model.at(e);this._itemToElement.delete(t),this.invalidateRange(e,e+1),-1!==this._selectedIndex&&this._select(this._selectedIndex,null,null)}refreshAllItems(){this._itemToElement.clear(),this.invalidateRange(0,this._model.length),-1!==this._selectedIndex&&this._select(this._selectedIndex,null,null)}invalidateRange(e,t){this._invalidate(e,t,t-e)}viewportResized(){if(this._mode===Bi.NonViewport)return;const e=this.element.scrollTop,t=this.element.offsetHeight;this._clearViewport(),this._updateViewport(a.clamp(e,0,this._totalHeight()-t),t)}invalidateItemHeight(){this._mode===Bi.EqualHeightItems?(this._fixedHeight=0,this._model.length&&(this._itemToElement.clear(),this._invalidate(0,this._model.length,this._model.length))):console.error("Only supported in equal height items mode")}itemForNode(e){for(;e&&e.parentNodeOrShadowHost()!==this.element;)e=e.parentNodeOrShadowHost();if(!e)return null;const t=e,i=this._model.findIndex((e=>this._itemToElement.get(e)===t));return-1!==i?this._model.at(i):null}scrollItemIntoView(e,t){const i=this._model.indexOf(e);-1!==i?this._scrollIntoView(i,t):console.error("Attempt to scroll onto missing item")}selectedItem(){return this._selectedItem}selectedIndex(){return this._selectedIndex}selectItem(e,t,i){let s=-1;if(null!==e){if(s=this._model.indexOf(e),-1===s)return void console.error("Attempt to select missing item");if(!this._delegate.isItemSelectable(e))return void console.error("Attempt to select non-selectable item")}-1===s||i||this._scrollIntoView(s,t),this._selectedIndex!==s&&this._select(s)}selectPreviousItem(e,t){if(-1===this._selectedIndex&&!e)return!1;let i=-1===this._selectedIndex?this._model.length-1:this._selectedIndex-1;return i=this._findFirstSelectable(i,-1,Boolean(e)),-1!==i&&(this._scrollIntoView(i,t),this._select(i),!0)}selectNextItem(e,t){if(-1===this._selectedIndex&&!e)return!1;let i=-1===this._selectedIndex?0:this._selectedIndex+1;return i=this._findFirstSelectable(i,1,Boolean(e)),-1!==i&&(this._scrollIntoView(i,t),this._select(i),!0)}selectItemPreviousPage(e){if(this._mode===Bi.NonViewport)return!1;let t=-1===this._selectedIndex?this._model.length-1:this._selectedIndex;return t=this._findPageSelectable(t,-1),-1!==t&&(this._scrollIntoView(t,e),this._select(t),!0)}selectItemNextPage(e){if(this._mode===Bi.NonViewport)return!1;let t=-1===this._selectedIndex?0:this._selectedIndex;return t=this._findPageSelectable(t,1),-1!==t&&(this._scrollIntoView(t,e),this._select(t),!0)}_scrollIntoView(e,t){if(this._mode===Bi.NonViewport)return void this._elementAtIndex(e).scrollIntoViewIfNeeded(Boolean(t));const i=this._offsetAtIndex(e),s=this._offsetAtIndex(e+1),n=this.element.offsetHeight;if(t){const e=(i+s)/2-n/2;return void this._updateViewport(a.clamp(e,0,this._totalHeight()-n),n)}const o=this.element.scrollTop;i<o?this._updateViewport(i,n):s>o+n&&this._updateViewport(s-n,n)}_onClick(e){const t=this.itemForNode(e.target);t&&this._delegate.isItemSelectable(t)&&this.selectItem(t)}_onKeyDown(e){const t=e;let i=!1;switch(t.key){case"ArrowUp":i=this.selectPreviousItem(!0,!1);break;case"ArrowDown":i=this.selectNextItem(!0,!1);break;case"PageUp":i=this.selectItemPreviousPage(!1);break;case"PageDown":i=this.selectItemNextPage(!1)}i&&t.consume(!0)}_totalHeight(){return this._offsetAtIndex(this._model.length)}_indexAtOffset(e){if(this._mode===Bi.NonViewport)throw"There should be no offset conversions in non-viewport mode";return!this._model.length||e<0?0:this._mode===Bi.VariousHeightItems?Math.min(this._model.length-1,l.lowerBound(this._variableOffsets,e,l.DEFAULT_COMPARATOR,0,this._model.length)):(this._fixedHeight||this._measureHeight(),Math.min(this._model.length-1,Math.floor(e/this._fixedHeight)))}_elementAtIndex(e){const t=this._model.at(e);let i=this._itemToElement.get(t);return i||(i=this._delegate.createElementForItem(t),this._itemToElement.set(t,i),this._updateElementARIA(i,e)),i}_refreshARIA(){for(let e=this._firstIndex;e<=this._lastIndex;e++){const t=this._model.at(e),i=this._itemToElement.get(t);i&&this._updateElementARIA(i,e)}}_updateElementARIA(e,t){re(e)||se(e),Ee(e,this._model.length),Se(e,t+1)}_offsetAtIndex(e){if(this._mode===Bi.NonViewport)throw new Error("There should be no offset conversions in non-viewport mode");return this._model.length?this._mode===Bi.VariousHeightItems?this._variableOffsets[e]:(this._fixedHeight||this._measureHeight(),e*this._fixedHeight):0}_measureHeight(){this._fixedHeight=this._delegate.heightForItem(this._model.at(0)),this._fixedHeight||(this._fixedHeight=Ks(this._elementAtIndex(0),this.element).height)}_select(e,t,i){void 0===t&&(t=this._selectedItem),void 0===i&&(i=this._itemToElement.get(t)||null),this._selectedIndex=e,this._selectedItem=-1===e?null:this._model.at(e);const s=this._selectedItem,n=-1!==this._selectedIndex?this._elementAtIndex(e):null;this._delegate.selectedItemChanged(t,s,i,n),this._delegate.updateSelectedItemARIA(i,n)||(i&&me(i,!1),n&&me(n,!0),ve(this.element,n))}_findFirstSelectable(e,t,i){const s=this._model.length;if(!s)return-1;for(let n=0;n<=s;n++){if(e<0||e>=s){if(!i)return-1;e=(e+s)%s}if(this._delegate.isItemSelectable(this._model.at(e)))return e;e+=t}return-1}_findPageSelectable(e,t){let i=-1;const s=this._offsetAtIndex(e),n=this.element.offsetHeight-1;for(;e>=0&&e<this._model.length;){if(this._delegate.isItemSelectable(this._model.at(e))){if(Math.abs(this._offsetAtIndex(e)-s)>=n)return e;i=e}e+=t}return i}_reallocateVariableOffsets(e,t){if(this._variableOffsets.length<e){const i=new Int32Array(Math.max(e,2*this._variableOffsets.length));i.set(this._variableOffsets.slice(0,t),0),this._variableOffsets=i}else if(this._variableOffsets.length>=2*e){const i=new Int32Array(e);i.set(this._variableOffsets.slice(0,t),0),this._variableOffsets=i}}_invalidate(e,t,i){if(this._mode===Bi.NonViewport)return void this._invalidateNonViewportMode(e,t-e,i);if(this._mode===Bi.VariousHeightItems){this._reallocateVariableOffsets(this._model.length+1,e+1);for(let t=e+1;t<=this._model.length;t++)this._variableOffsets[t]=this._variableOffsets[t-1]+this._delegate.heightForItem(this._model.at(t-1))}const s=this.element.offsetHeight,n=this._totalHeight(),o=this.element.scrollTop;if(this._renderedHeight<s||n<s)return this._clearViewport(),void this._updateViewport(a.clamp(o,0,n-s),s);const r=n-this._renderedHeight;if(t<=this._firstIndex){const s=this._topHeight+r;this._topElement.style.height=s+"px",this.element.scrollTop=o+r,this._topHeight=s,this._renderedHeight=n;const a=i-(t-e);return this._firstIndex+=a,void(this._lastIndex+=a)}if(e>=this._lastIndex){const e=this._bottomHeight+r;return this._bottomElement.style.height=e+"px",this._bottomHeight=e,void(this._renderedHeight=n)}this._clearViewport(),this._updateViewport(a.clamp(o,0,n-s),s),this._refreshARIA()}_invalidateNonViewportMode(e,t,i){let s=this._topElement;for(let t=0;t<e;t++)s=s.nextElementSibling;for(;t--;)s.nextElementSibling.remove();for(;i--;)this.element.insertBefore(this._elementAtIndex(e+i),s.nextElementSibling)}_clearViewport(){this._mode!==Bi.NonViewport?(this._firstIndex=0,this._lastIndex=0,this._renderedHeight=0,this._topHeight=0,this._bottomHeight=0,this._clearContents()):console.error("There should be no viewport updates in non-viewport mode")}_clearContents(){this._topElement.style.height="0",this._bottomElement.style.height="0",this.element.removeChildren(),this.element.appendChild(this._topElement),this.element.appendChild(this._bottomElement)}_updateViewport(e,t){if(this._mode===Bi.NonViewport)return void console.error("There should be no viewport updates in non-viewport mode");const i=this._totalHeight();if(!i)return this._firstIndex=0,this._lastIndex=0,this._topHeight=0,this._bottomHeight=0,this._renderedHeight=0,this._topElement.style.height="0",void(this._bottomElement.style.height="0");const s=this._indexAtOffset(e-t),n=this._indexAtOffset(e+2*t)+1;for(;this._firstIndex<Math.min(s,this._lastIndex);)this._elementAtIndex(this._firstIndex).remove(),this._firstIndex++;for(;this._lastIndex>Math.max(n,this._firstIndex);)this._elementAtIndex(this._lastIndex-1).remove(),this._lastIndex--;this._firstIndex=Math.min(this._firstIndex,n),this._lastIndex=Math.max(this._lastIndex,s);for(let e=this._firstIndex-1;e>=s;e--){const t=this._elementAtIndex(e);this.element.insertBefore(t,this._topElement.nextSibling)}for(let e=this._lastIndex;e<n;e++){const t=this._elementAtIndex(e);this.element.insertBefore(t,this._bottomElement)}this._firstIndex=s,this._lastIndex=n,this._topHeight=this._offsetAtIndex(s),this._topElement.style.height=this._topHeight+"px",this._bottomHeight=i-this._offsetAtIndex(n),this._bottomElement.style.height=this._bottomHeight+"px",this._renderedHeight=i,this.element.scrollTop=e}}var zi=Object.freeze({__proto__:null,ListDelegate:class{createElementForItem(e){throw new Error("not implemented yet")}heightForItem(e){throw new Error("not implemented yet")}isItemSelectable(e){throw new Error("not implemented yet")}selectedItemChanged(e,t,i,s){}updateSelectedItemARIA(e,t){throw new Error("not implemented yet")}},ListMode:Bi,ListControl:Fi});let Wi;function Ni(e){if("number"==typeof Wi)return Wi;if(!e)return 16;const t=e.createElement("div"),i=e.createElement("div");return t.setAttribute("style","display: block; width: 100px; height: 100px; overflow: scroll;"),i.setAttribute("style","height: 200px"),t.appendChild(i),e.body.appendChild(t),Wi=t.offsetWidth-t.clientWidth,e.body.removeChild(t),Wi}class Hi{constructor(e,t){this._suggestBoxDelegate=e,this._maxItemsHeight=t,this._rowHeight=17,this._userEnteredText="",this._defaultSelectionIsDimmed=!1,this._onlyCompletion=null,this._items=new Ai,this._list=new Fi(this._items,this,Bi.EqualHeightItems),this._element=this._list.element,this._element.classList.add("suggest-box"),this._element.addEventListener("mousedown",(e=>e.preventDefault()),!0),this._element.addEventListener("click",this._onClick.bind(this),!1),this._glassPane=new wn,this._glassPane.setAnchorBehavior(En.PreferBottom),this._glassPane.setOutsideClickCallback(this.hide.bind(this));mt(this._glassPane.contentElement,{cssFile:"ui/suggestBox.css",enableLegacyPatching:!0,delegatesFocus:void 0}).appendChild(this._element)}visible(){return this._glassPane.isShowing()}setPosition(e){this._glassPane.setContentAnchorBox(e)}setAnchorBehavior(e){this._glassPane.setAnchorBehavior(e)}_updateMaxSize(e){const t=this._maxWidth(e),i=(this._maxItemsHeight?Math.min(this._maxItemsHeight,e.length):e.length)*this._rowHeight;this._glassPane.setMaxContentSize(new He(t,i))}_maxWidth(e){if(!e.length)return 300;let t,i=-1/0;for(let s=0;s<e.length;s++){const n=(e[s].title||e[s].text).length+(e[s].subtitle||"").length;n>i&&(i=n,t=e[s])}const s=Ks(this.createElementForItem(t),this._element).width+Ni(this._element.ownerDocument);return Math.min(300,s)}_show(){if(this.visible())return;this._glassPane.show(document);this._rowHeight=Ks(this.createElementForItem({text:"1",subtitle:"12"}),this._element).height}hide(){this.visible()&&this._glassPane.hide()}_applySuggestion(e){if(this._onlyCompletion)return xe(o`${this._onlyCompletion.text}, suggestion ${this._list.selectedIndex()+1} of ${this._items.length}`,this._element),this._suggestBoxDelegate.applySuggestion(this._onlyCompletion,e),!0;const t=this._list.selectedItem();return t&&t.text&&xe(o`${t.title||t.text}, suggestion ${this._list.selectedIndex()+1} of ${this._items.length}`,this._element),this._suggestBoxDelegate.applySuggestion(t,e),this.visible()&&Boolean(t)}acceptSuggestion(){const e=this._applySuggestion();return this.hide(),!!e&&(this._suggestBoxDelegate.acceptSuggestion(),!0)}createElementForItem(e){const t=this._userEnteredText,i=document.createElement("div");if(i.classList.add("suggest-box-content-item"),i.classList.add("source-code"),e.iconType){const t=ke.create(e.iconType,"suggestion-icon");i.appendChild(t)}e.isSecondary&&i.classList.add("secondary"),i.tabIndex=-1;const s=50+t.length,n=r.trimEndWithMaxLength((e.title||e.text).trim(),s).replace(/\n/g,"↵"),o=i.createChild("span","suggestion-title"),a=n.toLowerCase().indexOf(t.toLowerCase());if(a>0&&(o.createChild("span").textContent=n.substring(0,a)),a>-1&&(o.createChild("span","query").textContent=n.substring(a,a+t.length)),o.createChild("span").textContent=n.substring(a>-1?a+t.length:0),o.createChild("span","spacer"),e.subtitleRenderer){const t=e.subtitleRenderer.call(null);t.classList.add("suggestion-subtitle"),i.appendChild(t)}else if(e.subtitle){i.createChild("span","suggestion-subtitle").textContent=r.trimEndWithMaxLength(e.subtitle,s-n.length)}return e.iconElement&&i.appendChild(e.iconElement),i}heightForItem(e){return this._rowHeight}isItemSelectable(e){return!0}selectedItemChanged(e,t,i,s){i&&i.classList.remove("selected","force-white-icons"),s&&(s.classList.add("selected"),s.classList.add("force-white-icons")),this._applySuggestion(!0)}updateSelectedItemARIA(e,t){return!1}_onClick(e){const t=this._list.itemForNode(e.target);t&&(this._list.selectItem(t),this.acceptSuggestion(),e.consume(!0))}_canShowBox(e,t,i,s){return!(!e||!e.length)&&(e.length>1||(!(t&&!t.isSecondary&&t.text.startsWith(s))||i&&t.text!==s))}updateSuggestions(e,t,i,s,n){this._onlyCompletion=null;const o=i?t.reduce(((e,t)=>(e.priority||0)>=(t.priority||0)?e:t)):null;this._canShowBox(t,o,s,n)?(this._userEnteredText=n,this._show(),this._updateMaxSize(t),this._glassPane.setContentAnchorBox(e),this._list.invalidateItemHeight(),this._items.replaceAll(t),o&&!o.isSecondary?this._list.selectItem(o,!0):this._list.selectItem(null)):(1===t.length&&(this._onlyCompletion=t[0],this._applySuggestion(!0)),this.hide())}keyPressed(e){switch(e.key){case"Enter":return this.enterKeyPressed();case"ArrowUp":return this._list.selectPreviousItem(!0,!1);case"ArrowDown":return this._list.selectNextItem(!0,!1);case"PageUp":return this._list.selectItemPreviousPage(!1);case"PageDown":return this._list.selectItemNextPage(!1)}return!1}enterKeyPressed(){const e=Boolean(this._list.selectedItem())||Boolean(this._onlyCompletion);return this.acceptSuggestion(),e}}var Vi=Object.freeze({__proto__:null,SuggestBoxDelegate:class{applySuggestion(e,t){}acceptSuggestion(){}},SuggestBox:Hi,Suggestion:undefined,Suggestions:undefined,AutocompleteConfig:undefined});class Ui extends e.ObjectWrapper{constructor(){super(),this._proxyElement,this._proxyElementDisplay="inline-block",this._autocompletionTimeout=Ki,this._title="",this._queryRange=null,this._previousText="",this._currentSuggestion=null,this._completionRequestId=0,this._ghostTextElement=document.createElement("span"),this._ghostTextElement.classList.add("auto-complete-text"),this._ghostTextElement.setAttribute("contenteditable","false"),this._leftParenthesesIndices=[],ne(this._ghostTextElement),this._loadCompletions,this._completionStopCharacters,this._usesSuggestionBuilder}initialize(e,t,i){this._loadCompletions=e,this._completionStopCharacters=t||" =:[({;,!+-*/&|^<>.",this._usesSuggestionBuilder=i||!1}setAutocompletionTimeout(e){this._autocompletionTimeout=e}renderAsBlock(){this._proxyElementDisplay="block"}attach(e){return this._attachInternal(e)}attachAndStartEditing(e,t){const i=this._attachInternal(e);return this._startEditing(t),i}_attachInternal(e){if(this._proxyElement)throw"Cannot attach an attached TextPrompt";return this._element=e,this._boundOnKeyDown=this.onKeyDown.bind(this),this._boundOnInput=this.onInput.bind(this),this._boundOnMouseWheel=this.onMouseWheel.bind(this),this._boundClearAutocomplete=this.clearAutocomplete.bind(this),this._proxyElement=e.ownerDocument.createElement("span"),dt(this._proxyElement,"ui/textPrompt.css",{enableLegacyPatching:!0}),this._contentElement=this._proxyElement.createChild("div","text-prompt-root"),this._proxyElement.style.display=this._proxyElementDisplay,e.parentElement&&e.parentElement.insertBefore(this._proxyElement,e),this._contentElement.appendChild(e),this._element.classList.add("text-prompt"),Q(this._element),this._element.setAttribute("contenteditable","plaintext-only"),this.element().addEventListener("keydown",this._boundOnKeyDown,!1),this._element.addEventListener("input",this._boundOnInput,!1),this._element.addEventListener("wheel",this._boundOnMouseWheel,!1),this._element.addEventListener("selectstart",this._boundClearAutocomplete,!1),this._element.addEventListener("blur",this._boundClearAutocomplete,!1),this._suggestBox=new Hi(this,20),this._title&&qt.install(this._proxyElement,this._title),this._proxyElement}element(){if(!this._element)throw new Error("Expected an already attached element!");return this._element}detach(){this._removeFromElement(),this._focusRestorer&&this._focusRestorer.restore(),this._proxyElement&&this._proxyElement.parentElement&&(this._proxyElement.parentElement.insertBefore(this.element(),this._proxyElement),this._proxyElement.remove()),delete this._proxyElement,this.element().classList.remove("text-prompt"),this.element().removeAttribute("contenteditable"),this.element().removeAttribute("role")}textWithCurrentSuggestion(){const e=this.text();if(!this._queryRange||!this._currentSuggestion)return e;const t=this._currentSuggestion.text;return e.substring(0,this._queryRange.startColumn)+t+e.substring(this._queryRange.endColumn)}text(){let e=this.element().textContent||"";if(this._ghostTextElement.parentNode){const t=this._ghostTextElement.textContent||"";e=e.substring(0,e.length-t.length)}return e}setText(e){this.clearAutocomplete(),this.element().textContent=e,this._previousText=this.text(),this.element().hasFocus()&&(this.moveCaretToEndOfPrompt(),this.element().scrollIntoView())}setSelectedRange(e,t){if(e<0)throw new RangeError("Selected range start must be a nonnegative integer");const i=this.element().textContent,s=i?i.length:0;t>s&&(t=s),t<e&&(t=e);const n=this.element().childNodes[0],o=new Range;o.setStart(n,e),o.setEnd(n,t);const r=window.getSelection();r&&(r.removeAllRanges(),r.addRange(o))}focus(){this.element().focus()}title(){return this._title}setTitle(e){this._title=e,this._proxyElement&&qt.install(this._proxyElement,e)}setPlaceholder(e,t){e?(this.element().setAttribute("data-placeholder",e),ae(this.element(),t||e)):(this.element().removeAttribute("data-placeholder"),ae(this.element(),null))}setEnabled(e){e?this.element().setAttribute("contenteditable","plaintext-only"):this.element().removeAttribute("contenteditable"),this.element().classList.toggle("disabled",!e)}_removeFromElement(){this.clearAutocomplete(),this.element().removeEventListener("keydown",this._boundOnKeyDown,!1),this.element().removeEventListener("input",this._boundOnInput,!1),this.element().removeEventListener("selectstart",this._boundClearAutocomplete,!1),this.element().removeEventListener("blur",this._boundClearAutocomplete,!1),this._isEditing&&this._stopEditing(),this._suggestBox&&this._suggestBox.hide()}_startEditing(e){this._isEditing=!0,this._contentElement&&this._contentElement.classList.add("text-prompt-editing"),this._focusRestorer=new Hs(this.element()),e&&(this._blurListener=e,this.element().addEventListener("blur",this._blurListener,!1)),this._oldTabIndex=this.element().tabIndex,this.element().tabIndex<0&&(this.element().tabIndex=0),this.text()||this.autoCompleteSoon()}_stopEditing(){this.element().tabIndex=this._oldTabIndex,this._blurListener&&this.element().removeEventListener("blur",this._blurListener,!1),this._contentElement&&this._contentElement.classList.remove("text-prompt-editing"),delete this._isEditing}onMouseWheel(e){}onKeyDown(e){let t=!1;const i=e;if(this.isSuggestBoxVisible()&&this._suggestBox&&this._suggestBox.keyPressed(i))i.consume(!0);else{switch(i.key){case"Tab":t=this.tabKeyPressed(i);break;case"ArrowLeft":case"ArrowUp":case"PageUp":case"Home":this.clearAutocomplete();break;case"PageDown":case"ArrowRight":case"ArrowDown":case"End":this._isCaretAtEndOfPrompt()?t=this.acceptAutoComplete():this.clearAutocomplete();break;case"Escape":this.isSuggestBoxVisible()&&(this.clearAutocomplete(),t=!0);break;case" ":!i.ctrlKey||i.metaKey||i.altKey||i.shiftKey||(this.autoCompleteSoon(!0),t=!0)}"Enter"===i.key&&i.preventDefault(),t&&i.consume(!0)}}_acceptSuggestionOnStopCharacters(e){if(!(this._currentSuggestion&&this._queryRange&&1===e.length&&this._completionStopCharacters&&this._completionStopCharacters.includes(e)))return!1;const t=this.text().substring(this._queryRange.startColumn,this._queryRange.endColumn);return!(!t||!this._currentSuggestion.text.startsWith(t+e))&&(this._queryRange.endColumn+=1,this.acceptAutoComplete())}onInput(e){const t=e;let i=this.text();const s=t.data;"insertFromPaste"===t.inputType&&i.includes("\n")&&(i=r.stripLineBreaks(i),this.setText(i));const n=this._getCaretPosition();if(")"===s&&n>=0&&this._leftParenthesesIndices.length>0){if(")"===i[n]&&this._tryMatchingLeftParenthesis(n))return i=i.substring(0,n)+i.substring(n+1),void this.setText(i)}if(s&&!this._acceptSuggestionOnStopCharacters(s)){const e=i.startsWith(this._previousText)||this._previousText.startsWith(i);this._queryRange&&e&&(this._queryRange.endColumn+=i.length-this._previousText.length)}this._refreshGhostText(),this._previousText=i,this.dispatchEventToListeners(ji.TextChanged),this.autoCompleteSoon()}acceptAutoComplete(){let e=!1;return this.isSuggestBoxVisible()&&this._suggestBox&&(e=this._suggestBox.acceptSuggestion()),e||(e=this._acceptSuggestionInternal()),this._usesSuggestionBuilder&&e&&this.autoCompleteSoon(),e}clearAutocomplete(){const e=this.textWithCurrentSuggestion();this.isSuggestBoxVisible()&&this._suggestBox&&this._suggestBox.hide(),this._clearAutocompleteTimeout(),this._queryRange=null,this._refreshGhostText(),e!==this.textWithCurrentSuggestion()&&this.dispatchEventToListeners(ji.TextChanged)}_refreshGhostText(){this._currentSuggestion&&this._currentSuggestion.hideGhostText?this._ghostTextElement.remove():this._queryRange&&this._currentSuggestion&&this._isCaretAtEndOfPrompt()&&this._currentSuggestion.text.startsWith(this.text().substring(this._queryRange.startColumn))?(this._ghostTextElement.textContent=this._currentSuggestion.text.substring(this._queryRange.endColumn-this._queryRange.startColumn),this.element().appendChild(this._ghostTextElement)):this._ghostTextElement.remove()}_clearAutocompleteTimeout(){this._completeTimeout&&(clearTimeout(this._completeTimeout),delete this._completeTimeout),this._completionRequestId++}autoCompleteSoon(e){const t=this.isSuggestBoxVisible()||e;this._completeTimeout||(this._completeTimeout=setTimeout(this.complete.bind(this,e),t?0:this._autocompletionTimeout))}async complete(e){this._clearAutocompleteTimeout();const t=this.element().getComponentSelection();if(!t||0===t.rangeCount)return;const i=t.getRangeAt(0);let s;if((e||this._isCaretAtEndOfPrompt()||this.isSuggestBoxVisible())&&t.isCollapsed||(s=!0),s)return void this.clearAutocomplete();const n=g.rangeOfWord(i.startContainer,i.startOffset,this._completionStopCharacters,this.element(),"backward"),o=n.cloneRange();o.collapse(!0),o.setStartBefore(this.element());const r=++this._completionRequestId,a=await this._loadCompletions.call(null,o.toString(),n.toString(),Boolean(e));this._completionsReady(r,t,n,Boolean(e),a)}disableDefaultSuggestionForEmptyInput(){this._disableDefaultSuggestionForEmptyInput=!0}_boxForAnchorAtStart(e,t){const i=e.getRangeAt(0).cloneRange(),s=document.createElement("span");s.textContent="​",t.insertNode(s);const n=s.boxInWindow(window);return s.remove(),e.removeAllRanges(),e.addRange(i),n}additionalCompletions(e){return[]}_completionsReady(e,t,i,s,n){if(this._completionRequestId!==e)return;const o=i.toString(),r=new Set;if(n=n.filter((e=>!r.has(e.text)&&Boolean(r.add(e.text)))),(o||s)&&(n=o?n.concat(this.additionalCompletions(o)):this.additionalCompletions(o).concat(n)),!n.length)return void this.clearAutocomplete();const a=t.getRangeAt(0),l=document.createRange();if(l.setStart(i.startContainer,i.startOffset),l.setEnd(a.endContainer,a.endOffset),o+a.toString()!==l.toString())return;const h=document.createRange();h.setStart(this.element(),0),h.setEnd(l.startContainer,l.startOffset),this._queryRange=new b.TextRange(0,h.toString().length,0,h.toString().length+l.toString().length);const d=!this._disableDefaultSuggestionForEmptyInput||Boolean(this.text());this._suggestBox&&this._suggestBox.updateSuggestions(this._boxForAnchorAtStart(t,l),n,d,!this._isCaretAtEndOfPrompt(),this.text())}applySuggestion(e,t){this._currentSuggestion=e,this._refreshGhostText(),t&&this.dispatchEventToListeners(ji.TextChanged)}acceptSuggestion(){this._acceptSuggestionInternal()}_acceptSuggestionInternal(){if(!this._queryRange)return!1;const e=this._currentSuggestion?this._currentSuggestion.text.length:0,t=this._currentSuggestion?this._currentSuggestion.selectionRange:null,i=t?t.endColumn:e,s=t?t.startColumn:e;return this.element().textContent=this.textWithCurrentSuggestion(),this.setDOMSelection(this._queryRange.startColumn+s,this._queryRange.startColumn+i),this._updateLeftParenthesesIndices(),this.clearAutocomplete(),this.dispatchEventToListeners(ji.TextChanged),!0}setDOMSelection(e,t){this.element().normalize();const i=this.element().childNodes[0];if(!i||i===this._ghostTextElement)return;const s=document.createRange();s.setStart(i,e),s.setEnd(i,t);const n=this.element().getComponentSelection();n&&(n.removeAllRanges(),n.addRange(s))}isSuggestBoxVisible(){return void 0!==this._suggestBox&&this._suggestBox.visible()}isCaretInsidePrompt(){const e=this.element().getComponentSelection();if(!e||0===e.rangeCount||!e.isCollapsed)return!1;return e.getRangeAt(0).startContainer.isSelfOrDescendant(this.element())}_isCaretAtEndOfPrompt(){const e=this.element().getComponentSelection();if(!e||0===e.rangeCount||!e.isCollapsed)return!1;const t=e.getRangeAt(0);let i=t.startContainer;if(!i.isSelfOrDescendant(this.element()))return!1;if(this._ghostTextElement.isAncestor(i))return!0;if(i.nodeType===Node.TEXT_NODE&&t.startOffset<(i.nodeValue||"").length)return!1;let s=!1;for(;i;){if(i.nodeType===Node.TEXT_NODE&&i.nodeValue&&i.nodeValue.length){if(s&&!this._ghostTextElement.isAncestor(i))return!1;s=!0}i=i.traverseNextNode(this._element)}return!0}moveCaretToEndOfPrompt(){const e=this.element().getComponentSelection(),t=document.createRange();let i=this.element();for(;i.lastChild;)i=i.lastChild;let s=0;if(i.nodeType===Node.TEXT_NODE){s=(i.textContent||"").length}t.setStart(i,s),t.setEnd(i,s),e&&(e.removeAllRanges(),e.addRange(t))}_getCaretPosition(){if(!this.element().hasFocus())return-1;const e=this.element().getComponentSelection();if(!e||0===e.rangeCount||!e.isCollapsed)return-1;const t=e.getRangeAt(0);return t.startOffset!==t.endOffset?-1:t.startOffset}tabKeyPressed(e){return this.acceptAutoComplete()}proxyElementForTests(){return this._proxyElement||null}_tryMatchingLeftParenthesis(e){const t=this._leftParenthesesIndices;if(0===t.length||e<0)return!1;for(let i=t.length-1;i>=0;--i)if(t[i]<e)return t.splice(i,1),!0;return!1}_updateLeftParenthesesIndices(){const e=this.text(),t=this._leftParenthesesIndices=[];for(let i=0;i<e.length;++i)"("===e[i]&&t.push(i)}}const Ki=250,ji={TextChanged:Symbol("TextChanged")};var qi=Object.freeze({__proto__:null,TextPrompt:Ui,Events:ji});class $i{constructor(e,t){this._items=[],this.element=t?t.createChild("div"):document.createElement("div"),this.element.className=e,this.element.classList.add("toolbar"),this._enabled=!0,this._shadowRoot=mt(this.element,{cssFile:"ui/toolbar.css",enableLegacyPatching:!0,delegatesFocus:void 0}),this._contentElement=this._shadowRoot.createChild("div","toolbar-shadow"),this._insertionPoint=this._contentElement.createChild("slot")}static createLongPressActionButton(e,t,i){const s=$i.createActionButton(e),n=$i.createActionButton(e);let o=null,r=null,a=null;return e.addEventListener(D.Toggled,l),l(),s;function l(){const n=e.toggled()?t||null:i||null;n&&n.length?o||(o=new Xs(s.element,h),a=ke.create("largeicon-longclick-triangle","long-click-glyph"),s.element.appendChild(a),r=n):o&&(o.dispose(),o=null,a&&a.remove(),a=null,r=null)}function h(){let e=r?r.slice():[];e.push(n);const t=s.element.ownerDocument;t.documentElement.addEventListener("mouseup",(function s(n){if(1!==n.which)return;i.hide(),t.documentElement.removeEventListener("mouseup",s,!1);for(let t=0;t<e.length;++t)if(e[t].element.classList.contains("emulate-active")){e[t].element.classList.remove("emulate-active"),e[t]._clicked(n);break}}),!1);const i=new wn;i.setPointerEventsBehavior(vn.BlockedByGlassPane),i.show(t);const o=new $i("fill",i.contentElement);o._contentElement.classList.add("floating");const a=s.element.boxInWindow().relativeToElement(wn.container(t)),l=a.y+26*e.length<t.documentElement.offsetHeight;l&&(e=e.reverse()),o.element.style.height=26*e.length+"px",o.element.style.top=l?a.y-5+"px":a.y-26*(e.length-1)-6+"px",o.element.style.left=a.x-5+"px";for(let t=0;t<e.length;++t)e[t].element.addEventListener("mousemove",d,!1),e[t].element.addEventListener("mouseout",c,!1),o.appendToolbarItem(e[t]);const h=l?0:e.length-1;function d(e){if(1===e.which&&e.target instanceof HTMLElement){e.target.enclosingNodeOrSelfWithClass("toolbar-item").classList.add("emulate-active")}}function c(e){if(1===e.which&&e.target instanceof HTMLElement){e.target.enclosingNodeOrSelfWithClass("toolbar-item").classList.remove("emulate-active")}}e[h].element.classList.add("emulate-active")}}static createActionButton(e,t=Gi){const i=e.toggleable()?function(){const t=new Ji(e.title(),e.icon(),e.toggledIcon());return t.setToggleWithRedColor(e.toggleWithRedColor()),e.addEventListener(D.Toggled,i),i(),t;function i(){t.setToggled(e.toggled()),e.title()&&(t.setTitle(e.title()),qt.install(t.element,e.title(),e.id(),{anchorTooltipAtElement:!0}))}}():function(){const t=new Qi(e.title(),e.icon());e.title()&&qt.install(t.element,e.title(),e.id(),{anchorTooltipAtElement:!0});return t}();t.showLabel&&i.setText(e.title());let s=t=>{e.execute()};if(t.userActionCode){const i=t.userActionCode;s=()=>{m.actionTaken(i),e.execute()}}return i.addEventListener(Qi.Events.Click,s,e),e.addEventListener(D.Enabled,(function(e){i.setEnabled(e.data)})),i.setEnabled(e.enabled()),i}static createActionButtonForId(e,t=Gi){const i=B.instance().action(e);return $i.createActionButton(i,t)}gripElementForResize(){return this._contentElement}makeWrappable(e){this._contentElement.classList.add("wrappable"),e&&this._contentElement.classList.add("toolbar-grow-vertical")}makeVertical(){this._contentElement.classList.add("vertical")}makeBlueOnHover(){this._contentElement.classList.add("toolbar-blue-on-hover")}makeToggledGray(){this._contentElement.classList.add("toolbar-toggled-gray")}renderAsLinks(){this._contentElement.classList.add("toolbar-render-as-links")}empty(){return!this._items.length}setEnabled(e){this._enabled=e;for(const e of this._items)e._applyEnabledState(this._enabled&&e._enabled)}appendToolbarItem(e){this._items.push(e),e.toolbar=this,this._enabled||e._applyEnabledState(!1),this._contentElement.insertBefore(e.element,this._insertionPoint),this._hideSeparatorDupes()}appendSeparator(){this.appendToolbarItem(new is)}appendSpacer(){this.appendToolbarItem(new is(!0))}appendText(e){this.appendToolbarItem(new Yi(e))}removeToolbarItems(){for(const e of this._items)e.toolbar=null;this._items=[],this._contentElement.removeChildren(),this._insertionPoint=this._contentElement.createChild("slot")}setColor(e){const t=document.createElement("style");t.textContent=".toolbar-glyph { background-color: "+e+" !important }",this._shadowRoot.appendChild(t)}setToggledColor(e){const t=document.createElement("style");t.textContent=".toolbar-button.toolbar-state-on .toolbar-glyph { background-color: "+e+" !important }",this._shadowRoot.appendChild(t)}_hideSeparatorDupes(){if(!this._items.length)return;let e,t=!1,i=!1;for(let s=0;s<this._items.length;++s)this._items[s]instanceof is?(this._items[s].setVisible(!t),t=!0,e=this._items[s]):this._items[s].visible()&&(t=!1,e=null,i=!0);e&&e!==this._items[this._items.length-1]&&e.setVisible(!1),this.element.classList.toggle("hidden",null!=e&&e.visible()&&!i)}async appendItemsAtLocation(e){const t=d.Runtime.instance().extensions(ss).filter((t=>t.descriptor().location===e)),i=await Promise.all(t.map((e=>{const t=e.descriptor();return t.separator?new is:t.actionId?$i.createActionButtonForId(t.actionId,{showLabel:t.showLabel,userActionCode:void 0}):e.instance().then((e=>e.item()))})));for(const e of i)e&&this.appendToolbarItem(e)}}const Gi={showLabel:!1,userActionCode:void 0};class Xi extends e.ObjectWrapper{constructor(e){super(),this.element=e,this.element.classList.add("toolbar-item"),this._visible=!0,this._enabled=!0,this.toolbar=null}setTitle(e,t){this._title!==e&&(this._title=e,be(this.element,e),qt.install(this.element,e,t,{anchorTooltipAtElement:!0}))}setEnabled(e){this._enabled!==e&&(this._enabled=e,this._applyEnabledState(this._enabled&&(!this.toolbar||this.toolbar._enabled)))}_applyEnabledState(e){this.element.disabled=!e}visible(){return this._visible}setVisible(e){this._visible!==e&&(this.element.classList.toggle("hidden",!e),this._visible=e,!this.toolbar||this instanceof is||this.toolbar._hideSeparatorDupes())}setRightAligned(e){this.element.classList.toggle("toolbar-item-right-aligned",e)}}class Yi extends Xi{constructor(e){const t=document.createElement("div");t.classList.add("toolbar-text"),super(t),this.element.classList.add("toolbar-text"),this.setText(e||"")}text(){return this.element.textContent||""}setText(e){this.element.textContent=e}}class Qi extends Xi{constructor(e,t,i){const s=document.createElement("button");s.classList.add("toolbar-button"),super(s),this.element.addEventListener("click",this._clicked.bind(this),!1),this.element.addEventListener("mousedown",this._mouseDown.bind(this),!1),this._glyphElement=ke.create("","toolbar-glyph hidden"),this.element.appendChild(this._glyphElement),this._textElement=this.element.createChild("div","toolbar-text hidden"),this.setTitle(e),t&&this.setGlyph(t),this.setText(i||""),this._title=""}focus(){this.element.focus()}setText(e){this._text!==e&&(this._textElement.textContent=e,this._textElement.classList.toggle("hidden",!e),this._text=e)}setGlyph(e){this._glyph!==e&&(this._glyphElement.setIconType(e),this._glyphElement.classList.toggle("hidden",!e),this.element.classList.toggle("toolbar-has-glyph",Boolean(e)),this._glyph=e)}setBackgroundImage(e){this.element.style.backgroundImage="url("+e+")"}setSecondary(){this.element.classList.add("toolbar-button-secondary")}setDarkText(){this.element.classList.add("dark-text")}turnIntoSelect(e=!1){this.element.classList.add("toolbar-has-dropdown"),e&&this.element.classList.add("toolbar-has-dropdown-shrinkable");const t=ke.create("smallicon-triangle-down","toolbar-dropdown-arrow");this.element.appendChild(t)}_clicked(e){this._enabled&&(this.dispatchEventToListeners(Qi.Events.Click,e),e.consume())}_mouseDown(e){this._enabled&&this.dispatchEventToListeners(Qi.Events.MouseDown,e)}}Qi.Events={Click:Symbol("Click"),MouseDown:Symbol("MouseDown")};class Zi extends Xi{constructor(e,t,i,s,n,o,r){const a=document.createElement("div");a.classList.add("toolbar-input"),super(a);const l=this.element.createChild("div","toolbar-input-prompt");l.addEventListener("focus",(()=>this.element.classList.add("focused"))),l.addEventListener("blur",(()=>this.element.classList.remove("focused"))),ne(l),this._prompt=new Ui,this._proxyElement=this._prompt.attach(l),this._proxyElement.classList.add("toolbar-prompt-proxy"),this._proxyElement.addEventListener("keydown",(e=>this._onKeydownCallback(e))),this._prompt.initialize(o||(()=>Promise.resolve([]))," ",r),n&&this._prompt.setTitle(n),this._prompt.setPlaceholder(e,t),this._prompt.addEventListener(ji.TextChanged,this._onChangeCallback.bind(this)),i&&(this.element.style.flexGrow=String(i)),s&&(this.element.style.flexShrink=String(s));const h=this.element.createChild("div","toolbar-input-clear-button");h.appendChild(ke.create("mediumicon-gray-cross-hover","search-cancel-button")),h.addEventListener("click",(()=>{this.setValue("",!0),this._prompt.focus()})),this._updateEmptyStyles()}_applyEnabledState(e){this._prompt.setEnabled(e)}setValue(e,t){this._prompt.setText(e),t&&this._onChangeCallback(),this._updateEmptyStyles()}value(){return this._prompt.textWithCurrentSuggestion()}_onKeydownCallback(e){isEscKey(e)&&this._prompt.text()&&(this.setValue("",!0),e.consume(!0))}_onChangeCallback(){this._updateEmptyStyles(),this.dispatchEventToListeners(Zi.Event.TextChanged,this._prompt.text())}_updateEmptyStyles(){this.element.classList.toggle("toolbar-input-empty",!this._prompt.text())}}Zi.Event={TextChanged:Symbol("TextChanged")};class Ji extends Qi{constructor(e,t,i){super(e,t,""),this._toggled=!1,this._untoggledGlyph=t,this._toggledGlyph=i,this.element.classList.add("toolbar-state-off"),ge(this.element,!1)}toggled(){return this._toggled}setToggled(e){this._toggled!==e&&(this._toggled=e,this.element.classList.toggle("toolbar-state-on",e),this.element.classList.toggle("toolbar-state-off",!e),ge(this.element,e),this._toggledGlyph&&this._untoggledGlyph&&this.setGlyph(e?this._toggledGlyph:this._untoggledGlyph))}setDefaultWithRedColor(e){this.element.classList.toggle("toolbar-default-with-red-color",e)}setToggleWithRedColor(e){this.element.classList.toggle("toolbar-toggle-with-red-color",e)}}class es extends Qi{constructor(e,t){super("","largeicon-menu"),this._contextMenuHandler=e,this._useSoftMenu=Boolean(t),q(this.element)}_mouseDown(e){1===e.buttons?this._triggerTimeout||(this._triggerTimeout=setTimeout(this._trigger.bind(this,e),200)):super._mouseDown(e)}_trigger(e){if(delete this._triggerTimeout,this._lastTriggerTime&&Date.now()-this._lastTriggerTime<300)return;const t=new Kn(e,this._useSoftMenu,this.element.totalOffsetLeft(),this.element.totalOffsetTop()+this.element.offsetHeight);this._contextMenuHandler(t),t.show(),this._lastTriggerTime=Date.now()}_clicked(e){this._triggerTimeout&&clearTimeout(this._triggerTimeout),this._trigger(e)}}class ts extends Ji{constructor(e,t,i){super(i,t),this._defaultTitle=i,this._setting=e,this._settingChanged(),this._setting.addChangeListener(this._settingChanged,this)}_settingChanged(){const e=this._setting.get();this.setToggled(e),this.setTitle(this._defaultTitle)}_clicked(e){this._setting.set(!this.toggled()),super._clicked(e)}}class is extends Xi{constructor(e){const t=document.createElement("div");t.classList.add(e?"toolbar-spacer":"toolbar-divider"),super(t)}}class ss{item(){throw new Error("not implemented")}}class ns extends Xi{constructor(e,t,i){const s=document.createElement("span");s.classList.add("toolbar-select-container"),super(s),this._selectElement=this.element.createChild("select","toolbar-item");const n=ke.create("smallicon-triangle-down","toolbar-dropdown-arrow");this.element.appendChild(n),e&&this._selectElement.addEventListener("change",e,!1),be(this._selectElement,t),super.setTitle(t),i&&this._selectElement.classList.add(i)}selectElement(){return this._selectElement}size(){return this._selectElement.childElementCount}options(){return Array.prototype.slice.call(this._selectElement.children,0)}addOption(e){this._selectElement.appendChild(e)}createOption(e,t){const i=this._selectElement.createChild("option");return i.text=e,void 0!==t&&(i.value=t),i}_applyEnabledState(e){super._applyEnabledState(e),this._selectElement.disabled=!e}removeOption(e){this._selectElement.removeChild(e)}removeOptions(){this._selectElement.removeChildren()}selectedOption(){return this._selectElement.selectedIndex>=0?this._selectElement[this._selectElement.selectedIndex]:null}select(e){this._selectElement.selectedIndex=Array.prototype.indexOf.call(this._selectElement,e)}setSelectedIndex(e){this._selectElement.selectedIndex=e}selectedIndex(){return this._selectElement.selectedIndex}setMaxWidth(e){this._selectElement.style.maxWidth=e+"px"}setMinWidth(e){this._selectElement.style.minWidth=e+"px"}}class os extends Xi{constructor(e,t,i){super(Js.create(e)),this.element.classList.add("checkbox"),this.inputElement=this.element.checkboxElement,t&&(qt.install(this.inputElement,t,void 0,{anchorTooltipAtElement:!0}),qt.install(this.element.textElement,t,void 0,{anchorTooltipAtElement:!0})),i&&this.inputElement.addEventListener("click",i,!1)}checked(){return this.inputElement.checked}setChecked(e){this.inputElement.checked=e}_applyEnabledState(e){super._applyEnabledState(e),this.inputElement.disabled=!e}}var rs=Object.freeze({__proto__:null,Toolbar:$i,ToolbarButtonOptions:undefined,ToolbarItem:Xi,ToolbarText:Yi,ToolbarButton:Qi,ToolbarInput:Zi,ToolbarToggle:Ji,ToolbarMenuButton:es,ToolbarSettingToggle:ts,ToolbarSeparator:is,Provider:ss,ItemsProvider:class{toolbarItems(){throw new Error("not implemented")}},ToolbarComboBox:ns,ToolbarSettingComboBox:class extends ns{constructor(e,t,i){super(null,i),this._options=e,this._setting=t,this._selectElement.addEventListener("change",this._valueChanged.bind(this),!1),this.setOptions(e),t.addChangeListener(this._settingChanged,this)}setOptions(e){this._options=e,this._selectElement.removeChildren();for(let t=0;t<e.length;++t){const i=e[t],s=this.createOption(i.label,i.value);this._selectElement.appendChild(s),this._setting.get()===i.value&&this.setSelectedIndex(t)}}value(){return this._options[this.selectedIndex()].value}_settingChanged(){if(this._muteSettingListener)return;const e=this._setting.get();for(let t=0;t<this._options.length;++t)if(e===this._options[t].value){this.setSelectedIndex(t);break}}_valueChanged(e){const t=this._options[this.selectedIndex()];this._muteSettingListener=!0,this._setting.set(t.value),this._muteSettingListener=!1}},ToolbarCheckbox:os,ToolbarSettingCheckbox:class extends os{constructor(e,t,i){super(i||e.title()||"",t),Pi(this.inputElement,e)}}});function as(e){return e.data}class ls{constructor(e){this._element=e,this._elementsById=new Map}element(){return this._element}$(e){return this._elementsById.get(e)}static build(e,...t){return ls._render(ls._template(e),t)}static cached(e,...t){let i=_s.get(e);return i||(i=ls._template(e),_s.set(e,i)),ls._render(i,t)}static _template(e){let t="",i=!0;for(let s=0;s<e.length-1;s++){t+=e[s];const n=e[s].lastIndexOf(">"),o=e[s].indexOf("<",n+1);-1!==n&&-1===o?i=!0:-1!==o&&(i=!1),t+=i?hs:cs(s)}t+=e[e.length-1];const s=document.createElement("template");s.innerHTML=t;const n=s.ownerDocument.createTreeWalker(s.content,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,null,!1);let o=0;const r=[],a=[],l=[];for(;n.nextNode();){const e=n.currentNode;if(e.nodeType===Node.ELEMENT_NODE&&e.hasAttributes()){e.hasAttribute("$")&&(l.push(e),a.push({replaceNodeIndex:void 0,attr:void 0,elementId:e.getAttribute("$")||""}),e.removeAttribute("$"));const t=[];for(let i=0;i<e.attributes.length;i++){const s=e.attributes[i].name;if(!us.test(s)&&!us.test(e.attributes[i].value))continue;t.push(s),l.push(e);const n={index:o,names:s.split(us),values:e.attributes[i].value.split(us)};o+=n.names.length-1,o+=n.values.length-1;const r={elementId:void 0,replaceNodeIndex:void 0,attr:n};a.push(r)}for(let i=0;i<t.length;i++)e.removeAttribute(t[i])}if(e.nodeType===Node.TEXT_NODE&&-1!==as(e).indexOf(hs)){const t=as(e).split(ds);e.data=t[t.length-1];const i=e.parentNode;for(let s=0;s<t.length-1;s++){t[s]&&i.insertBefore(document.createTextNode(t[s]),e);const n=document.createElement("span");l.push(n),a.push({attr:void 0,elementId:void 0,replaceNodeIndex:o++}),i.insertBefore(n,e)}}e.nodeType!==Node.TEXT_NODE||e.previousSibling&&e.previousSibling.nodeType!==Node.ELEMENT_NODE||e.nextSibling&&e.nextSibling.nodeType!==Node.ELEMENT_NODE||!/^\s*$/.test(as(e))||r.push(e)}for(let e=0;e<l.length;e++)l[e].classList.add(ms(e));for(const e of r)e.remove();return{template:s,binds:a}}static _render(e,t){const i=e.template.ownerDocument.importNode(e.template.content,!0),s=i.firstChild===i.lastChild?i.firstChild:i,n=new ls(s),o=[];for(let t=0;t<e.binds.length;t++){const e=ms(t),s=i.querySelector("."+e);s.classList.remove(e),o.push(s)}for(let i=0;i<e.binds.length;i++){const s=e.binds[i],r=o[i];if(void 0!==s.elementId)n._elementsById.set(s.elementId,r);else if(void 0!==s.replaceNodeIndex){const e=t[s.replaceNodeIndex];r.parentNode.replaceChild(this._nodeForValue(e),r)}else{if(void 0===s.attr)throw new Error("Unexpected bind");if(2===s.attr.names.length&&1===s.attr.values.length&&"function"==typeof t[s.attr.index])t[s.attr.index].call(null,r);else{let e=s.attr.names[0];for(let i=1;i<s.attr.names.length;i++)e+=t[s.attr.index+i-1],e+=s.attr.names[i];if(e){let i=s.attr.values[0];for(let e=1;e<s.attr.values.length;e++)i+=t[s.attr.index+s.attr.names.length-1+e-1],i+=s.attr.values[e];r.setAttribute(e,i)}}}}return n}static _nodeForValue(e){if(e instanceof Node)return e;if(e instanceof ls)return e._element;if(Array.isArray(e)){const t=document.createDocumentFragment();for(const i of e)t.appendChild(this._nodeForValue(i));return t}return document.createTextNode(String(e))}}const hs="{{template-text}}",ds=/{{template-text}}/,cs=e=>"template-attribute"+e,us=/template-attribute\d+/,ms=e=>"template-class-"+e,_s=new Map,ps=(e,...t)=>ls.cached(e,...t).element();var gs=Object.freeze({__proto__:null,Fragment:ls,_textMarker:hs,_attributeMarker:cs,html:ps,TemplateDefinition:undefined,_Bind:undefined,_Template:undefined});class bs extends Et{static create(e,t,i,s){t||(t=e),i=i||"",e=cn(e);return ps`
2
+ <x-link href='${e}' class='${i} devtools-link' ${s?"no-click":""}
3
+ >${r.trimMiddle(t,mn)}</x-link>`}constructor(){super(),this.style.setProperty("display","inline"),j(this),this.tabIndex=0,this.target="_blank",this.rel="noopener",this._href=null,this._clickable=!0,this._onClick=e=>{e.consume(!0),u.InspectorFrontendHostInstance.openInNewTab(this._href)},this._onKeyDown=e=>{isEnterOrSpaceKey(e)&&(e.consume(!0),u.InspectorFrontendHostInstance.openInNewTab(this._href))}}static get observedAttributes(){return Et.observedAttributes.concat(["href","no-click"])}attributeChangedCallback(e,t,i){if("no-click"===e)return this._clickable=!i,void this._updateClick();if("href"===e){i||(i="");let e=null,t=null;try{t=new URL(i),e=t.toString()}catch{}return t&&"javascript:"===t.protocol&&(e=null),this._href=e,qt.install(this,i),void this._updateClick()}super.attributeChangedCallback(e,t,i)}_updateClick(){null!==this._href&&this._clickable?(this.addEventListener("click",this._onClick,!1),this.addEventListener("keydown",this._onKeyDown,!1),this.style.setProperty("cursor","pointer")):(this.removeEventListener("click",this._onClick,!1),this.removeEventListener("keydown",this._onKeyDown,!1),this.style.removeProperty("cursor"))}}self.customElements.define("x-link",bs);var fs=Object.freeze({__proto__:null,XLink:bs,ContextMenuProvider:class{appendApplicableItems(e,t,i){let s=i;for(;s&&!(s instanceof bs);)s=s.parentNodeOrShadowHost();if(!s||!s._href)return;const n=s;t.revealSection().appendItem(Fs(),(()=>{n._href&&u.InspectorFrontendHostInstance.openInNewTab(n._href)})),t.revealSection().appendItem(zs(),(()=>{n._href&&u.InspectorFrontendHostInstance.copyText(n._href)}))}}});function ws(e,t,i,s,n,o,r){let a;e.addEventListener("mousedown",(function(o){const l=new Es,h=()=>l.elementDragStart(e,t,i,s,n,o);r?a=window.setTimeout(h,r):h()}),!1),r&&e.addEventListener("mouseup",(function(){a&&window.clearTimeout(a),a=null}),!1),null!==o&&(e.style.cursor=o||n||"")}function vs(e,t,i,s,n,o){(new Es).elementDragStart(e,t,i,s,n,o)}class Es{constructor(){this._elementDragMove=this._elementDragMove.bind(this),this._elementDragEnd=this._elementDragEnd.bind(this),this._mouseOutWhileDragging=this._mouseOutWhileDragging.bind(this)}_createGlassPane(){this._glassPaneInUse=!0,Es._glassPaneUsageCount++||(Es._glassPane=new wn,Es._glassPane.setPointerEventsBehavior(vn.BlockedByGlassPane),Es._documentForMouseOut&&Es._glassPane.show(Es._documentForMouseOut))}_disposeGlassPane(){this._glassPaneInUse&&(this._glassPaneInUse=!1,--Es._glassPaneUsageCount||(Es._glassPane&&(Es._glassPane.hide(),Es._glassPane=null),Es._documentForMouseOut=null))}elementDragStart(e,t,i,s,n,o){const r=o;if(r.button||c.isMac()&&r.ctrlKey)return;if(this._elementDraggingEventListener)return;if(t&&!t(r))return;const a=r.target instanceof Node&&r.target.ownerDocument;this._elementDraggingEventListener=i,this._elementEndDraggingEventListener=s,console.assert((Es._documentForMouseOut||a)===a,"Dragging on multiple documents."),Es._documentForMouseOut=a,this._dragEventsTargetDocument=a;try{a.defaultView&&(this._dragEventsTargetDocumentTop=a.defaultView.top.document)}catch(e){this._dragEventsTargetDocumentTop=this._dragEventsTargetDocument}a.addEventListener("mousemove",(e=>this._elementDragMove(e)),!0),a.addEventListener("mouseup",this._elementDragEnd,!0),a.addEventListener("mouseout",this._mouseOutWhileDragging,!0),this._dragEventsTargetDocumentTop&&a!==this._dragEventsTargetDocumentTop&&this._dragEventsTargetDocumentTop.addEventListener("mouseup",this._elementDragEnd,!0);const l=e;"string"==typeof n&&(this._restoreCursorAfterDrag=function(e){a.body.style.removeProperty("cursor"),l.style.cursor=e,this._restoreCursorAfterDrag=void 0}.bind(this,l.style.cursor),l.style.cursor=n,a.body.style.cursor=n),r.preventDefault()}_mouseOutWhileDragging(){this._unregisterMouseOutWhileDragging(),this._createGlassPane()}_unregisterMouseOutWhileDragging(){Es._documentForMouseOut&&Es._documentForMouseOut.removeEventListener("mouseout",this._mouseOutWhileDragging,!0)}_unregisterDragEvents(){this._dragEventsTargetDocument&&(this._dragEventsTargetDocument.removeEventListener("mousemove",this._elementDragMove,!0),this._dragEventsTargetDocument.removeEventListener("mouseup",this._elementDragEnd,!0),this._dragEventsTargetDocumentTop&&this._dragEventsTargetDocument!==this._dragEventsTargetDocumentTop&&this._dragEventsTargetDocumentTop.removeEventListener("mouseup",this._elementDragEnd,!0),delete this._dragEventsTargetDocument,delete this._dragEventsTargetDocumentTop)}_elementDragMove(e){1===e.buttons?this._elementDraggingEventListener&&this._elementDraggingEventListener(e)&&this._cancelDragEvents(e):this._elementDragEnd(e)}_cancelDragEvents(e){this._unregisterDragEvents(),this._unregisterMouseOutWhileDragging(),this._restoreCursorAfterDrag&&this._restoreCursorAfterDrag(),this._disposeGlassPane(),delete this._elementDraggingEventListener,delete this._elementEndDraggingEventListener}_elementDragEnd(e){const t=this._elementEndDraggingEventListener;this._cancelDragEvents(e),e.preventDefault(),t&&t(e)}}function Ss(){if(xs.size)return!0;const e=document.deepActiveElement();return!!e&&(e.classList.contains("text-prompt")||"INPUT"===e.nodeName||"TEXTAREA"===e.nodeName)}function ys(e,t){if(t){if(xs.has(e))return!1;e.classList.add("being-edited"),xs.add(e)}else{if(!xs.has(e))return!1;e.classList.remove("being-edited"),xs.delete(e)}return!0}Es._glassPaneUsageCount=0,Es._glassPane=null,Es._documentForMouseOut=null;const xs=new Set,Cs=/^(-?(?:\d+(?:\.\d+)?|\.\d+))$/;function Ts(e){let t=null;if("wheel"===e.type){const i=e;i.deltaY<0||i.deltaX<0?t="Up":(i.deltaY>0||i.deltaX>0)&&(t="Down")}else{const i=e;"ArrowUp"===i.key||"PageUp"===i.key?t="Up":"ArrowDown"!==i.key&&"PageDown"!==i.key||(t="Down")}return t}function Is(e,t,i){const s=Ts(t);if(!s)return null;const n=t;let o=1;je.eventHasCtrlOrMeta(n)?o=100:n.shiftKey?o=10:n.altKey&&(o=.1),"Down"===s&&(o*=-1),i&&(o*=i);const r=Number((e+o).toFixed(6));return String(r).match(Cs)?r:null}function ks(e,t,i){let s,n,o,r=null,l=/(.*#)([\da-fA-F]+)(.*)/.exec(e);return l&&l.length?(s=l[1],n=l[3],o=function(e,t){const i=Ts(t);if(!i)return null;const s=t,n=parseInt(e,16);if(isNaN(n)||!isFinite(n))return null;const o=e.length,r=o/3;if(1!==r&&2!==r)return null;let l=0;je.eventHasCtrlOrMeta(s)&&(l+=Math.pow(16,2*r)),s.shiftKey&&(l+=Math.pow(16,r)),s.altKey&&(l+=1),0===l&&(l=1),"Down"===i&&(l*=-1);const h=Math.pow(16,o)-1;let d=a.clamp(n+l,0,h).toString(16).toUpperCase();for(let e=0,t=o-d.length;e<t;++e)d="0"+d;return d}(l[2],t),null!==o&&(r=s+o+n)):(l=/(.*?)(-?(?:\d+(?:\.\d+)?|\.\d+))(.*)/.exec(e),l&&l.length&&(s=l[1],n=l[3],o=Is(parseFloat(l[2]),t),null!==o&&(r=i?i(s,o,n):s+o+n))),r}Number.preciseMillisToString=function(e,i){const s="%."+(i=i||0)+"f ms";return t.UIString(s,e)};const Ms=new t.UIStringFormat("%.0f μs"),Ls=new t.UIStringFormat("%.2f ms"),Ps=new t.UIStringFormat("%.0f ms"),Ds=new t.UIStringFormat("%.2f s"),As=new t.UIStringFormat("%.1f min"),Rs=new t.UIStringFormat("%.1f hrs"),Os=new t.UIStringFormat("%.1f days");function Bs(e,i){return r.format(t.UIString(e),i,{s:e=>e},document.createElement("span"),(function(e,t){return e.appendChild("string"==typeof t?document.createTextNode(t):t),e})).formattedResult}function Fs(){return t.UIString("Open in new tab")}function zs(){return t.UIString("Copy link address")}function Ws(e,t){t.target instanceof Window&&t.target.document.nodeType===Node.DOCUMENT_NODE&&e.body.classList.remove("inactive")}function Ns(e,t){t.target instanceof Window&&t.target.document.nodeType===Node.DOCUMENT_NODE&&e.body.classList.add("inactive")}Number.millisToString=function(e,t){if(!isFinite(e))return"-";if(0===e)return"0";if(t&&e<.1)return Ms.format(1e3*e);if(t&&e<1e3)return Ls.format(e);if(e<1e3)return Ps.format(e);const i=e/1e3;if(i<60)return Ds.format(i);const s=i/60;if(s<60)return As.format(s);const n=s/60;if(n<24)return Rs.format(n);const o=n/24;return Os.format(o)},Number.secondsToString=function(e,t){return isFinite(e)?Number.millisToString(1e3*e,t):"-"},Number.withThousandsSeparator=function(e){let t=String(e);const i=/(\d+)(\d{3})/;for(;t.match(i);)t=t.replace(i,"$1 $2");return t};class Hs{constructor(e){this._element=e,this._previous=e.ownerDocument.deepActiveElement(),e.focus()}restore(){this._element&&(this._element.hasFocus()&&this._previous&&this._previous.focus(),this._previous=null,this._element=null)}}function Vs(e,t,i){return Us(e,t,"highlighted-search-result",i)}function Us(e,t,i,s){s=s||[];const n=[],o=e.childTextNodes(),r=o.map((function(e){return e.textContent})).join(""),a=e.ownerDocument;if(0===o.length)return n;const l=[];let h=0;for(const e of o){const t={};t.offset=h,t.length=e.textContent?e.textContent.length:0,h=t.offset+t.length,l.push(t)}let d=0;for(let e=0;e<t.length;++e){const h=t[e].offset,c=h+t[e].length;for(;d<o.length&&l[d].offset+l[d].length<=h;)d++;let u=d;for(;u<o.length&&l[u].offset+l[u].length<c;)u++;if(u===o.length)break;const m=a.createElement("span");m.className=i,m.textContent=r.substring(h,c);const _=o[u],p=_.textContent||"";if(_.textContent=p.substring(c-l[u].offset),s.push({node:_,type:"changed",oldText:p,newText:_.textContent,nextSibling:void 0,parent:void 0}),d===u&&_.parentElement){_.parentElement.insertBefore(m,_),s.push({node:m,type:"added",nextSibling:_,parent:_.parentElement,oldText:void 0,newText:void 0}),n.push(m);const e=a.createTextNode(p.substring(0,h-l[d].offset));_.parentElement.insertBefore(e,m),s.push({node:e,type:"added",nextSibling:m,parent:_.parentElement,oldText:void 0,newText:void 0})}else{const e=o[d],t=e.textContent||"",i=e.nextSibling;e.parentElement&&(e.parentElement.insertBefore(m,i),s.push({node:m,type:"added",nextSibling:i||void 0,parent:e.parentElement,oldText:void 0,newText:void 0}),n.push(m)),e.textContent=t.substring(0,h-l[d].offset),s.push({node:e,type:"changed",oldText:t,newText:e.textContent,nextSibling:void 0,parent:void 0});for(let e=d+1;e<u;e++){const t=o[e],i=t.textContent;t.textContent="",s.push({node:t,type:"changed",oldText:i||void 0,newText:t.textContent,nextSibling:void 0,parent:void 0})}}d=u,l[d].offset=c,l[d].length=_.textContent.length}return n}function Ks(e,t){const i=e.parentElement,s=e.nextSibling;(t=t||e.ownerDocument.body).appendChild(e),e.positionAt(0,0);const n=e.getBoundingClientRect();return e.positionAt(void 0,void 0),i?i.insertBefore(e,s):e.remove(),new He(n.width,n.height)}class js{constructor(e){this._handlers=null,this._autoInvoke=e}add(e,t){this._handlers||(this._handlers=new Map,this._autoInvoke&&this.scheduleInvoke());let i=this._handlers.get(e);i||(i=new Set,this._handlers.set(e,i)),i.add(t)}scheduleInvoke(){this._handlers&&requestAnimationFrame(this._invoke.bind(this))}_invoke(){const e=this._handlers||new Map;this._handlers=null;for(const[t,i]of e)for(const e of i)e.call(t)}}let qs=0,$s=null;function Gs(e,t){$s||($s=new js(!0)),$s.add(e,t)}class Xs extends e.ObjectWrapper{constructor(e,t,i=(e=>isEnterOrSpaceKey(e))){super(),this._element=e,this._callback=t,this._editKey=i,this._enable(),this._longClickData,this._longClickInterval}reset(){this._longClickInterval&&(clearInterval(this._longClickInterval),delete this._longClickInterval)}_enable(){if(this._longClickData)return;const e=function(e){if(this._editKey(e)){const t=this._callback;this._longClickInterval=window.setTimeout(t.bind(null,e),Xs.TIME_MS)}}.bind(this),t=function(e){this._editKey(e)&&this.reset()}.bind(this),i=function(e){if(1!==e.which)return;const t=this._callback;this._longClickInterval=window.setTimeout(t.bind(null,e),Xs.TIME_MS)}.bind(this),s=function(e){if(1!==e.which)return;this.reset()}.bind(this),n=this.reset.bind(this);this._element.addEventListener("keydown",e,!1),this._element.addEventListener("keyup",t,!1),this._element.addEventListener("mousedown",i,!1),this._element.addEventListener("mouseout",n,!1),this._element.addEventListener("mouseup",s,!1),this._element.addEventListener("click",n,!0),this._longClickData={mouseUp:s,mouseDown:i,reset:n}}dispose(){this._longClickData&&(this._element.removeEventListener("mousedown",this._longClickData.mouseDown,!1),this._element.removeEventListener("mouseout",this._longClickData.reset,!1),this._element.removeEventListener("mouseup",this._longClickData.mouseUp,!1),this._element.addEventListener("click",this._longClickData.reset,!0),delete this._longClickData)}}Xs.TIME_MS=200;const Ys=(e,t)=>{const i=e.ownerDocument.createTextNode(t);return e.appendChild(i),i};function Qs(e,t,i,s,n){const o=document.createElement("button");return i&&(o.className=i),o.textContent=e,o.classList.add("text-button"),s&&o.classList.add("primary-button"),t&&o.addEventListener(n||"click",t),o.type="button",o}function Zs(e,t){const i=document.createElement("input");return e&&(i.className=e),i.spellcheck=!1,i.classList.add("harmony-input"),t&&(i.type=t),i}class Js extends HTMLSpanElement{constructor(){super(),this._shadowRoot,this.checkboxElement,this.textElement,Js._lastId=Js._lastId+1;const e="ui-checkbox-label"+Js._lastId;this._shadowRoot=mt(this,{cssFile:"ui/checkboxTextLabel.css",enableLegacyPatching:!0,delegatesFocus:void 0}),this.checkboxElement=this._shadowRoot.createChild("input"),this.checkboxElement.type="checkbox",this.checkboxElement.setAttribute("id",e),this.textElement=this._shadowRoot.createChild("label","dt-checkbox-text"),this.textElement.setAttribute("for",e),this._shadowRoot.createChild("slot")}static create(e,t,i){Js._constructor||(Js._constructor=Te("span","dt-checkbox",Js));const s=Js._constructor();return s.checkboxElement.checked=Boolean(t),void 0!==e&&(s.textElement.textContent=e,be(s.checkboxElement,e),void 0!==i&&(s.textElement.createChild("div","dt-checkbox-subtitle").textContent=i)),s}set backgroundColor(e){this.checkboxElement.classList.add("dt-checkbox-themed"),this.checkboxElement.style.backgroundColor=e}set checkColor(e){this.checkboxElement.classList.add("dt-checkbox-themed");const t=document.createElement("style");t.textContent="input.dt-checkbox-themed:checked:after { background-color: "+e+"}",this._shadowRoot.appendChild(t)}set borderColor(e){this.checkboxElement.classList.add("dt-checkbox-themed"),this.checkboxElement.style.borderColor=e}}Js._lastId=0,Js._constructor=null;class en extends HTMLSpanElement{constructor(){super();const e=mt(this,{enableLegacyPatching:!0,cssFile:void 0,delegatesFocus:void 0});this._iconElement=ke.create(),this._iconElement.style.setProperty("margin-right","4px"),e.appendChild(this._iconElement),e.createChild("slot")}set type(e){this._iconElement.setIconType(e)}}let tn=0;class sn extends HTMLSpanElement{constructor(){super(),this.radioElement=this.createChild("input","dt-radio-button"),this.labelElement=this.createChild("label");const e="dt-radio-button-id"+ ++tn;this.radioElement.id=e,this.radioElement.type="radio",this.labelElement.htmlFor=e;mt(this,{cssFile:"ui/radioButton.css",enableLegacyPatching:!0,delegatesFocus:void 0}).createChild("slot"),this.addEventListener("click",this.radioClickHandler.bind(this),!1)}radioClickHandler(){this.radioElement.checked||this.radioElement.disabled||(this.radioElement.checked=!0,this.radioElement.dispatchEvent(new Event("change")))}}Te("span","dt-radio",sn),Te("span","dt-icon-label",en);class nn extends HTMLSpanElement{constructor(){super();const e=mt(this,{cssFile:"ui/slider.css",enableLegacyPatching:!0,delegatesFocus:void 0});this.sliderElement=document.createElement("input"),this.sliderElement.classList.add("dt-range-input"),this.sliderElement.type="range",e.appendChild(this.sliderElement)}set value(e){this.sliderElement.value=String(e)}get value(){return Number(this.sliderElement.value)}}Te("span","dt-slider",nn);class on extends HTMLSpanElement{constructor(){super();const e=mt(this,{cssFile:"ui/smallBubble.css",enableLegacyPatching:!0,delegatesFocus:void 0});this._textElement=e.createChild("div"),this._textElement.className="info",this._textElement.createChild("slot")}set type(e){this._textElement.className=e}}Te("span","dt-small-bubble",on);class rn extends HTMLDivElement{constructor(){super();const e=mt(this,{cssFile:"ui/closeButton.css",enableLegacyPatching:!1,delegatesFocus:void 0});this._buttonElement=e.createChild("div","close-button"),be(this._buttonElement,o`Close`),V(this._buttonElement);const t=ke.create("smallicon-cross","default-icon");this._hoverIcon=ke.create("mediumicon-red-cross-hover","hover-icon"),this._activeIcon=ke.create("mediumicon-red-cross-active","active-icon"),this._buttonElement.appendChild(t),this._buttonElement.appendChild(this._hoverIcon),this._buttonElement.appendChild(this._activeIcon)}set gray(e){e?(this._hoverIcon.setIconType("mediumicon-gray-cross-hover"),this._activeIcon.setIconType("mediumicon-gray-cross-active")):(this._hoverIcon.setIconType("mediumicon-red-cross-hover"),this._activeIcon.setIconType("mediumicon-red-cross-active"))}setAccessibleName(e){be(this._buttonElement,e)}setTabbable(e){this._buttonElement.tabIndex=e?0:-1}}function an(e,t,i,s){if(i<=10)return"";t.length>200&&(t=s(t,200));const n=ln(e,t);if(n<=i)return t;let o=0,r=t.length,a=0,l=n;for(;o<r&&a!==l&&a!==i;){const n=Math.ceil(o+(r-o)*(i-a)/(l-a)),h=ln(e,s(t,n));h<=i?(o=n,a=h):(r=n-1,l=h)}return"…"!==(t=s(t,o))?t:""}function ln(e,t){if(t.length>200)return e.measureText(t).width;hn||(hn=new Map);const i=e.font;let s=hn.get(i);s||(s=new Map,hn.set(i,s));let n=s.get(t);return n||(n=e.measureText(t).width,s.set(t,n)),n}Te("div","dt-close-button",rn);let hn=null;function dn(e){return/(\?|&)utm_source=devtools/.test(e)?e:-1===e.indexOf("?")?e.replace(/^([^#]*)(#.*)?$/g,"$1?utm_source=devtools$2"):e.replace(/^([^#]*)(#.*)?$/g,"$1&utm_source=devtools$2")}function cn(e){return/(\/\/developers.google.com\/|\/\/web.dev\/)/.test(e)?dn(e):e}function un(e){return new Promise((t=>{const i=new Image;i.addEventListener("load",(()=>t(i))),i.addEventListener("error",(()=>t(null))),i.src=e}))}const mn=150;class _n{render(e,t){throw new Error("not implemented")}}_n.render=async function(e,t){if(!e)throw new Error("Can't render "+e);const i=d.Runtime.instance().extension(_n,e);if(!i)return null;const s=await i.instance();return s?s.render(e,t):null};const pn=(e,t)=>{let i=e;for(;i&&i!==e.ownerDocument;i=i.parentNodeOrShadowHost())for(let e=0;e<t.length;++e)if(i.nodeName.toLowerCase()===t[e].toLowerCase())return i;return null},gn=(e,t,i)=>{let s=e,n=null;for(;s;){const e=s.elementFromPoint(t,i);if(!e||n===e)break;n=e,s=n.shadowRoot}return n},bn=e=>{const t=e;if(!(t.which||t.pageX||t.pageY||t.clientX||t.clientY||t.movementX||t.movementY))return null;const i=t.target&&t.target.getComponentRoot();return i?gn(i,t.pageX,t.pageY):null};var fn=Object.freeze({__proto__:null,highlightedSearchResultClassName:"highlighted-search-result",highlightedCurrentSearchResultClassName:"current-search-result",installDragHandle:ws,elementDragStart:vs,isBeingEdited:function(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=e;if(t.classList.contains("text-prompt")||"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName)return!0;if(!xs.size)return!1;let i=t;for(;i;){if(xs.has(t))return!0;i=i.parentElementOrShadowHost()}return!1},isEditing:Ss,markBeingEdited:ys,StyleValueDelimiters:"  \t\n\"':;,/()",getValueModificationDirection:Ts,createReplacementString:ks,handleElementValueModifications:function(e,t,i,s,n){const o="ArrowUp"===e.key||"ArrowDown"===e.key||"wheel"===e.type,r="PageUp"===e.key||"PageDown"===e.key;if(!o&&!r)return!1;const a=t.getComponentSelection();if(!a||!a.rangeCount)return!1;const l=a.getRangeAt(0);if(!l.commonAncestorContainer.isSelfOrDescendant(t))return!1;const h=t.textContent,d=g.rangeOfWord(l.startContainer,l.startOffset,"  \t\n\"':;,/()",t),c=d.toString();if(s&&s(c))return!1;const u=ks(c,e,n);if(u){const t=document.createTextNode(u);d.deleteContents(),d.insertNode(t);const s=document.createRange();return s.setStart(t,0),s.setEnd(t,u.length),a.removeAllRanges(),a.addRange(s),e.handled=!0,e.preventDefault(),i&&i(h||"",u),!0}return!1},_microsFormat:Ms,_subMillisFormat:Ls,_millisFormat:Ps,_secondsFormat:Ds,_minutesFormat:As,_hoursFormat:Rs,_daysFormat:Os,formatLocalized:Bs,openLinkExternallyLabel:Fs,copyLinkAddressLabel:zs,copyFileNameLabel:function(){return o`Copy file name`},anotherProfilerActiveLabel:function(){return t.UIString("Another profiler is already active")},asyncStackTraceLabel:function(e){return e?"Promise.resolve"===e?o`Promise resolved (async)`:"Promise.reject"===e?o`Promise rejected (async)`:o`${e} (async)`:t.UIString("Async Call")},installComponentRootStyles:function(e){ut(e),e.classList.add("platform-"+c.platform()),c.isMac()||0!==Ni(e.ownerDocument)||e.classList.add("overlay-scrollbar-enabled")},ElementFocusRestorer:Hs,highlightSearchResult:function(e,t,i,s){const n=Vs(e,[new b.SourceRange(t,i)],s);return n.length?n[0]:null},highlightSearchResults:Vs,runCSSAnimationOnce:function(e,t){e.classList.contains(t)&&e.classList.remove(t),e.addEventListener("webkitAnimationEnd",(function i(){e.classList.remove(t),e.removeEventListener("webkitAnimationEnd",i,!1)}),!1),e.classList.add(t)},highlightRangesWithStyleClass:Us,applyDomChanges:function(e){for(let t=0,i=e.length;t<i;++t){const i=e[t];switch(i.type){case"added":i.parent.insertBefore(i.node,i.nextSibling);break;case"changed":i.node.textContent=i.newText}}},revertDomChanges:function(e){for(let t=e.length-1;t>=0;--t){const i=e[t];switch(i.type){case"added":i.node.remove();break;case"changed":i.node.textContent=i.oldText}}},measurePreferredSize:Ks,startBatchUpdate:function(){qs++||($s=new js(!1))},endBatchUpdate:function(){--qs||$s&&($s.scheduleInvoke(),$s=null)},invokeOnceAfterBatchUpdate:Gs,animateFunction:function(e,t,i,s,n){const o=e.performance.now();let r=e.requestAnimationFrame((function l(h){const d=a.clamp((h-o)/s,0,1);t(...i.map((e=>e.from+(e.to-e.from)*d))),d<1?r=e.requestAnimationFrame(l):n&&n()}));return()=>e.cancelAnimationFrame(r)},LongClickController:Xs,initializeUIUtils:function(e,t){e.body.classList.toggle("inactive",!e.hasFocus()),e.defaultView&&(e.defaultView.addEventListener("focus",Ws.bind(void 0,e),!1),e.defaultView.addEventListener("blur",Ns.bind(void 0,e),!1)),e.addEventListener("focus",ct.bind(void 0),!0),w.hasInstance()||w.instance({forceNew:!0,setting:t}),w.instance().applyTheme(e);const i=e.body;dt(i,"ui/inspectorStyle.css",{enableLegacyPatching:!0}),dt(i,"ui/themeColors.css",{enableLegacyPatching:!1}),wn.setContainer(e.body)},beautifyFunctionName:function(e){return e||t.UIString("(anonymous)")},createTextChild:Ys,createTextChildren:(e,...t)=>{for(const i of t)Ys(e,i)},createTextButton:Qs,createInput:Zs,createSelect:function(e,t){const i=document.createElementWithClass("select","chrome-select");be(i,e);for(const e of t)if(e instanceof Map)for(const[t,s]of e){const e=i.createChild("optgroup");e.label=t;for(const t of s)"string"==typeof t&&e.appendChild(new Option(t,t))}else"string"==typeof e&&i.add(new Option(e,e));return i},createLabel:function(e,t,i){const s=document.createElement("label");return t&&(s.className=t),s.textContent=e,i&&N(s,i),s},createRadioLabel:function(e,t,i){const s=document.createElement("span",{is:"dt-radio"});return s.radioElement.name=e,s.radioElement.checked=Boolean(i),Ys(s.labelElement,t),s},createIconLabel:function(e,t){const i=document.createElement("span",{is:"dt-icon-label"});return i.createChild("span").textContent=e,i.type=t,i},createSlider:function(e,t,i){const s=document.createElement("span",{is:"dt-slider"});return s.sliderElement.min=String(e),s.sliderElement.max=String(t),s.sliderElement.step=String(1),s.sliderElement.tabIndex=i,s},setTitle:function(e,t,i){be(e,t),qt.install(e,t,i,{anchorTooltipAtElement:!0})},CheckboxLabel:Js,DevToolsIconLabel:en,DevToolsRadioButton:sn,DevToolsSlider:nn,DevToolsSmallBubble:on,DevToolsCloseButton:rn,bindInput:function(e,t,i,s,n){return e.addEventListener("change",(function(){const{valid:s}=i(e.value);e.classList.toggle("error-input",!s),s&&t(e.value)}),!1),e.addEventListener("input",(function(){e.classList.toggle("error-input",!i(e.value))}),!1),e.addEventListener("keydown",(function(o){if("Enter"===o.key){const{valid:s}=i(e.value);return s&&t(e.value),void o.preventDefault()}if(!s)return;const r=Is(parseFloat(e.value),o,n),a=r?String(r):"",{valid:l}=i(a);if(!l||!r)return;e.value=a,t(e.value),o.preventDefault()}),!1),e.addEventListener("focus",e.select.bind(e),!1),function(t){if(t===e.value)return;const{valid:s}=i(t);e.classList.toggle("error-input",!s),e.value=t}},trimText:an,trimTextMiddle:function(e,t,i){return an(e,t,i,((e,t)=>r.trimMiddle(e,t)))},trimTextEnd:function(e,t,i){return an(e,t,i,((e,t)=>r.trimEndWithMaxLength(e,t)))},measureTextWidth:ln,createDocumentationLink:function(e,t){return bs.create("https://developers.google.com/web/tools/chrome-devtools/"+e,t)},createWebDevLink:function(e,t){return bs.create("https://web.dev/"+e,t)},addReferrerToURL:dn,addReferrerToURLIfNecessary:cn,loadImage:un,loadImageFromData:function(e){return e?un("data:image/jpg;base64,"+e):Promise.resolve(null)},createFileSelectorElement:function(e){const t=document.createElement("input");return t.type="file",t.style.display="none",t.tabIndex=-1,t.onchange=()=>{t.files&&e(t.files[0])},t},MaxLengthForDisplayedURLs:mn,MessageDialog:class{static async show(e,i){const s=new kn;s.setSizeBehavior(Sn.MeasureContent),s.setDimmed(!0);const n=mt(s.contentElement,{cssFile:"ui/confirmDialog.css",enableLegacyPatching:!1,delegatesFocus:void 0}).createChild("div","widget");await new Promise((o=>{const r=Qs(t.UIString("OK"),o,"",!0);n.createChild("div","message").createChild("span").textContent=e,n.createChild("div","button").appendChild(r),s.setOutsideClickCallback((e=>{e.consume(),o(void 0)})),s.show(i),r.focus()})),s.hide()}},ConfirmDialog:class{static async show(e,t){const i=new kn;i.setSizeBehavior(Sn.MeasureContent),i.setDimmed(!0),be(i.contentElement,e);const s=mt(i.contentElement,{cssFile:"ui/confirmDialog.css",enableLegacyPatching:!1,delegatesFocus:void 0}).createChild("div","widget");s.createChild("div","message").createChild("span").textContent=e;const n=s.createChild("div","button"),r=await new Promise((e=>{const s=Qs(o`OK`,(()=>e(!0)),"",!0);n.appendChild(s),n.appendChild(Qs(o`Cancel`,(()=>e(!1)))),i.setOutsideClickCallback((t=>{t.consume(),e(!1)})),i.show(t),s.focus()}));return i.hide(),r}},createInlineButton:function(e){const t=document.createElement("span"),i=mt(t,{cssFile:"ui/inlineButton.css",enableLegacyPatching:!0,delegatesFocus:void 0});t.classList.add("inline-button");const s=new $i("");return s.appendToolbarItem(e),i.appendChild(s.element),t},Renderer:_n,formatTimestamp:function(e,t){const i=new Date(e),s=i.getFullYear()+"-"+o(i.getMonth()+1,2)+"-"+o(i.getDate(),2),n=o(i.getHours(),2)+":"+o(i.getMinutes(),2)+":"+o(i.getSeconds(),2)+"."+o(i.getMilliseconds(),3);return t?s+" "+n:n;function o(e,t){return String(e).padStart(t,"0")}},Options:undefined,HighlightChange:undefined,isScrolledToBottom:e=>Math.abs(e.scrollTop+e.clientHeight-e.scrollHeight)<=2,createSVGChild:function(e,t,i){const s=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg",t);return i&&s.setAttribute("class",i),e.appendChild(s),s},enclosingNodeOrSelfWithNodeNameInArray:pn,enclosingNodeOrSelfWithNodeName:function(e,t){return pn(e,[t])},deepElementFromPoint:gn,deepElementFromEvent:bn});class wn extends e.ObjectWrapper{constructor(){super(),this._widget=new Mt(!0),this._widget.markAsRoot(),this.element=this._widget.element,this.contentElement=this._widget.contentElement,this._arrowElement=ke.create("","arrow hidden"),this.element.shadowRoot&&this.element.shadowRoot.appendChild(this._arrowElement),this.registerRequiredCSS("ui/glassPane.css",{enableLegacyPatching:!0}),this.setPointerEventsBehavior(vn.PierceGlassPane),this._onMouseDownBound=this._onMouseDown.bind(this),this._onClickOutsideCallback=null,this._maxSize=null,this._positionX=null,this._positionY=null,this._anchorBox=null,this._anchorBehavior=En.PreferTop,this._sizeBehavior=Sn.SetExactSize,this._marginBehavior=yn.DefaultMargin}isShowing(){return this._widget.isShowing()}registerRequiredCSS(e,t){this._widget.registerRequiredCSS(e,t)}setDefaultFocusedElement(e){this._widget.setDefaultFocusedElement(e)}setDimmed(e){this.element.classList.toggle("dimmed-pane",e)}setPointerEventsBehavior(e){this.element.classList.toggle("no-pointer-events",e!==vn.BlockedByGlassPane),this.contentElement.classList.toggle("no-pointer-events",e===vn.PierceContents)}setOutsideClickCallback(e){this._onClickOutsideCallback=e}setMaxContentSize(e){this._maxSize=e,this.positionContent()}setSizeBehavior(e){this._sizeBehavior=e,this.positionContent()}setContentPosition(e,t){this._positionX=e,this._positionY=t,this.positionContent()}setContentAnchorBox(e){this._anchorBox=e,this.positionContent()}setAnchorBehavior(e){this._anchorBehavior=e}setMarginBehavior(e){this._marginBehavior=e,this._arrowElement.classList.toggle("hidden",e!==yn.Arrow)}show(e){this.isShowing()||(this.element.style.zIndex=""+(3e3+1e3*Cn.size),e.body.addEventListener("mousedown",this._onMouseDownBound,!0),this._widget.show(e.body),Cn.add(this),this.positionContent())}hide(){this.isShowing()&&(Cn.delete(this),this.element.ownerDocument.body.removeEventListener("mousedown",this._onMouseDownBound,!0),this._widget.detach())}_onMouseDown(e){if(!this._onClickOutsideCallback)return;const t=bn(e);t&&!this.contentElement.isSelfOrAncestor(t)&&this._onClickOutsideCallback.call(null,e)}positionContent(){if(!this.isShowing())return;const e=this._marginBehavior===yn.Arrow,t=e?8:this._marginBehavior===yn.NoMargin?0:3,i=Ni(this.element.ownerDocument),s=10,n=xn.get(this.element.ownerDocument);this._sizeBehavior===Sn.MeasureContent&&(this.contentElement.positionAt(0,0),this.contentElement.style.width="",this.contentElement.style.maxWidth="",this.contentElement.style.height="",this.contentElement.style.maxHeight="");const o=n.offsetWidth,r=n.offsetHeight;let l=o-2*t,h=r-2*t,d=t,c=t;if(this._maxSize&&(l=Math.min(l,this._maxSize.width),h=Math.min(h,this._maxSize.height)),this._sizeBehavior===Sn.MeasureContent){const e=this.contentElement.getBoundingClientRect(),t=h<e.height?i:0,s=l<e.width?i:0;l=Math.min(l,e.width+t),h=Math.min(h,e.height+s)}if(this._anchorBox){const i=this._anchorBox.relativeToElement(n);let u=this._anchorBehavior;if(this._arrowElement.classList.remove("arrow-none","arrow-top","arrow-bottom","arrow-left","arrow-right"),u===En.PreferTop||u===En.PreferBottom){const m=i.y-2*t,_=r-i.y-i.height-2*t;let p;u===En.PreferTop&&m<h&&_>m&&(u=En.PreferBottom),u===En.PreferBottom&&_<h&&m>_&&(u=En.PreferTop);let g=!0;if(u===En.PreferTop){c=Math.max(t,i.y-h-t);const e=i.y-c-t;this._sizeBehavior===Sn.MeasureContent?h>e&&(this._arrowElement.classList.add("arrow-none"),g=!1):h=Math.min(h,e),this._arrowElement.setIconType("mediumicon-arrow-bottom"),this._arrowElement.classList.add("arrow-bottom"),p=i.y-t}else{c=i.y+i.height+t;const e=r-c-t;this._sizeBehavior===Sn.MeasureContent?h>e&&(this._arrowElement.classList.add("arrow-none"),c=r-t-h,g=!1):h=Math.min(h,e),this._arrowElement.setIconType("mediumicon-arrow-top"),this._arrowElement.classList.add("arrow-top"),p=i.y+i.height+t}if(d=Math.max(t,Math.min(i.x,o-l-t)),g?e&&d-s>=t&&(d-=s):d=Math.min(d+s,o-l-t),l=Math.min(l,o-d-t),20>=l)this._arrowElement.classList.add("arrow-none");else{let e=i.x+Math.min(50,Math.floor(i.width/2));e=a.clamp(e,d+s,d+l-s),this._arrowElement.positionAt(e,p,n)}}else{const m=i.x-2*t,_=o-i.x-i.width-2*t;let p;u===En.PreferLeft&&m<l&&_>m&&(u=En.PreferRight),u===En.PreferRight&&_<l&&m>_&&(u=En.PreferLeft);let g=!0;if(u===En.PreferLeft){d=Math.max(t,i.x-l-t);const e=i.x-d-t;this._sizeBehavior===Sn.MeasureContent?l>e&&(this._arrowElement.classList.add("arrow-none"),g=!1):l=Math.min(l,e),this._arrowElement.setIconType("mediumicon-arrow-right"),this._arrowElement.classList.add("arrow-right"),p=i.x-t}else{d=i.x+i.width+t;const e=o-d-t;this._sizeBehavior===Sn.MeasureContent?l>e&&(this._arrowElement.classList.add("arrow-none"),d=o-t-l,g=!1):l=Math.min(l,e),this._arrowElement.setIconType("mediumicon-arrow-left"),this._arrowElement.classList.add("arrow-left"),p=i.x+i.width+t}if(c=Math.max(t,Math.min(i.y,r-h-t)),g?e&&c-s>=t&&(c-=s):c=Math.min(c+s,r-h-t),h=Math.min(h,r-c-t),20>=h)this._arrowElement.classList.add("arrow-none");else{let e=i.y+Math.min(50,Math.floor(i.height/2));e=a.clamp(e,c+s,c+h-s),this._arrowElement.positionAt(p,e,n)}}}else d=null!==this._positionX?this._positionX:(o-l)/2,c=null!==this._positionY?this._positionY:(r-h)/2,l=Math.min(l,o-d-t),h=Math.min(h,r-c-t),this._arrowElement.classList.add("arrow-none");this.contentElement.style.width=l+"px",this._sizeBehavior===Sn.SetExactWidthMaxHeight?this.contentElement.style.maxHeight=h+"px":this.contentElement.style.height=h+"px",this.contentElement.positionAt(d,c,n),this._widget.doResize()}widget(){return this._widget}static setContainer(e){xn.set(e.ownerDocument,e),wn.containerMoved(e)}static container(e){return xn.get(e)}static containerMoved(e){for(const t of Cn)t.isShowing()&&t.element.ownerDocument===e.ownerDocument&&t.positionContent()}}const vn={BlockedByGlassPane:Symbol("BlockedByGlassPane"),PierceGlassPane:Symbol("PierceGlassPane"),PierceContents:Symbol("PierceContents")},En={PreferTop:Symbol("PreferTop"),PreferBottom:Symbol("PreferBottom"),PreferLeft:Symbol("PreferLeft"),PreferRight:Symbol("PreferRight")},Sn={SetExactSize:Symbol("SetExactSize"),SetExactWidthMaxHeight:Symbol("SetExactWidthMaxHeight"),MeasureContent:Symbol("MeasureContent")},yn={Arrow:Symbol("Arrow"),DefaultMargin:Symbol("DefaultMargin"),NoMargin:Symbol("NoMargin")},xn=new Map,Cn=new Set,Tn=Cn;var In=Object.freeze({__proto__:null,GlassPane:wn,PointerEventsBehavior:vn,AnchorBehavior:En,SizeBehavior:Sn,MarginBehavior:yn,GlassPanePanes:Tn});class kn extends wn{constructor(){super(),this.registerRequiredCSS("ui/dialog.css",{enableLegacyPatching:!1}),this.contentElement.tabIndex=0,this.contentElement.addEventListener("focus",(()=>this.widget().focus()),!1),this.widget().setDefaultFocusedElement(this.contentElement),this.setPointerEventsBehavior(vn.BlockedByGlassPane),this.setOutsideClickCallback((e=>{this.hide(),e.consume(!0)})),U(this.contentElement),this._tabIndexBehavior=Mn.DisableAllOutsideTabIndex,this._tabIndexMap=new Map,this._focusRestorer=null,this._closeOnEscape=!0,this._targetDocument,this._targetDocumentKeyDownHandler=this._onKeyDown.bind(this),this._escapeKeyCallback=null}static hasInstance(){return Boolean(kn._instance)}show(e){const t=e instanceof Document?e:(e||Ti.instance().element).ownerDocument;this._targetDocument=t,this._targetDocument.addEventListener("keydown",this._targetDocumentKeyDownHandler,!0),kn._instance&&kn._instance.hide(),kn._instance=this,this._disableTabIndexOnElements(t),super.show(t),this._focusRestorer=new At(this.widget())}hide(){this._focusRestorer&&this._focusRestorer.restore(),super.hide(),this._targetDocument&&this._targetDocument.removeEventListener("keydown",this._targetDocumentKeyDownHandler,!0),this._restoreTabIndexOnElements(),this.dispatchEventToListeners("hidden"),kn._instance=null}setCloseOnEscape(e){this._closeOnEscape=e}setEscapeKeyCallback(e){this._escapeKeyCallback=e}addCloseButton(){const e=this.contentElement.createChild("div","dialog-close-button","dt-close-button");e.gray=!0,e.addEventListener("click",(()=>this.hide()),!1)}setOutsideTabIndexBehavior(e){this._tabIndexBehavior=e}_disableTabIndexOnElements(e){if(this._tabIndexBehavior===Mn.PreserveTabIndex)return;let t=null;this._tabIndexBehavior===Mn.PreserveMainViewTabIndex&&(t=this._getMainWidgetTabIndexElements(Ti.instance().ownerSplit())),this._tabIndexMap.clear();let i=e;for(;i;i=i.traverseNextNode(e))if(i instanceof HTMLElement){const e=i,s=e.tabIndex;!(s>=0)||t&&t.has(e)||(this._tabIndexMap.set(e,s),e.tabIndex=-1)}}_getMainWidgetTabIndexElements(e){const t=new Set;if(!e)return t;const i=e.mainWidget();if(!i||!i.element)return t;let s=i.element;for(;s;s=s.traverseNextNode(i.element)){if(!(s instanceof HTMLElement))continue;const e=s;e.tabIndex<0||t.add(e)}return t}_restoreTabIndexOnElements(){for(const e of this._tabIndexMap.keys())e.tabIndex=this._tabIndexMap.get(e);this._tabIndexMap.clear()}_onKeyDown(e){if(e.keyCode===et.Esc.code&&je.hasNoModifiers(e)){if(this._escapeKeyCallback&&this._escapeKeyCallback(e),e.handled)return;this._closeOnEscape&&(e.consume(!0),this.hide())}}}kn._instance=null;const Mn={DisableAllOutsideTabIndex:Symbol("DisableAllTabIndex"),PreserveMainViewTabIndex:Symbol("PreserveMainViewTabIndex"),PreserveTabIndex:Symbol("PreserveTabIndex")};var Ln=Object.freeze({__proto__:null,Dialog:kn,OutsideTabIndexBehavior:Mn});let Pn;class Dn{constructor(e){this._actionRegistry=e,this._actionToShortcut=new h.Multimap,this._keyMap=new An(0,0),this._activePrefixKey=null,this._activePrefixTimeout=null,this._consumePrefix=null,this._devToolsDefaultShortcutActions=new Set,this._disabledDefaultShortcutsForAction=new h.Multimap,this._keybindSetSetting=i.Settings.instance().moduleSetting("activeKeybindSet"),this._keybindSetSetting.addChangeListener((e=>{m.keybindSetSettingChanged(e.data),this._registerBindings()})),this._userShortcutsSetting=i.Settings.instance().moduleSetting("userShortcuts"),this._userShortcutsSetting.addChangeListener(this._registerBindings,this),this._registerBindings()}static instance(e={forceNew:null,actionRegistry:null}){const{forceNew:t,actionRegistry:i}=e;if(!Pn||t){if(!i)throw new Error("Missing actionRegistry for shortcutRegistry");Pn=new Dn(i)}return Pn}static removeInstance(){Pn=void 0}_applicableActions(e,t={}){let i=[];const s=(this._activePrefixKey||this._keyMap).getNode(e);s&&(i=s.actions());const n=this._actionRegistry.applicableActions(i,x.instance());if(s)for(const e of Object.keys(t))if(s.actions().indexOf(e)>=0){const t=this._actionRegistry.action(e);t&&n.push(t)}return n}shortcutsForAction(e){return[...this._actionToShortcut.get(e)]}actionsForDescriptors(e){let t=this._keyMap;for(const{key:i}of e){if(!t)return[];t=t.getNode(i)}return t?t.actions():[]}globalShortcutKeys(){const e=[];for(const t of this._keyMap.chords().values()){const i=t.actions();(this._actionRegistry.applicableActions(i,x.instance()).length||t.hasChords())&&e.push(t.key())}return e}keysForActions(e){const t=e.flatMap((e=>[...this._actionToShortcut.get(e)].flatMap((e=>e.descriptors.map((e=>e.key))))));return[...new Set(t)]}shortcutTitleForAction(e){for(const t of this._actionToShortcut.get(e))return t.title()}handleShortcut(e,t){this.handleKey(je.makeKeyFromEvent(e),e.key,e,t)}actionHasDefaultShortcut(e){return this._devToolsDefaultShortcutActions.has(e)}addShortcutListener(e,t){const i=new An(0,0);Object.keys(t).flatMap((e=>[...this._actionToShortcut.get(e)])).forEach((e=>{i.addKeyMapping(e.descriptors.map((e=>e.key)),e.action)}));const s=e=>{const s=je.makeKeyFromEvent(e),n=this._activePrefixKey?i.getNode(this._activePrefixKey.key()):i;n&&n.getNode(s)&&this.handleShortcut(e,t)};return e.addEventListener("keydown",s),s}async handleKey(e,t,i,s){const n=e>>8,o=Boolean(s)||Boolean(this._activePrefixKey),r=this._keyMap.getNode(e),a=this._applicableActions(e,s).length>0||r&&r.hasChords();if((o||!function(){if(!i||!Ss()||/^F\d+|Control|Shift|Alt|Meta|Escape|Win|U\+001B$/.test(t))return!1;if(!n)return!0;const s=qe;if(c.isMac()){if(je.makeKey("z",s.Meta)===e)return!0;if(je.makeKey("z",s.Meta|s.Shift)===e)return!0}else{if(je.makeKey("z",s.Ctrl)===e)return!0;if(je.makeKey("y",s.Ctrl)===e)return!0;if(!c.isWin()&&je.makeKey("z",s.Ctrl|s.Shift)===e)return!0}if((n&(s.Ctrl|s.Alt))==(s.Ctrl|s.Alt))return c.isWin();return!l(s.Ctrl)&&!l(s.Alt)&&!l(s.Meta)}())&&a&&!je.isModifier(je.keyCodeAndModifiersFromKey(e).keyCode)&&(i&&i.consume(!0),o||!kn.hasInstance())){if(this._activePrefixTimeout){clearTimeout(this._activePrefixTimeout);const e=h.call(this);if(this._activePrefixKey=null,this._activePrefixTimeout=null,e)return;this._consumePrefix&&await this._consumePrefix()}r&&r.hasChords()?(this._activePrefixKey=r,this._consumePrefix=async()=>{this._activePrefixKey=null,this._activePrefixTimeout=null,await h.call(this)},this._activePrefixTimeout=window.setTimeout(this._consumePrefix,Bn)):await h.call(this)}function l(e){return Boolean(n&e)}async function h(){const t=this._applicableActions(e,s);if(!t.length)return!1;for(const e of t){let t;if(s&&s[e.id()]&&(t=await s[e.id()]()),s||(t=await e.execute()),t)return m.keyboardShortcutFired(e.id()),!0}return!1}}registerUserShortcut(e){for(const t of this._disabledDefaultShortcutsForAction.get(e.action))if(t.descriptorsMatch(e.descriptors)&&t.hasKeybindSet(this._keybindSetSetting.get()))return void this.removeShortcut(t);for(const t of this._actionToShortcut.get(e.action))if(t.descriptorsMatch(e.descriptors)&&t.hasKeybindSet(this._keybindSetSetting.get()))return;this._addShortcutToSetting(e)}removeShortcut(e){e.type===tt.DefaultShortcut||e.type===tt.KeybindSetShortcut?this._addShortcutToSetting(e.changeType(tt.DisabledDefault)):this._removeShortcutFromSetting(e)}disabledDefaultsForAction(e){return this._disabledDefaultShortcutsForAction.get(e)}_addShortcutToSetting(e){const t=this._userShortcutsSetting.get();t.push(e),this._userShortcutsSetting.set(t)}_removeShortcutFromSetting(e){const t=this._userShortcutsSetting.get(),i=t.findIndex(e.equals,e);-1!==i&&(t.splice(i,1),this._userShortcutsSetting.set(t))}_registerShortcut(e){this._actionToShortcut.set(e.action,e),this._keyMap.addKeyMapping(e.descriptors.map((e=>e.key)),e.action)}_registerBindings(){this._actionToShortcut.clear(),this._keyMap.clear();const e=this._keybindSetSetting.get(),t=d.Runtime.instance().extensions("action");this._disabledDefaultShortcutsForAction.clear(),this._devToolsDefaultShortcutActions.clear();const i=[];if(d.experiments.isEnabled("keyboardShortcutEditor")){const e=this._userShortcutsSetting.get();for(const t of e){const e=je.createShortcutFromSettingObject(t);e.type===tt.DisabledDefault?this._disabledDefaultShortcutsForAction.set(e.action,e):(On.has(e.action)&&i.push(...e.descriptors.map((e=>je.keyCodeAndModifiersFromKey(e.key)))),this._registerShortcut(e))}}function s(e){if(!e)return!0;const t=e.split(",");let i=!1;const s=c.platform();for(let e=0;!i&&e<t.length;++e)i=t[e]===s;return i}function n(t){return!t||t.includes(e)}[...t.map((e=>({actionId:e.descriptor().actionId,bindings:e.descriptor().bindings}))),...P().map((e=>({actionId:e.id(),bindings:e.bindings()})))].forEach((function(e){const t=e.bindings;for(let o=0;t&&o<t.length;++o){const r=t[o].keybindSets;if(!s(t[o].platform)||!n(r))continue;const a=t[o].shortcut.split(/\s+/).map(je.makeDescriptorFromBindingShortcut);if(a.length>0){const t=e.actionId;if(this._isDisabledDefault(a,t)){this._devToolsDefaultShortcutActions.add(t);continue}On.has(t)&&i.push(...a.map((e=>je.keyCodeAndModifiersFromKey(e.key)))),r?(r.includes("devToolsDefault")&&this._devToolsDefaultShortcutActions.add(t),this._registerShortcut(new je(a,t,tt.KeybindSetShortcut,new Set(r)))):(this._devToolsDefaultShortcutActions.add(t),this._registerShortcut(new je(a,t,tt.DefaultShortcut)))}}}),this),u.InspectorFrontendHostInstance.setWhitelistedShortcuts(JSON.stringify(i))}_isDisabledDefault(e,t){const i=this._disabledDefaultShortcutsForAction.get(t);for(const t of i)if(t.descriptorsMatch(e))return!0;return!1}}class An{constructor(e,t=0){this._key=e,this._actions=[],this._chords=new Map,this._depth=t}addAction(e){this._actions.push(e)}key(){return this._key}chords(){return this._chords}hasChords(){return this._chords.size>0}addKeyMapping(e,t){if(!(e.length<this._depth))if(e.length===this._depth)this.addAction(t);else{const i=e[this._depth];this._chords.has(i)||this._chords.set(i,new An(i,this._depth+1)),this._chords.get(i).addKeyMapping(e,t)}}getNode(e){return this._chords.get(e)||null}actions(){return this._actions}clear(){this._actions=[],this._chords=new Map}}class Rn{}Rn.instance=new Rn;const On=new Set(["main.toggle-dock","debugger.toggle-breakpoints-active","debugger.toggle-pause","commandMenu.show","console.show"]),Bn=1e3,Fn="devToolsDefault";var zn=Object.freeze({__proto__:null,ShortcutRegistry:Dn,ShortcutTreeNode:An,ForwardedShortcut:Rn,ForwardedActions:On,KeyTimeout:Bn,DefaultShortcutSetting:Fn});class Wn{constructor(e,t,i){this._items=e,this._itemSelectedCallback=t,this._parentMenu=i,this._highlightedMenuItemElement=null,this.detailsForElementMap=new WeakMap}show(e,t){if(this._items.length){this._document=e,this._glassPane=new wn,this._glassPane.setPointerEventsBehavior(this._parentMenu?vn.PierceGlassPane:vn.BlockedByGlassPane),this._glassPane.registerRequiredCSS("ui/softContextMenu.css",{enableLegacyPatching:!0}),this._glassPane.setContentAnchorBox(t),this._glassPane.setSizeBehavior(Sn.MeasureContent),this._glassPane.setMarginBehavior(yn.NoMargin),this._glassPane.setAnchorBehavior(this._parentMenu?En.PreferRight:En.PreferBottom),this._contextMenuElement=this._glassPane.contentElement.createChild("div","soft-context-menu"),this._contextMenuElement.tabIndex=-1,Z(this._contextMenuElement),this._contextMenuElement.addEventListener("mouseup",(e=>e.consume()),!1),this._contextMenuElement.addEventListener("keydown",this._menuKeyDown.bind(this),!1);for(let e=0;e<this._items.length;++e)this._contextMenuElement.appendChild(this._createMenuItem(this._items[e]));this._glassPane.show(e),this._focusRestorer=new Hs(this._contextMenuElement),this._parentMenu||(this._hideOnUserGesture=e=>{let t=this._subMenu;for(;t;){if(t._contextMenuElement===e.composedPath()[0])return;t=t._subMenu}this.discard(),e.consume(!0)},this._document.body.addEventListener("mousedown",this._hideOnUserGesture,!1),this._document.defaultView&&this._document.defaultView.addEventListener("resize",this._hideOnUserGesture,!1))}}discard(){this._subMenu&&this._subMenu.discard(),this._focusRestorer&&this._focusRestorer.restore(),this._glassPane&&(this._glassPane.hide(),delete this._glassPane,this._hideOnUserGesture&&(this._document&&(this._document.body.removeEventListener("mousedown",this._hideOnUserGesture,!1),this._document.defaultView&&this._document.defaultView.removeEventListener("resize",this._hideOnUserGesture,!1)),delete this._hideOnUserGesture)),this._parentMenu&&(delete this._parentMenu._subMenu,this._parentMenu._activeSubMenuElement&&(de(this._parentMenu._activeSubMenuElement,!1),delete this._parentMenu._activeSubMenuElement))}_createMenuItem(e){if("separator"===e.type)return this._createSeparator();if("subMenu"===e.type)return this._createSubMenu(e);const t=document.createElement("div");t.classList.add("soft-context-menu-item"),t.tabIndex=-1,J(t);const i=ke.create("smallicon-checkmark","checkmark");t.appendChild(i),e.checked||(i.style.opacity="0");const s={actionId:void 0,isSeparator:void 0,customElement:void 0,subItems:void 0,subMenuTimer:void 0};if(e.element){return t.createChild("div","soft-context-menu-custom-item").appendChild(e.element),s.customElement=e.element,this.detailsForElementMap.set(t,s),t}e.enabled||t.classList.add("soft-context-menu-disabled"),Ys(t,e.label||""),t.createChild("span","soft-context-menu-shortcut").textContent=e.shortcut||"",t.addEventListener("mousedown",this._menuItemMouseDown.bind(this),!1),t.addEventListener("mouseup",this._menuItemMouseUp.bind(this),!1),t.addEventListener("mouseover",this._menuItemMouseOver.bind(this),!1),t.addEventListener("mouseleave",this._menuItemMouseLeave.bind(this),!1),s.actionId=e.id;let n=e.label||"";if("checkbox"===e.type){const t=e.checked?o`checked`:o`unchecked`;n=e.shortcut?o`${e.label}, ${e.shortcut}, ${t}`:o`${e.label}, ${t}`}else e.shortcut&&(n=o`${e.label}, ${e.shortcut}`);return be(t,n),this.detailsForElementMap.set(t,s),t}_createSubMenu(e){const t=document.createElement("div");t.classList.add("soft-context-menu-item"),t.tabIndex=-1,ee(t),this.detailsForElementMap.set(t,{subItems:e.subItems,actionId:void 0,isSeparator:void 0,customElement:void 0,subMenuTimer:void 0});const i=ke.create("smallicon-checkmark","soft-context-menu-item-checkmark");if(i.classList.add("checkmark"),t.appendChild(i),i.style.opacity="0",Ys(t,e.label||""),de(t,!1),c.isMac()&&!w.instance().hasTheme()){const e=t.createChild("span","soft-context-menu-item-submenu-arrow");ne(e),e.textContent="▶"}else{const e=ke.create("smallicon-triangle-right","soft-context-menu-item-submenu-arrow");t.appendChild(e)}return t.addEventListener("mousedown",this._menuItemMouseDown.bind(this),!1),t.addEventListener("mouseup",this._menuItemMouseUp.bind(this),!1),t.addEventListener("mouseover",this._menuItemMouseOver.bind(this),!1),t.addEventListener("mouseleave",this._menuItemMouseLeave.bind(this),!1),t}_createSeparator(){const e=document.createElement("div");return e.classList.add("soft-context-menu-separator"),this.detailsForElementMap.set(e,{subItems:void 0,actionId:void 0,isSeparator:!0,customElement:void 0,subMenuTimer:void 0}),e.createChild("div","separator-line"),e}_menuItemMouseDown(e){e.consume(!0)}_menuItemMouseUp(e){this._triggerAction(e.target,e),e.consume()}_root(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}_triggerAction(e,t){const i=this.detailsForElementMap.get(e);if(i&&!i.subItems)return this._root().discard(),t.consume(!0),void(void 0!==i.actionId&&(this._itemSelectedCallback(i.actionId),delete i.actionId));this._showSubMenu(e),t.consume()}_showSubMenu(e){const t=this.detailsForElementMap.get(e);if(!t)return;if(t.subMenuTimer&&(window.clearTimeout(t.subMenuTimer),delete t.subMenuTimer),this._subMenu||!this._document)return;if(this._activeSubMenuElement=e,de(e,!0),!t.subItems)return;this._subMenu=new Wn(t.subItems,this._itemSelectedCallback,this);const i=e.boxInWindow();i.y-=5,i.x+=3,i.width-=6,i.height+=10,this._subMenu.show(this._document,i)}_menuItemMouseOver(e){this._highlightMenuItem(e.target,!0)}_menuItemMouseLeave(e){if(!this._subMenu||!e.relatedTarget)return void this._highlightMenuItem(null,!0);e.relatedTarget===this._contextMenuElement&&this._highlightMenuItem(null,!0)}_highlightMenuItem(e,t){if(this._highlightedMenuItemElement!==e){if(this._subMenu&&this._subMenu.discard(),this._highlightedMenuItemElement){const e=this.detailsForElementMap.get(this._highlightedMenuItemElement);this._highlightedMenuItemElement.classList.remove("force-white-icons"),this._highlightedMenuItemElement.classList.remove("soft-context-menu-item-mouse-over"),e&&e.subItems&&e.subMenuTimer&&(window.clearTimeout(e.subMenuTimer),delete e.subMenuTimer)}if(this._highlightedMenuItemElement=e,this._highlightedMenuItemElement){(w.instance().hasTheme()||c.isMac())&&this._highlightedMenuItemElement.classList.add("force-white-icons"),this._highlightedMenuItemElement.classList.add("soft-context-menu-item-mouse-over");const e=this.detailsForElementMap.get(this._highlightedMenuItemElement);e&&e.customElement?e.customElement.focus():this._highlightedMenuItemElement.focus(),t&&e&&e.subItems&&!e.subMenuTimer&&(e.subMenuTimer=window.setTimeout(this._showSubMenu.bind(this,this._highlightedMenuItemElement),150))}}}_highlightPrevious(){let e=this._highlightedMenuItemElement?this._highlightedMenuItemElement.previousSibling:this._contextMenuElement?this._contextMenuElement.lastChild:null,t=e?this.detailsForElementMap.get(e):void 0;for(;e&&t&&(t.isSeparator||e.classList.contains("soft-context-menu-disabled"));)e=e.previousSibling,t=e?this.detailsForElementMap.get(e):void 0;e&&this._highlightMenuItem(e,!1)}_highlightNext(){let e=this._highlightedMenuItemElement?this._highlightedMenuItemElement.nextSibling:this._contextMenuElement?this._contextMenuElement.firstChild:null,t=e?this.detailsForElementMap.get(e):void 0;for(;e&&(t&&t.isSeparator||e.classList.contains("soft-context-menu-disabled"));)e=e.nextSibling,t=e?this.detailsForElementMap.get(e):void 0;e&&this._highlightMenuItem(e,!1)}_menuKeyDown(e){const t=e;function i(){if(!this._highlightedMenuItemElement)return;const e=this.detailsForElementMap.get(this._highlightedMenuItemElement);e&&!e.customElement&&(this._triggerAction(this._highlightedMenuItemElement,t),e.subItems&&this._subMenu&&this._subMenu._highlightNext(),t.consume(!0))}switch(t.key){case"ArrowUp":this._highlightPrevious(),t.consume(!0);break;case"ArrowDown":this._highlightNext(),t.consume(!0);break;case"ArrowLeft":this._parentMenu&&(this._highlightMenuItem(null,!1),this.discard()),t.consume(!0);break;case"ArrowRight":{if(!this._highlightedMenuItemElement)break;const e=this.detailsForElementMap.get(this._highlightedMenuItemElement);e&&e.subItems&&(this._showSubMenu(this._highlightedMenuItemElement),this._subMenu&&this._subMenu._highlightNext()),t.consume(!0);break}case"Escape":this.discard(),t.consume(!0);break;case"Enter":if("Enter"!==t.key)return;i.call(this);break;case" ":i.call(this);break;default:t.consume(!0)}}}var Nn=Object.freeze({__proto__:null,SoftContextMenu:Wn,SoftContextMenuDescriptor:undefined});class Hn{constructor(e,t,i,s,n){this._type=t,this._label=i,this._disabled=s,this._checked=n,this._contextMenu=e,this._id=void 0,"item"!==t&&"checkbox"!==t||(this._id=e?e._nextId():0),this._customElement}id(){if(void 0===this._id)throw new Error("Tried to access a ContextMenu Item ID but none was set.");return this._id}type(){return this._type}isEnabled(){return!this._disabled}setEnabled(e){this._disabled=!e}_buildDescriptor(){switch(this._type){case"item":{const e={type:"item",id:this._id,label:this._label,enabled:!this._disabled,checked:void 0,subItems:void 0};if(this._customElement){e.element=this._customElement}if(this._shortcut){e.shortcut=this._shortcut}return e}case"separator":return{type:"separator",id:void 0,label:void 0,enabled:void 0,checked:void 0,subItems:void 0};case"checkbox":return{type:"checkbox",id:this._id,label:this._label,checked:Boolean(this._checked),enabled:!this._disabled,subItems:void 0}}throw new Error("Invalid item type:"+this._type)}setShortcut(e){this._shortcut=e}}class Vn{constructor(e){this._contextMenu=e,this._items=[]}appendItem(e,t,i){const s=new Hn(this._contextMenu,"item",e,i);return this._items.push(s),this._contextMenu&&this._contextMenu._setHandler(s.id(),t),s}appendCustomItem(e){const t=new Hn(this._contextMenu,"item","<custom>");return t._customElement=e,this._items.push(t),t}appendSeparator(){const e=new Hn(this._contextMenu,"separator");return this._items.push(e),e}appendAction(e,t,i){const s=B.instance().action(e);if(!s)return void(i||console.error(`Action ${e} was not defined`));t||(t=s.title());const n=this.appendItem(t,s.execute.bind(s)),o=Dn.instance().shortcutTitleForAction(e);o&&n.setShortcut(o)}appendSubMenuItem(e,t){const i=new Un(this._contextMenu,e,t);return i._init(),this._items.push(i),i}appendCheckboxItem(e,t,i,s){const n=new Hn(this._contextMenu,"checkbox",e,s,i);return this._items.push(n),this._contextMenu&&this._contextMenu._setHandler(n.id(),t),n}}class Un extends Hn{constructor(e,t,i){super(e,"subMenu",t,i),this._sections=new Map,this._sectionList=[]}_init(){jn.forEach((e=>this.section(e)))}section(e){let t=e?this._sections.get(e):null;return t||(t=new Vn(this._contextMenu),e?(this._sections.set(e,t),this._sectionList.push(t)):this._sectionList.splice(Kn._groupWeights.indexOf("default"),0,t)),t}headerSection(){return this.section("header")}newSection(){return this.section("new")}revealSection(){return this.section("reveal")}clipboardSection(){return this.section("clipboard")}editSection(){return this.section("edit")}debugSection(){return this.section("debug")}viewSection(){return this.section("view")}defaultSection(){return this.section("default")}saveSection(){return this.section("save")}footerSection(){return this.section("footer")}_buildDescriptor(){const e={type:"subMenu",label:this._label,enabled:!this._disabled,subItems:[],id:void 0,checked:void 0},t=this._sectionList.filter((e=>Boolean(e._items.length)));for(const i of t){for(const t of i._items)e.subItems||(e.subItems=[]),e.subItems.push(t._buildDescriptor());i!==t[t.length-1]&&(e.subItems||(e.subItems=[]),e.subItems.push({type:"separator",id:void 0,subItems:void 0,checked:void 0,enabled:void 0,label:void 0}))}return e}appendItemsAtLocation(e){for(const t of d.Runtime.instance().extensions("context-menu-item")){const i=t.descriptor().location||"";if(!i.startsWith(e+"/"))continue;const s=i.substr(e.length+1);if(!s||s.includes("/"))continue;const n=t.descriptor().actionId;n&&this.section(s).appendAction(n)}}}Hn._uniqueSectionName=0;class Kn extends Un{constructor(e,t,i,s){super(null);const n=e;this._contextMenu=this,super._init(),this._defaultSection=this.defaultSection(),this._pendingPromises=[],this._pendingTargets=[],this._event=n,this._useSoftMenu=Boolean(t),this._x=void 0===i?n.x:i,this._y=void 0===s?n.y:s,this._handlers=new Map,this._id=0;const o=bn(e);o&&this.appendApplicableItems(o)}static initialize(){u.InspectorFrontendHostInstance.events.addEventListener(p.Events.SetUseSoftMenu,(function(e){Kn._useSoftMenu=e.data}))}static installHandler(e){e.body.addEventListener("contextmenu",(function(e){new Kn(e).show()}),!1)}_nextId(){return this._id++}async show(){Kn._pendingMenu=this,this._event.consume(!0);const e=await Promise.all(this._pendingPromises);if(Kn._pendingMenu===this){Kn._pendingMenu=null;for(let t=0;t<e.length;++t){const i=e[t],s=this._pendingTargets[t];for(const e of i)e.appendApplicableItems(this._event,this,s)}this._pendingPromises=[],this._pendingTargets=[],this._innerShow()}}discard(){this._softMenu&&this._softMenu.discard()}_innerShow(){const e=this._buildMenuDescriptors(),t=this._event.target;if(!t)return;const i=t.ownerDocument;if(this._useSoftMenu||Kn._useSoftMenu||u.InspectorFrontendHostInstance.isHostedMode())this._softMenu=new Wn(e,this._itemSelected.bind(this)),this._softMenu.show(i,new AnchorBox(this._x,this._y,0,0));else{u.InspectorFrontendHostInstance.showContextMenuAtPoint(this._x,this._y,e,i),queueMicrotask(function(){u.InspectorFrontendHostInstance.events.addEventListener(p.Events.ContextMenuCleared,this._menuCleared,this),u.InspectorFrontendHostInstance.events.addEventListener(p.Events.ContextMenuItemSelected,this._onItemSelected,this)}.bind(this))}}setX(e){this._x=e}setY(e){this._y=e}_setHandler(e,t){t&&this._handlers.set(e,t)}_buildMenuDescriptors(){return super._buildDescriptor().subItems}_onItemSelected(e){this._itemSelected(e.data)}_itemSelected(e){const t=this._handlers.get(e);t&&t.call(this),this._menuCleared()}_menuCleared(){u.InspectorFrontendHostInstance.events.removeEventListener(p.Events.ContextMenuCleared,this._menuCleared,this),u.InspectorFrontendHostInstance.events.removeEventListener(p.Events.ContextMenuItemSelected,this._onItemSelected,this)}containsTarget(e){return this._pendingTargets.indexOf(e)>=0}appendApplicableItems(e){const t=d.Runtime.instance().allInstances(qn,e);this._pendingPromises.push(t),this._pendingTargets.push(e),this._pendingPromises.push(async function(){return Promise.all($n.map((e=>e.loadProvider())))}()),this._pendingTargets.push(e)}}Kn._useSoftMenu=!1,Kn._pendingMenu=null;const jn=["header","new","reveal","edit","clipboard","debug","view","default","save","footer"];class qn{appendApplicableItems(e,t,i){}}const $n=[];Kn._groupWeights=jn;var Gn=Object.freeze({__proto__:null,Item:Hn,Section:Vn,SubMenu:Un,ContextMenu:Kn,_groupWeights:jn,Provider:qn,registerProvider:function(e){$n.push(e)},ProviderRegistration:undefined});var Xn=Object.freeze({__proto__:null,DropTarget:class{constructor(e,t,i,s){e.addEventListener("dragenter",this._onDragEnter.bind(this),!0),e.addEventListener("dragover",this._onDragOver.bind(this),!0),this._element=e,this._transferTypes=t,this._messageText=i,this._handleDrop=s,this._enabled=!0,this._dragMaskElement=null}setEnabled(e){this._enabled=e}_onDragEnter(e){this._enabled&&this._hasMatchingType(e)&&e.consume(!0)}_hasMatchingType(e){const t=e;if(!t.dataTransfer)return!1;for(const e of this._transferTypes){if(Array.from(t.dataTransfer.items).find((t=>e.kind===t.kind&&Boolean(e.type.exec(t.type)))))return!0}return!1}_onDragOver(e){const t=e;if(!this._enabled||!this._hasMatchingType(t))return;if(t.dataTransfer&&(t.dataTransfer.dropEffect="copy"),t.consume(!0),this._dragMaskElement)return;this._dragMaskElement=this._element.createChild("div","");mt(this._dragMaskElement,{cssFile:"ui/dropTarget.css",enableLegacyPatching:!0,delegatesFocus:void 0}).createChild("div","drop-target-message").textContent=this._messageText,this._dragMaskElement.addEventListener("drop",this._onDrop.bind(this),!0),this._dragMaskElement.addEventListener("dragleave",this._onDragLeave.bind(this),!0)}_onDrop(e){const t=e;t.consume(!0),this._removeMask(),this._enabled&&t.dataTransfer&&this._handleDrop(t.dataTransfer)}_onDragLeave(e){e.consume(!0),this._removeMask()}_removeMask(){this._dragMaskElement&&(this._dragMaskElement.remove(),this._dragMaskElement=null)}},Type:{URI:{kind:"string",type:/text\/uri-list/},Folder:{kind:"file",type:/$^/},File:{kind:"file",type:/.*/},WebFile:{kind:"file",type:/[\w]+/},ImageFile:{kind:"file",type:/image\/.*/}}});var Yn=Object.freeze({__proto__:null,EmptyWidget:class extends Pt{constructor(e){super(),this.registerRequiredCSS("ui/emptyWidget.css",{enableLegacyPatching:!1}),this.element.classList.add("empty-view-scroller"),this._contentElement=this.element.createChild("div","empty-view"),this._textElement=this._contentElement.createChild("div","empty-bold-text"),this._textElement.textContent=e}appendParagraph(){return this._contentElement.createChild("p")}appendLink(e){return this._contentElement.appendChild(bs.create(e,o`Learn more`))}set text(e){this._textElement.textContent=e}}});class Qn extends Dt{constructor(e,s){super(),this.registerRequiredCSS("ui/filter.css",{enableLegacyPatching:!0}),this._enabled=!0,this.element.classList.add("filter-bar"),this._stateSetting=i.Settings.instance().createSetting("filterBar-"+e+"-toggled",Boolean(s)),this._filterButton=new ts(this._stateSetting,"largeicon-filter",t.UIString("Filter")),this._filters=[],this._updateFilterBar(),this._stateSetting.addChangeListener(this._updateFilterBar.bind(this))}filterButton(){return this._filterButton}addFilter(e){this._filters.push(e),this.element.appendChild(e.element()),e.addEventListener(Zn.Events.FilterChanged,this._filterChanged,this),this._updateFilterButton()}setEnabled(e){this._enabled=e,this._filterButton.setEnabled(e),this._updateFilterBar()}forceShowFilterBar(){this._alwaysShowFilters=!0,this._updateFilterBar()}showOnce(){this._stateSetting.set(!0)}_filterChanged(e){this._updateFilterButton(),this.dispatchEventToListeners(Qn.Events.Changed)}wasShown(){super.wasShown(),this._updateFilterBar()}_updateFilterBar(){this.parentWidget()&&!this._showingWidget&&(this.visible()?(this._showingWidget=!0,this.showWidget(),this._showingWidget=!1):this.hideWidget())}focus(){for(let e=0;e<this._filters.length;++e)if(this._filters[e]instanceof Jn){this._filters[e].focus();break}}_updateFilterButton(){let e=!1;for(const t of this._filters)e=e||t.isActive();this._filterButton.setDefaultWithRedColor(e),this._filterButton.setToggleWithRedColor(e)}clear(){this.element.removeChildren(),this._filters=[],this._updateFilterButton()}setting(){return this._stateSetting}visible(){return this._alwaysShowFilters||this._stateSetting.get()&&this._enabled}}Qn.Events={Changed:Symbol("Changed")};class Zn extends s.EventTarget{isActive(){throw new Error("not implemented")}element(){throw new Error("not implemented")}}Zn.Events={FilterChanged:Symbol("FilterChanged")};class Jn extends e.ObjectWrapper{constructor(){super(),this._filterElement=document.createElement("div"),this._filterElement.className="filter-text-filter";const e=this._filterElement.createChild("div","filter-input-container");this._filterInputElement=e.createChild("span","filter-input-field"),this._prompt=new Ui,this._prompt.initialize(this._completions.bind(this)," ",!0),this._proxyElement=this._prompt.attach(this._filterInputElement),qt.install(this._proxyElement,t.UIString("e.g. /small[\\d]+/ url:a.com/b")),this._prompt.setPlaceholder(t.UIString("Filter")),this._prompt.addEventListener(ji.TextChanged,this._valueChanged.bind(this)),this._suggestionProvider=null;const i=e.createChild("div","filter-input-clear-button");i.appendChild(ke.create("mediumicon-gray-cross-hover","filter-cancel-button")),i.addEventListener("click",(()=>{this.clear(),this.focus()})),this._updateEmptyStyles()}_completions(e,t,i){return this._suggestionProvider?this._suggestionProvider(e,t,i):Promise.resolve([])}isActive(){return Boolean(this._prompt.text())}element(){return this._filterElement}value(){return this._prompt.textWithCurrentSuggestion()}setValue(e){this._prompt.setText(e),this._valueChanged()}focus(){this._filterInputElement.focus()}setSuggestionProvider(e){this._prompt.clearAutocomplete(),this._suggestionProvider=e}_valueChanged(){this.dispatchEventToListeners(Zn.Events.FilterChanged,null),this._updateEmptyStyles()}_updateEmptyStyles(){this._filterElement.classList.toggle("filter-text-empty",!this._prompt.text())}clear(){this.setValue("")}}class eo extends e.ObjectWrapper{constructor(e,i){super(),this._filtersElement=document.createElement("div"),this._filtersElement.classList.add("filter-bitset-filter"),te(this._filtersElement),ie(this._filtersElement),qt.install(this._filtersElement,t.UIString("%sClick to select multiple types",je.shortcutToString("",qe.CtrlOrMeta))),this._typeFilterElementTypeNames=new WeakMap,this._allowedTypes=new Set,this._typeFilterElements=[],this._addBit(eo.ALL_TYPES,t.UIString("All")),this._typeFilterElements[0].tabIndex=0,this._filtersElement.createChild("div","filter-bitset-filter-divider");for(let t=0;t<e.length;++t)this._addBit(e[t].name,e[t].label,e[t].title);i?(this._setting=i,i.addChangeListener(this._settingChanged.bind(this)),this._settingChanged()):this._toggleTypeFilter(eo.ALL_TYPES,!1)}reset(){this._toggleTypeFilter(eo.ALL_TYPES,!1)}isActive(){return!this._allowedTypes.has(eo.ALL_TYPES)}element(){return this._filtersElement}accept(e){return this._allowedTypes.has(eo.ALL_TYPES)||this._allowedTypes.has(e)}_settingChanged(){const e=this._setting.get();this._allowedTypes=new Set;for(const t of this._typeFilterElements){const i=this._typeFilterElementTypeNames.get(t);i&&e[i]&&this._allowedTypes.add(i)}this._update()}_update(){(0===this._allowedTypes.size||this._allowedTypes.has(eo.ALL_TYPES))&&(this._allowedTypes=new Set,this._allowedTypes.add(eo.ALL_TYPES));for(const e of this._typeFilterElements){const t=this._typeFilterElementTypeNames.get(e),i=this._allowedTypes.has(t||"");e.classList.toggle("selected",i),me(e,i)}this.dispatchEventToListeners(Zn.Events.FilterChanged,null)}_addBit(e,t,i){const s=this._filtersElement.createChild("span",e);s.tabIndex=-1,this._typeFilterElementTypeNames.set(s,e),Ys(s,t),se(s),i&&(s.title=i),s.addEventListener("click",this._onTypeFilterClicked.bind(this),!1),s.addEventListener("keydown",this._onTypeFilterKeydown.bind(this),!1),this._typeFilterElements.push(s)}_onTypeFilterClicked(e){const t=e;let i;if(i=c.isMac()?t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey:t.ctrlKey&&!t.metaKey&&!t.altKey&&!t.shiftKey,t.target){const e=t.target,s=this._typeFilterElementTypeNames.get(e);this._toggleTypeFilter(s,i)}}_onTypeFilterKeydown(e){const t=e,i=t.target;i&&("ArrowLeft"===t.key||"ArrowUp"===t.key?this._keyFocusNextBit(i,!0)&&t.consume(!0):"ArrowRight"===t.key||"ArrowDown"===t.key?this._keyFocusNextBit(i,!1)&&t.consume(!0):isEnterOrSpaceKey(t)&&this._onTypeFilterClicked(t))}_keyFocusNextBit(e,t){const i=this._typeFilterElements.indexOf(e);if(-1===i)return!1;const s=t?i-1:i+1;if(s<0||s>=this._typeFilterElements.length)return!1;const n=this._typeFilterElements[s];return n.tabIndex=0,e.tabIndex=-1,n.focus(),!0}_toggleTypeFilter(e,t){if(t&&e!==eo.ALL_TYPES?this._allowedTypes.delete(eo.ALL_TYPES):this._allowedTypes=new Set,this._allowedTypes.has(e)?this._allowedTypes.delete(e):this._allowedTypes.add(e),this._setting){const e={};for(const t of this._allowedTypes)e[t]=!0;this._setting.set(e)}else this._update()}}eo.ALL_TYPES="all";class to extends e.ObjectWrapper{constructor(e,t,i,s){super(),this._filterElement=document.createElement("div"),this._filterElement.classList.add("filter-checkbox-filter"),this._activeWhenChecked=Boolean(i),this._label=Js.create(t),this._filterElement.appendChild(this._label),this._checkboxElement=this._label.checkboxElement,s?Pi(this._checkboxElement,s):this._checkboxElement.checked=!0,this._checkboxElement.addEventListener("change",this._fireUpdated.bind(this),!1)}isActive(){return this._activeWhenChecked===this._checkboxElement.checked}checked(){return this._checkboxElement.checked}setChecked(e){this._checkboxElement.checked=e}element(){return this._filterElement}labelElement(){return this._label}_fireUpdated(){this.dispatchEventToListeners(Zn.Events.FilterChanged,null)}setColor(e,t){this._label.backgroundColor=e,this._label.borderColor=t}}var io=Object.freeze({__proto__:null,FilterBar:Qn,FilterUI:Zn,TextFilterUI:Jn,NamedBitSetFilterUI:eo,CheckboxFilterUI:to,Item:undefined});var so=Object.freeze({__proto__:null,FilterSuggestionBuilder:class{constructor(e,t){this._keys=e,this._valueSorter=t||((e,t)=>t.sort()),this._valuesMap=new Map}completions(e,t,i){if(!t&&!i)return Promise.resolve([]);const s=t.startsWith("-");s&&(t=t.substring(1));const n=s?"-":"",o=t.indexOf(":"),a=[];if(-1===o){const e=new RegExp("^"+r.escapeForRegExp(t),"i");for(const t of this._keys)e.test(t)&&a.push({text:n+t+":"})}else{const e=t.substring(0,o).toLowerCase(),i=t.substring(o+1),s=new RegExp("^"+r.escapeForRegExp(i),"i"),l=Array.from(this._valuesMap.get(e)||new Set);this._valueSorter(e,l);for(const t of l)s.test(t)&&t!==i&&a.push({text:n+e+":"+t})}return Promise.resolve(a)}addItem(e,t){if(!t)return;let i=this._valuesMap.get(e);i||(i=new Set,this._valuesMap.set(e,i)),i.add(t)}clear(){this._valuesMap.clear()}}});class no{constructor(){u.InspectorFrontendHostInstance.events.addEventListener(p.Events.KeyEventUnhandled,this._onKeyEventUnhandled,this)}_onKeyEventUnhandled(e){const t=e.data,i=t.type,s=t.key,n=t.keyCode,o=t.modifiers;if("keydown"!==i)return;const r=x.instance(),a=Dn.instance();r.setFlavor(Rn,Rn.instance),a.handleKey(je.makeKey(n,o),s),r.setFlavor(Rn,null)}}new no;var oo=Object.freeze({__proto__:null,ForwardedInputEventHandler:no});let ro=null;class ao extends HTMLInputElement{constructor(){super(),this._history=[""],this._historyPosition=0,this.addEventListener("keydown",this._onKeyDown.bind(this),!1),this.addEventListener("input",this._onInput.bind(this),!1)}static create(){return ro||(ro=Te("input","history-input",ao)),ro()}_onInput(e){this._history.length===this._historyPosition+1&&(this._history[this._history.length-1]=this.value)}_onKeyDown(e){const t=e;t.keyCode===et.Up.code?(this._historyPosition=Math.max(this._historyPosition-1,0),this.value=this._history[this._historyPosition],this.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0})),t.consume(!0)):t.keyCode===et.Down.code?(this._historyPosition=Math.min(this._historyPosition+1,this._history.length-1),this.value=this._history[this._historyPosition],this.dispatchEvent(new Event("input",{bubbles:!0,cancelable:!0})),t.consume(!0)):t.keyCode===et.Enter.code&&this._saveToHistory()}_saveToHistory(){this._history.length>1&&this._history[this._history.length-2]===this.value||(this._history[this._history.length-1]=this.value,this._historyPosition=this._history.length-1,this._history.push(""))}}var lo=Object.freeze({__proto__:null,HistoryInput:ao});let ho=null;class co{static startEditing(e,t){return ho||(ho=new co),ho.startEditing(e,t)}editorContent(e){const t=e.element;return"INPUT"===t.tagName&&"text"===t.type?t.value:t.textContent||""}setUpEditor(e){const t=e.element;t.classList.add("editing"),t.setAttribute("contenteditable","plaintext-only");const i=t.getAttribute("role");Q(t),e.oldRole=i;const s=t.tabIndex;("number"!=typeof s||s<0)&&(t.tabIndex=0),this._focusRestorer=new Hs(t),e.oldTabIndex=s}closeEditor(e){const t=e.element;t.classList.remove("editing"),t.removeAttribute("contenteditable"),"string"!=typeof e.oldRole?t.removeAttribute("role"):t.setAttribute("role",e.oldRole),"number"!=typeof e.oldTabIndex?t.removeAttribute("tabIndex"):t.tabIndex=e.oldTabIndex,t.scrollTop=0,t.scrollLeft=0}cancelEditing(e){const t=e.element;"INPUT"===t.tagName&&"text"===t.type?t.value=e.oldText||"":t.textContent=e.oldText}startEditing(e,t){if(!ys(e,!0))return null;const i=t||new uo((function(){}),(function(){})),s={element:e,config:i,oldRole:null,oldTabIndex:null,oldText:null},n=i.commitHandler,o=i.cancelHandler,r=i.pasteHandler,a=i.context;let l="";const h=this;function d(t){i.blurHandler&&!i.blurHandler(e,t)||m.call(e)}function c(){ys(e,!1),e.removeEventListener("blur",d,!1),e.removeEventListener("keydown",g,!0),r&&e.removeEventListener("paste",p,!0),h._focusRestorer&&h._focusRestorer.restore(),h.closeEditor(s)}function u(){h.cancelEditing(s),c(),o(this,a)}function m(){c(),n(this,h.editorContent(s),s.oldText||"",a,l)}function _(t,i){"commit"===t?(m.call(e),i.consume(!0)):"cancel"===t?(u.call(e),i.consume(!0)):t&&t.startsWith("move-")&&(l=t.substring(5),"Tab"===i.key&&i.consume(!0),d())}function p(e){if(!r)return;_(r(e),e)}function g(e){let t=function(e){return"Enter"===e.key?"commit":e.keyCode===et.Esc.code||"Escape"===e.key?"cancel":"Tab"===e.key?"move-"+(e.shiftKey?"backward":"forward"):""}(e);if(!t&&i.postKeydownFinishHandler){const s=i.postKeydownFinishHandler(e);s&&(t=s)}_(t,e)}this.setUpEditor(s),s.oldText=this.editorContent(s),e.addEventListener("blur",d,!1),e.addEventListener("keydown",g,!0),void 0!==r&&e.addEventListener("paste",p,!0);return{cancel:u.bind(e),commit:m.bind(e)}}}class uo{constructor(e,t,i,s){this.commitHandler=e,this.cancelHandler=t,this.context=i,this.blurHandler=s,this.pasteHandler,this.postKeydownFinishHandler}setPasteHandler(e){this.pasteHandler=e}setPostKeydownFinishHandler(e){this.postKeydownFinishHandler=e}}var mo=Object.freeze({__proto__:null,InplaceEditor:co,Config:uo,EventHandler:undefined,Controller:undefined,EditingContext:undefined});var _o=Object.freeze({__proto__:null,ListWidget:class extends Pt{constructor(e,t=!0){super(!0,t),this.registerRequiredCSS("ui/listWidget.css",{enableLegacyPatching:!0}),this._delegate=e,this._list=this.contentElement.createChild("div","list"),this._lastSeparator=!1,this._focusRestorer=null,this._items=[],this._editable=[],this._elements=[],this._editor=null,this._editItem=null,this._editElement=null,this._emptyPlaceholder=null,this._updatePlaceholder()}clear(){this._items=[],this._editable=[],this._elements=[],this._lastSeparator=!1,this._list.removeChildren(),this._updatePlaceholder(),this._stopEditing()}appendItem(e,t){if(this._lastSeparator&&this._items.length){const e=document.createElement("div");e.classList.add("list-separator"),this._list.appendChild(e)}this._lastSeparator=!1,this._items.push(e),this._editable.push(t);const i=this._list.createChild("div","list-item");i.appendChild(this._delegate.renderItem(e,t)),t&&(i.classList.add("editable"),i.tabIndex=0,i.appendChild(this._createControls(e,i))),this._elements.push(i),this._updatePlaceholder()}appendSeparator(){this._lastSeparator=!0}removeItem(e){this._editItem===this._items[e]&&this._stopEditing();const t=this._elements[e],i=t.previousElementSibling,s=i&&i.classList.contains("list-separator"),n=t.nextElementSibling,o=n&&n.classList.contains("list-separator");!s||!o&&n||i.remove(),o&&!i&&n.remove(),t.remove(),this._elements.splice(e,1),this._items.splice(e,1),this._editable.splice(e,1),this._updatePlaceholder()}addNewItem(e,t){this._startEditing(t,null,this._elements[e]||null)}setEmptyPlaceholder(e){this._emptyPlaceholder=e,this._updatePlaceholder()}_createControls(e,i){const s=document.createElement("div");s.classList.add("controls-container"),s.classList.add("fill"),s.createChild("div","controls-gradient");const n=s.createChild("div","controls-buttons"),o=new $i("",n),r=new Qi(t.UIString("Edit"),"largeicon-edit");r.addEventListener(Qi.Events.Click,function(){const t=this._elements.indexOf(i),s=this._elements[t+1]||null;this._startEditing(e,i,s)}.bind(this)),o.appendToolbarItem(r);const a=new Qi(t.UIString("Remove"),"largeicon-trash-bin");return a.addEventListener(Qi.Events.Click,function(){const e=this._elements.indexOf(i);this.element.focus(),this._delegate.removeItemRequested(this._items[e],e)}.bind(this)),o.appendToolbarItem(a),s}wasShown(){super.wasShown(),this._stopEditing()}_updatePlaceholder(){this._emptyPlaceholder&&(this._elements.length||this._editor?this._emptyPlaceholder.remove():this._list.appendChild(this._emptyPlaceholder))}_startEditing(e,i,s){if(i&&this._editElement===i)return;this._stopEditing(),this._focusRestorer=new Hs(this.element),this._list.classList.add("list-editing"),this._editItem=e,this._editElement=i,i&&i.classList.add("hidden");const n=i?this._elements.indexOf(i):-1;this._editor=this._delegate.beginEdit(e),this._updatePlaceholder(),this._list.insertBefore(this._editor.element,s),this._editor.beginEdit(e,n,i?t.UIString("Save"):t.UIString("Add"),this._commitEditing.bind(this),this._stopEditing.bind(this))}_commitEditing(){const e=this._editItem,t=!this._editElement,i=this._editor;this._stopEditing(),e&&this._delegate.commitEdit(e,i,t)}_stopEditing(){this._list.classList.remove("list-editing"),this._focusRestorer&&this._focusRestorer.restore(),this._editElement&&this._editElement.classList.remove("hidden"),this._editor&&this._editor.element.parentElement&&this._editor.element.remove(),this._editor=null,this._editItem=null,this._editElement=null,this._updatePlaceholder()}},Delegate:class{renderItem(e,t){throw new Error("not implemented yet")}removeItemRequested(e,t){}beginEdit(e){throw new Error("not implemented yet")}commitEdit(e,t,i){}},Editor:class{constructor(){this.element=document.createElement("div"),this.element.classList.add("editor-container"),this.element.addEventListener("keydown",i.bind(null,isEscKey,this._cancelClicked.bind(this)),!1),this.element.addEventListener("keydown",i.bind(null,(e=>"Enter"===e.key),this._commitClicked.bind(this)),!1),this._contentElement=this.element.createChild("div","editor-content");const e=this.element.createChild("div","editor-buttons");function i(e,t,i){e(i)&&(i.consume(!0),t())}this._commitButton=Qs("",this._commitClicked.bind(this),"",!0),e.appendChild(this._commitButton),this._cancelButton=Qs(t.UIString("Cancel"),this._cancelClicked.bind(this),"",!0,"mousedown"),this._cancelButton.addEventListener("keydown",i.bind(null,(e=>"Enter"===e.key),this._cancelClicked.bind(this)),!1),e.appendChild(this._cancelButton),this._errorMessageContainer=this.element.createChild("div","list-widget-input-validation-error"),H(this._errorMessageContainer),this._controls=[],this._controlByName=new Map,this._validators=[],this._commit=null,this._cancel=null,this._item=null,this._index=-1}contentElement(){return this._contentElement}createInput(e,t,i,s){const n=Zs("",t);return n.placeholder=i,n.addEventListener("input",this._validateControls.bind(this,!1),!1),n.addEventListener("blur",this._validateControls.bind(this,!1),!1),be(n,i),this._controlByName.set(e,n),this._controls.push(n),this._validators.push(s),n}createSelect(e,t,i,s){const n=document.createElement("select");n.classList.add("chrome-select");for(let e=0;e<t.length;++e){const i=n.createChild("option");i.value=t[e],i.textContent=t[e]}return s&&(qt.install(n,s),be(n,s)),n.addEventListener("input",this._validateControls.bind(this,!1),!1),n.addEventListener("blur",this._validateControls.bind(this,!1),!1),this._controlByName.set(e,n),this._controls.push(n),this._validators.push(i),n}control(e){return this._controlByName.get(e)}_validateControls(e){let t=!0;this._errorMessageContainer.textContent="";for(let i=0;i<this._controls.length;++i){const s=this._controls[i],{valid:n,errorMessage:o}=this._validators[i].call(null,this._item,this._index,s);s.classList.toggle("error-input",!n&&!e),pe(s,!n&&!e),e||!o||this._errorMessageContainer.textContent||(this._errorMessageContainer.textContent=o),t=t&&n}this._commitButton.disabled=!t}beginEdit(e,t,i,s,n){this._commit=s,this._cancel=n,this._item=e,this._index=t,this._commitButton.textContent=i,this.element.scrollIntoViewIfNeeded(!1),this._controls.length&&this._controls[0].focus(),this._validateControls(!0)}_commitClicked(){if(this._commitButton.disabled)return;const e=this._commit;this._commit=null,this._cancel=null,this._item=null,this._index=-1,e&&e()}_cancelClicked(){const e=this._cancel;this._commit=null,this._cancel=null,this._item=null,this._index=-1,e&&e()}},ValidatorResult:undefined});class po extends Pt{constructor(e){super(),this.element.classList.add("panel"),this.element.setAttribute("aria-label",e),this.element.classList.add(e),this._panelName=e,UI.panels[e]=this}get name(){return this._panelName}searchableView(){return null}elementsToRestoreScrollPositionsFor(){return[]}}var go=Object.freeze({__proto__:null,Panel:po,PanelWithSidebar:class extends po{constructor(e,t){super(e),this._panelSplitWidget=new Nt(!0,!1,this._panelName+"PanelSplitViewState",t||200),this._panelSplitWidget.show(this.element),this._mainWidget=new Pt,this._panelSplitWidget.setMainWidget(this._mainWidget),this._sidebarWidget=new Pt,this._sidebarWidget.setMinimumSize(100,25),this._panelSplitWidget.setSidebarWidget(this._sidebarWidget),this._sidebarWidget.element.classList.add("panel-sidebar")}panelSidebarElement(){return this._sidebarWidget.element}mainElement(){return this._mainWidget.element}splitWidget(){return this._panelSplitWidget}}});let bo=null;var fo=Object.freeze({__proto__:null,PopoverHelper:class{constructor(e,t){this._disableOnClick=!1,this._hasPadding=!1,this._getRequest=t,this._scheduledRequest=null,this._hidePopoverCallback=null,this._container=e,this._showTimeout=0,this._hideTimeout=0,this._hidePopoverTimer=null,this._showPopoverTimer=null,this._boundMouseDown=this._mouseDown.bind(this),this._boundMouseMove=this._mouseMove.bind(this),this._boundMouseOut=this._mouseOut.bind(this),this._container.addEventListener("mousedown",this._boundMouseDown,!1),this._container.addEventListener("mousemove",this._boundMouseMove,!1),this._container.addEventListener("mouseout",this._boundMouseOut,!1),this.setTimeout(1e3)}setTimeout(e,t){this._showTimeout=e,this._hideTimeout="number"==typeof t?t:e/2}setHasPadding(e){this._hasPadding=e}setDisableOnClick(e){this._disableOnClick=e}_eventInScheduledContent(e){const t=e;return!!this._scheduledRequest&&this._scheduledRequest.box.contains(t.clientX,t.clientY)}_mouseDown(e){this._disableOnClick?this.hidePopover():this._eventInScheduledContent(e)||(this._startHidePopoverTimer(0),this._stopShowPopoverTimer(),this._startShowPopoverTimer(e,0))}_mouseMove(e){const t=e;this._eventInScheduledContent(t)||(this._startHidePopoverTimer(this._hideTimeout),this._stopShowPopoverTimer(),t.which&&this._disableOnClick||this._startShowPopoverTimer(t,this.isPopoverVisible()?.6*this._showTimeout:this._showTimeout))}_popoverMouseMove(e){this._stopHidePopoverTimer()}_popoverMouseOut(e,t){const i=t;if(!e.isShowing())return;const s=i.relatedTarget;s&&!s.isSelfOrDescendant(e.contentElement)&&this._startHidePopoverTimer(this._hideTimeout)}_mouseOut(e){this.isPopoverVisible()&&(this._eventInScheduledContent(e)||this._startHidePopoverTimer(this._hideTimeout))}_startHidePopoverTimer(e){this._hidePopoverCallback&&!this._hidePopoverTimer&&(this._hidePopoverTimer=window.setTimeout((()=>{this._hidePopover(),this._hidePopoverTimer=null}),e))}_startShowPopoverTimer(e,t){this._scheduledRequest=this._getRequest.call(null,e),this._scheduledRequest&&(this._showPopoverTimer=window.setTimeout((()=>{this._showPopoverTimer=null,this._stopHidePopoverTimer(),this._hidePopover();const t=e.target.ownerDocument;this._showPopover(t)}),t))}_stopShowPopoverTimer(){this._showPopoverTimer&&(clearTimeout(this._showPopoverTimer),this._showPopoverTimer=null)}isPopoverVisible(){return Boolean(this._hidePopoverCallback)}hidePopover(){this._stopShowPopoverTimer(),this._hidePopover()}_hidePopover(){this._hidePopoverCallback&&(this._hidePopoverCallback.call(null),this._hidePopoverCallback=null)}_showPopover(e){const t=new wn;t.registerRequiredCSS("ui/popover.css",{enableLegacyPatching:!1}),t.setSizeBehavior(Sn.MeasureContent),t.setMarginBehavior(yn.Arrow);const i=this._scheduledRequest;i&&i.show.call(null,t).then((s=>{s&&(this._scheduledRequest===i?(bo&&(console.error("One popover is already visible"),bo.hidePopover()),bo=this,t.contentElement.classList.toggle("has-padding",this._hasPadding),t.contentElement.addEventListener("mousemove",this._popoverMouseMove.bind(this),!0),t.contentElement.addEventListener("mouseout",this._popoverMouseOut.bind(this,t),!0),t.setContentAnchorBox(i.box),t.show(e),this._hidePopoverCallback=()=>{i.hide&&i.hide.call(null),t.hide(),bo=null}):i.hide&&i.hide.call(null))}))}_stopHidePopoverTimer(){this._hidePopoverTimer&&(clearTimeout(this._hidePopoverTimer),this._hidePopoverTimer=null,this._stopShowPopoverTimer())}dispose(){this._container.removeEventListener("mousedown",this._boundMouseDown,!1),this._container.removeEventListener("mousemove",this._boundMouseMove,!1),this._container.removeEventListener("mouseout",this._boundMouseOut,!1)}},PopoverRequest:undefined});var wo=Object.freeze({__proto__:null,ProgressIndicator:class{constructor(){this.element=document.createElement("div"),this.element.classList.add("progress-indicator"),this._shadowRoot=mt(this.element,{cssFile:"ui/progressIndicator.css",enableLegacyPatching:!0,delegatesFocus:void 0}),this._contentElement=this._shadowRoot.createChild("div","progress-indicator-shadow-container"),this._labelElement=this._contentElement.createChild("div","title"),this._progressElement=this._contentElement.createChild("progress"),this._progressElement.value=0,this._stopButton=this._contentElement.createChild("button","progress-indicator-shadow-stop-button"),this._stopButton.addEventListener("click",this.cancel.bind(this)),this._isCanceled=!1,this._worked=0}show(e){e.appendChild(this.element)}done(){this._isDone||(this._isDone=!0,this.element.remove())}cancel(){this._isCanceled=!0}isCanceled(){return this._isCanceled}setTitle(e){this._labelElement.textContent=e}setTotalWork(e){this._progressElement.max=e}setWorked(e,t){this._worked=e,this._progressElement.value=e,t&&this.setTitle(t)}worked(e){this.setWorked(this._worked+(e||1))}}});class vo extends Pt{constructor(e){super(!0),this.registerRequiredCSS("ui/remoteDebuggingTerminatedScreen.css",{enableLegacyPatching:!0});const i=this.contentElement.createChild("div","message"),s=i.createChild("span","reason");s.textContent=e,i.appendChild(Bs("Debugging connection was closed. Reason: %s",[s])),this.contentElement.createChild("div","message").textContent=t.UIString("Reconnect when ready by reopening DevTools.");const n=Qs(t.UIString("Reconnect DevTools"),(()=>window.location.reload()));this.contentElement.createChild("div","button").appendChild(n)}static show(e){const t=new kn;t.setSizeBehavior(Sn.MeasureContent),t.addCloseButton(),t.setDimmed(!0),new vo(e).show(t.contentElement),t.show()}}var Eo=Object.freeze({__proto__:null,RemoteDebuggingTerminatedScreen:vo});class So extends Pt{constructor(e,t){super(),this.element.classList.add("report-section"),t&&this.element.classList.add(t),this._headerElement=this.element.createChild("div","report-section-header"),this._titleElement=this._headerElement.createChild("div","report-section-title"),this.setTitle(e),oe(this._titleElement,2),this._fieldList=this.element.createChild("div","vbox"),this._fieldMap=new Map}title(){return this._titleElement.textContent||""}setTitle(e,t){this._titleElement.textContent!==e&&(this._titleElement.textContent=e),qt.install(this._titleElement,t||""),this._titleElement.classList.toggle("hidden",!this._titleElement.textContent)}setUiGroupTitle(e){K(this.element),be(this.element,e)}createToolbar(){const e=new $i("");return this._headerElement.appendChild(e.element),e}appendField(e,t){let i=this._fieldMap.get(e);return i||(i=this._fieldList.createChild("div","report-field"),i.createChild("div","report-field-name").textContent=e,this._fieldMap.set(e,i),i.createChild("div","report-field-value")),t&&i.lastElementChild&&(i.lastElementChild.textContent=t),i.lastElementChild}appendFlexedField(e,t){const i=this.appendField(e,t);return i.classList.add("report-field-value-is-flexed"),i}removeField(e){const t=this._fieldMap.get(e);t&&t.remove(),this._fieldMap.delete(e)}setFieldVisible(e,t){const i=this._fieldMap.get(e);i&&i.classList.toggle("hidden",!t)}fieldValue(e){const t=this._fieldMap.get(e);return t?t.lastElementChild:null}appendRow(){return this._fieldList.createChild("div","report-row")}appendSelectableRow(){return this._fieldList.createChild("div","report-row report-row-selectable")}clearContent(){this._fieldList.removeChildren(),this._fieldMap.clear()}markFieldListAsGroup(){K(this._fieldList),be(this._fieldList,this.title())}setIconMasked(e){this.element.classList.toggle("show-mask",e)}}var yo=Object.freeze({__proto__:null,ReportView:class extends Pt{constructor(e){super(!0),this.registerRequiredCSS("ui/reportView.css",{enableLegacyPatching:!1}),this._contentBox=this.contentElement.createChild("div","report-content-box"),this._headerElement=this._contentBox.createChild("div","report-header vbox"),this._titleElement=this._headerElement.createChild("div","report-title"),e&&(this._titleElement.textContent=e),oe(this._titleElement,1),this._sectionList=this._contentBox.createChild("div","vbox")}setTitle(e){this._titleElement.textContent!==e&&(this._titleElement.textContent=e)}setSubtitle(e){this._subtitleElement&&this._subtitleElement.textContent===e||(this._subtitleElement||(this._subtitleElement=this._headerElement.createChild("div","report-subtitle")),this._subtitleElement.textContent=e)}setURL(e){this._urlElement||(this._urlElement=this._headerElement.createChild("div","report-url link")),this._urlElement.removeChildren(),e&&this._urlElement.appendChild(e)}createToolbar(){const e=new $i("");return this._headerElement.appendChild(e.element),e}appendSection(e,t){const i=new So(e,t);return i.show(this._sectionList),i}sortSections(e){const t=this.children().slice();if(!t.every(((t,i,s)=>!i||e(s[i-1],s[i])<=0))){this.detachChildWidgets(),t.sort(e);for(const e of t)e.show(this._sectionList)}}setHeaderVisible(e){this._headerElement.classList.toggle("hidden",!e)}setBodyScrollable(e){this._contentBox.classList.toggle("no-scroll",!e)}},Section:So});var xo=Object.freeze({__proto__:null,RootView:class extends Pt{constructor(){super(),this.markAsRoot(),this.element.classList.add("root-view"),this.registerRequiredCSS("ui/rootView.css",{enableLegacyPatching:!0}),this.element.setAttribute("spellcheck","false")}attachToDocument(e){e.defaultView&&e.defaultView.addEventListener("resize",this.doResize.bind(this),!1),this._window=e.defaultView,this.doResize(),this.show(e.body)}doResize(){if(this._window){const e=this.constraints().minimum,t=Ft.instance().zoomFactor(),i=Math.min(0,this._window.innerWidth-e.width/t);this.element.style.marginRight=i+"px";const s=Math.min(0,this._window.innerHeight-e.height/t);this.element.style.marginBottom=s+"px"}super.doResize()}}});const Co=Symbol("searchableView"),To=new WeakMap;class Io{constructor(e,t,i){this.query=e,this.caseSensitive=t,this.isRegex=i}toSearchRegex(e){let t=this.caseSensitive?"":"i";e&&(t+="g");const i=this.isRegex?"/"+this.query+"/":this.query;let s;try{/^\/.+\/$/.test(i)&&(s=new RegExp(i.substring(1,i.length-1),t),s.__fromRegExpQuery=!0)}catch(e){}return s||(s=createPlainTextSearchRegex(i,t)),s}}var ko=Object.freeze({__proto__:null,SearchableView:class extends Pt{constructor(e,s,n){super(!0),this.registerRequiredCSS("ui/searchableView.css",{enableLegacyPatching:!0}),To.set(this.element,this),this._searchProvider=e,this._replaceProvider=s,this._setting=n?i.Settings.instance().createSetting(n,{}):null,this._replaceable=!1,this.contentElement.createChild("slot"),this._footerElementContainer=this.contentElement.createChild("div","search-bar hidden"),this._footerElementContainer.style.order="100",this._footerElement=this._footerElementContainer.createChild("div","toolbar-search");const o=new $i("replace-toggle-toolbar",this._footerElement);this._replaceToggleButton=new Ji(t.UIString("Replace"),"mediumicon-replace"),this._replaceToggleButton.addEventListener(Qi.Events.Click,this._toggleReplace,this),o.appendToolbarItem(this._replaceToggleButton);const r=this._footerElement.createChild("div","toolbar-search-inputs"),a=r.createChild("div","toolbar-search-control");this._searchInputElement=ao.create(),this._searchInputElement.type="search",this._searchInputElement.classList.add("search-replace","custom-search-input"),this._searchInputElement.id="search-input-field",this._searchInputElement.placeholder=t.UIString("Find"),a.appendChild(this._searchInputElement),this._matchesElement=a.createChild("label","search-results-matches"),this._matchesElement.setAttribute("for","search-input-field");const l=a.createChild("div","toolbar-search-navigation-controls");this._searchNavigationPrevElement=l.createChild("div","toolbar-search-navigation toolbar-search-navigation-prev"),this._searchNavigationPrevElement.addEventListener("click",this._onPrevButtonSearch.bind(this),!1),qt.install(this._searchNavigationPrevElement,t.UIString("Search previous")),be(this._searchNavigationPrevElement,t.UIString("Search previous")),this._searchNavigationNextElement=l.createChild("div","toolbar-search-navigation toolbar-search-navigation-next"),this._searchNavigationNextElement.addEventListener("click",this._onNextButtonSearch.bind(this),!1),qt.install(this._searchNavigationNextElement,t.UIString("Search next")),be(this._searchNavigationNextElement,t.UIString("Search next")),this._searchInputElement.addEventListener("keydown",this._onSearchKeyDown.bind(this),!0),this._searchInputElement.addEventListener("input",this._onInput.bind(this),!1),this._replaceInputElement=r.createChild("input","search-replace toolbar-replace-control hidden"),this._replaceInputElement.addEventListener("keydown",this._onReplaceKeyDown.bind(this),!0),this._replaceInputElement.placeholder=t.UIString("Replace"),this._buttonsContainer=this._footerElement.createChild("div","toolbar-search-buttons");const h=this._buttonsContainer.createChild("div","first-row-buttons"),d=new $i("toolbar-search-options",h);this._searchProvider.supportsCaseSensitiveSearch()&&(this._caseSensitiveButton=new Ji(t.UIString("Match Case")),this._caseSensitiveButton.setText("Aa"),this._caseSensitiveButton.addEventListener(Qi.Events.Click,this._toggleCaseSensitiveSearch,this),d.appendToolbarItem(this._caseSensitiveButton)),this._searchProvider.supportsRegexSearch()&&(this._regexButton=new Ji(t.UIString("Use Regular Expression")),this._regexButton.setText(".*"),this._regexButton.addEventListener(Qi.Events.Click,this._toggleRegexSearch,this),d.appendToolbarItem(this._regexButton));const c=Qs(t.UIString("Cancel"),this.closeSearch.bind(this),"search-action-button");h.appendChild(c),this._secondRowButtons=this._buttonsContainer.createChild("div","second-row-buttons hidden"),this._replaceButtonElement=Qs(t.UIString("Replace"),this._replace.bind(this),"search-action-button"),this._replaceButtonElement.disabled=!0,this._secondRowButtons.appendChild(this._replaceButtonElement),this._replaceAllButtonElement=Qs(t.UIString("Replace all"),this._replaceAll.bind(this),"search-action-button"),this._secondRowButtons.appendChild(this._replaceAllButtonElement),this._replaceAllButtonElement.disabled=!0,this._minimalSearchQuerySize=3,this._loadSetting()}static fromElement(e){let t=null;for(;e&&!t;)t=To.get(e)||null,e=e.parentElementOrShadowHost();return t}_toggleCaseSensitiveSearch(){this._caseSensitiveButton&&this._caseSensitiveButton.setToggled(!this._caseSensitiveButton.toggled()),this._saveSetting(),this._performSearch(!1,!0)}_toggleRegexSearch(){this._regexButton&&this._regexButton.setToggled(!this._regexButton.toggled()),this._saveSetting(),this._performSearch(!1,!0)}_toggleReplace(){this._replaceToggleButton.setToggled(!this._replaceToggleButton.toggled()),this._updateSecondRowVisibility()}_saveSetting(){if(!this._setting)return;const e=this._setting.get()||{};this._caseSensitiveButton&&(e.caseSensitive=this._caseSensitiveButton.toggled()),this._regexButton&&(e.isRegex=this._regexButton.toggled()),this._setting.set(e)}_loadSetting(){const e=this._setting&&this._setting.get()||{};this._searchProvider.supportsCaseSensitiveSearch()&&this._caseSensitiveButton&&this._caseSensitiveButton.setToggled(Boolean(e.caseSensitive)),this._searchProvider.supportsRegexSearch()&&this._regexButton&&this._regexButton.setToggled(Boolean(e.isRegex))}setMinimalSearchQuerySize(e){this._minimalSearchQuerySize=e}setPlaceholder(e,t){this._searchInputElement.placeholder=e,t&&be(this._searchInputElement,t)}setReplaceable(e){this._replaceable=e}updateSearchMatchesCount(e){const t=this._searchProvider;t.currentSearchMatches!==e&&(t.currentSearchMatches=e,this._updateSearchMatchesCountAndCurrentMatchIndex(t.currentQuery?e:0,-1))}updateCurrentMatchIndex(e){const t=this._searchProvider;this._updateSearchMatchesCountAndCurrentMatchIndex(t.currentSearchMatches,e)}isSearchVisible(){return Boolean(this._searchIsVisible)}closeSearch(){this.cancelSearch(),this._footerElementContainer.hasFocus()&&this.focus()}_toggleSearchBar(e){this._footerElementContainer.classList.toggle("hidden",!e),this.doResize()}cancelSearch(){this._searchIsVisible&&(this.resetSearch(),delete this._searchIsVisible,this._toggleSearchBar(!1))}resetSearch(){this._clearSearch(),this._updateReplaceVisibility(),this._matchesElement.textContent=""}refreshSearch(){this._searchIsVisible&&(this.resetSearch(),this._performSearch(!1,!1))}handleFindNextShortcut(){return!!this._searchIsVisible&&(this._searchProvider.jumpToNextSearchResult(),!0)}handleFindPreviousShortcut(){return!!this._searchIsVisible&&(this._searchProvider.jumpToPreviousSearchResult(),!0)}handleFindShortcut(){return this.showSearchField(),!0}handleCancelSearchShortcut(){return!!this._searchIsVisible&&(this.closeSearch(),!0)}_updateSearchNavigationButtonState(e){this._replaceButtonElement.disabled=!e,this._replaceAllButtonElement.disabled=!e,this._searchNavigationPrevElement.classList.toggle("enabled",e),this._searchNavigationNextElement.classList.toggle("enabled",e)}_updateSearchMatchesCountAndCurrentMatchIndex(e,i){this._currentQuery?this._matchesElement.textContent=0===e||i>=0?t.UIString("%d of %d",i+1,e):1===e?t.UIString("1 match"):t.UIString("%d matches",e):this._matchesElement.textContent="",this._updateSearchNavigationButtonState(e>0)}showSearchField(){let e;if(this._searchIsVisible&&this.cancelSearch(),!this._searchInputElement.hasFocus()){const t=Ti.instance().element.window().getSelection();t&&t.rangeCount&&(e=t.toString().replace(/\r?\n.*/,""))}this._toggleSearchBar(!0),this._updateReplaceVisibility(),e&&(this._searchInputElement.value=e),this._performSearch(!1,!1),this._searchInputElement.focus(),this._searchInputElement.select(),this._searchIsVisible=!0}_updateReplaceVisibility(){this._replaceToggleButton.setVisible(this._replaceable),this._replaceable||(this._replaceToggleButton.setToggled(!1),this._updateSecondRowVisibility())}_onSearchKeyDown(e){const t=e;if(isEscKey(t))return this.closeSearch(),void t.consume(!0);"Enter"===t.key&&(this._currentQuery?this._jumpToNextSearchResult(t.shiftKey):this._performSearch(!0,!0,t.shiftKey))}_onReplaceKeyDown(e){"Enter"===e.key&&this._replace()}_jumpToNextSearchResult(e){this._currentQuery&&(e?this._searchProvider.jumpToPreviousSearchResult():this._searchProvider.jumpToNextSearchResult())}_onNextButtonSearch(e){this._searchNavigationNextElement.classList.contains("enabled")&&(this._jumpToNextSearchResult(),this._searchInputElement.focus())}_onPrevButtonSearch(e){this._searchNavigationPrevElement.classList.contains("enabled")&&(this._jumpToNextSearchResult(!0),this._searchInputElement.focus())}_onFindClick(e){this._currentQuery?this._jumpToNextSearchResult():this._performSearch(!0,!0),this._searchInputElement.focus()}_onPreviousClick(e){this._currentQuery?this._jumpToNextSearchResult(!0):this._performSearch(!0,!0,!0),this._searchInputElement.focus()}_clearSearch(){const e=this._searchProvider;delete this._currentQuery,Boolean(e.currentQuery)&&(delete e.currentQuery,this._searchProvider.searchCanceled()),this._updateSearchMatchesCountAndCurrentMatchIndex(0,-1)}_performSearch(e,t,i){const s=this._searchInputElement.value;if(!s||!e&&s.length<this._minimalSearchQuerySize&&!this._currentQuery)return void this._clearSearch();this._currentQuery=s,this._searchProvider.currentQuery=s;const n=this._currentSearchConfig();this._searchProvider.performSearch(n,t,i)}_currentSearchConfig(){const e=this._searchInputElement.value,t=!!this._caseSensitiveButton&&this._caseSensitiveButton.toggled(),i=!!this._regexButton&&this._regexButton.toggled();return new Io(e,t,i)}_updateSecondRowVisibility(){const e=this._replaceToggleButton.toggled();this._footerElementContainer.classList.toggle("replaceable",e),this._secondRowButtons.classList.toggle("hidden",!e),this._replaceInputElement.classList.toggle("hidden",!e),e?this._replaceInputElement.focus():this._searchInputElement.focus(),this.doResize()}_replace(){if(!this._replaceProvider)throw new Error("No 'replacable' provided to SearchableView!");const e=this._currentSearchConfig();this._replaceProvider.replaceSelectionWith(e,this._replaceInputElement.value),delete this._currentQuery,this._performSearch(!0,!0)}_replaceAll(){if(!this._replaceProvider)throw new Error("No 'replacable' provided to SearchableView!");const e=this._currentSearchConfig();this._replaceProvider.replaceAllWith(e,this._replaceInputElement.value)}_onInput(e){this._valueChangedTimeoutId&&clearTimeout(this._valueChangedTimeoutId);const t=this._searchInputElement.value.length<3?200:0;this._valueChangedTimeoutId=setTimeout(this._onValueChanged.bind(this),t)}_onValueChanged(){this._searchIsVisible&&(delete this._valueChangedTimeoutId,this._performSearch(!1,!0))}},_symbol:Co,Searchable:class{searchCanceled(){}performSearch(e,t,i){}jumpToNextSearchResult(){}jumpToPreviousSearchResult(){}supportsCaseSensitiveSearch(){throw new Error("not implemented yet")}supportsRegexSearch(){throw new Error("not implemented yet")}},Replaceable:class{replaceSelectionWith(e,t){}replaceAllWith(e,t){}},SearchConfig:Io});var Mo=Object.freeze({__proto__:null,SegmentedButton:class extends Dt{constructor(){super(!0),this._buttons=new Map,this._selected=null,this.registerRequiredCSS("ui/segmentedButton.css",{enableLegacyPatching:!0}),this.contentElement.classList.add("segmented-button")}addSegment(e,t,i){const s=this.contentElement.createChild("button","segmented-button-segment");s.textContent=e,i&&qt.install(s,i),this._buttons.set(t,s),s.addEventListener("click",(()=>this.select(t)))}select(e){if(this._selected!==e){this._selected=e;for(const[e,t]of this._buttons)t.classList.toggle("segmented-button-segment-selected",e===this._selected)}}selected(){return this._selected}}});var Lo=Object.freeze({__proto__:null,SoftDropDown:class{constructor(e,t){this._delegate=t,this._selectedItem=null,this._model=e,this._placeholderText=o`(no item selected)`,this.element=document.createElement("button"),this.element.classList.add("soft-dropdown"),dt(this.element,"ui/softDropDownButton.css",{enableLegacyPatching:!0}),this._titleElement=this.element.createChild("span","title");const i=ke.create("smallicon-triangle-down");this.element.appendChild(i),de(this.element,!1),this._glassPane=new wn,this._glassPane.setMarginBehavior(yn.NoMargin),this._glassPane.setAnchorBehavior(En.PreferBottom),this._glassPane.setOutsideClickCallback(this._hide.bind(this)),this._glassPane.setPointerEventsBehavior(vn.BlockedByGlassPane),this._list=new Fi(e,this,Bi.EqualHeightItems),this._list.element.classList.add("item-list"),this._rowHeight=36,this._width=315,mt(this._glassPane.contentElement,{cssFile:"ui/softDropDown.css",enableLegacyPatching:!0,delegatesFocus:void 0}).appendChild(this._list.element),Z(this._list.element),this._listWasShowing200msAgo=!1,this.element.addEventListener("mousedown",(e=>{this._listWasShowing200msAgo?this._hide(e):this.element.disabled||this._show(e)}),!1),this.element.addEventListener("keydown",this._onKeyDownButton.bind(this),!1),this._list.element.addEventListener("keydown",this._onKeyDownList.bind(this),!1),this._list.element.addEventListener("focusout",this._hide.bind(this),!1),this._list.element.addEventListener("mousedown",(e=>e.consume(!0)),!1),this._list.element.addEventListener("mouseup",(e=>{e.target!==this._list.element&&this._listWasShowing200msAgo&&(this._selectHighlightedItem(),this._hide(e))}),!1),e.addEventListener(Ri.ItemsReplaced,this._itemsReplaced,this)}_show(e){this._glassPane.isShowing()||(this._glassPane.setContentAnchorBox(this.element.boxInWindow()),this._glassPane.show(this.element.ownerDocument),this._list.element.focus(),de(this.element,!0),this._updateGlasspaneSize(),this._selectedItem&&this._list.selectItem(this._selectedItem),e.consume(!0),setTimeout((()=>{this._listWasShowing200msAgo=!0}),200))}_updateGlasspaneSize(){const e=this._rowHeight*Math.min(this._model.length,9);this._glassPane.setMaxContentSize(new He(this._width,e)),this._list.viewportResized()}_hide(e){setTimeout((()=>{this._listWasShowing200msAgo=!1}),200),this._glassPane.hide(),this._list.selectItem(null),de(this.element,!1),this.element.focus(),e.consume(!0)}_onKeyDownButton(e){const t=e;let i=!1;switch(t.key){case"ArrowUp":this._show(t),this._list.selectItemNextPage(),i=!0;break;case"ArrowDown":this._show(t),this._list.selectItemPreviousPage(),i=!0;break;case"Enter":case" ":this._show(t),i=!0}i&&t.consume(!0)}_onKeyDownList(e){const t=e;let i=!1;switch(t.key){case"ArrowLeft":i=this._list.selectPreviousItem(!1,!1);break;case"ArrowRight":i=this._list.selectNextItem(!1,!1);break;case"Home":for(let e=0;e<this._model.length;e++)if(this.isItemSelectable(this._model.at(e))){this._list.selectItem(this._model.at(e)),i=!0;break}break;case"End":for(let e=this._model.length-1;e>=0;e--)if(this.isItemSelectable(this._model.at(e))){this._list.selectItem(this._model.at(e)),i=!0;break}break;case"Escape":this._hide(t),i=!0;break;case"Tab":case"Enter":case" ":this._selectHighlightedItem(),this._hide(t),i=!0;break;default:if(1===t.key.length){const e=this._list.selectedIndex(),s=t.key.toUpperCase();for(let t=0;t<this._model.length;t++){const i=this._model.at((e+t+1)%this._model.length);if(this._delegate.titleFor(i).toUpperCase().startsWith(s)){this._list.selectItem(i);break}}i=!0}}i&&t.consume(!0)}setWidth(e){this._width=e,this._updateGlasspaneSize()}setRowHeight(e){this._rowHeight=e}setPlaceholderText(e){this._placeholderText=e,this._selectedItem||(this._titleElement.textContent=this._placeholderText)}_itemsReplaced(e){const t=e.data.removed;this._selectedItem&&-1!==t.indexOf(this._selectedItem)&&(this._selectedItem=null,this._selectHighlightedItem()),this._updateGlasspaneSize()}selectItem(e){this._selectedItem=e,this._selectedItem?this._titleElement.textContent=this._delegate.titleFor(this._selectedItem):this._titleElement.textContent=this._placeholderText,this._delegate.itemSelected(this._selectedItem)}createElementForItem(e){const t=document.createElement("div");return t.classList.add("item"),t.addEventListener("mousemove",(t=>{(t.movementX||t.movementY)&&this._delegate.isItemSelectable(e)&&this._list.selectItem(e,!1,!0)})),t.classList.toggle("disabled",!this._delegate.isItemSelectable(e)),t.classList.toggle("highlighted",this._list.selectedItem()===e),J(t),t.appendChild(this._delegate.createElementForItem(e)),t}heightForItem(e){return this._rowHeight}isItemSelectable(e){return this._delegate.isItemSelectable(e)}selectedItemChanged(e,t,i,s){i&&i.classList.remove("highlighted"),s&&s.classList.add("highlighted"),ve(this._list.element,s),this._delegate.highlightedItemChanged(e,t,i&&i.firstElementChild,s&&s.firstElementChild)}updateSelectedItemARIA(e,t){return!1}_selectHighlightedItem(){this.selectItem(this._list.selectedItem())}refreshItem(e){this._list.refreshItem(e)}},Delegate:class{titleFor(e){throw new Error("not implemented yet")}createElementForItem(e){throw new Error("not implemented yet")}isItemSelectable(e){throw new Error("not implemented yet")}itemSelected(e){}highlightedItemChanged(e,t,i,s){}}});var Po=Object.freeze({__proto__:null,SyntaxHighlighter:class{constructor(e,t){this._mimeType=e,this._stripExtraWhitespace=t}createSpan(e,t){const i=document.createElement("span");return i.className=t.replace(/\S+/g,"cm-$&"),this._stripExtraWhitespace&&"whitespace"!==t&&(e=e.replace(/^[\n\r]*/,"").replace(/\s*$/,"")),Ys(i,e),i}syntaxHighlightNode(e){const t=e.textContent?e.textContent.split("\n"):[];let i,s;const n=d.Runtime.instance().extension(f.TokenizerFactory);return n?n.instance().then((e=>o.call(this,e))):Promise.resolve();function o(n){e.removeChildren();const o=n.createTokenizer(this._mimeType);for(let n=0;n<t.length;++n){if(s=t[n],i=0,o(s,r.bind(this)),i<s.length){const t=s.substring(i,s.length);Ys(e,t)}n<t.length-1&&Ys(e,"\n")}}function r(t,n,o,r){if(n){if(o>i){const t=s.substring(i,o);Ys(e,t)}e.appendChild(this.createSpan(t,n)),i=r}}}}});var Do=Object.freeze({__proto__:null,TargetCrashedScreen:class extends Pt{constructor(e){super(!0),this.registerRequiredCSS("ui/targetCrashedScreen.css",{enableLegacyPatching:!1}),this.contentElement.createChild("div","message").textContent=t.UIString("DevTools was disconnected from the page."),this.contentElement.createChild("div","message").textContent=t.UIString("Once page is reloaded, DevTools will automatically reconnect."),this._hideCallback=e}willHide(){this._hideCallback.call(null)}}});class Ao extends s.EventTarget{widget(){throw new Error("not implemented")}fullRange(){throw new Error("not implemented")}selection(){throw new Error("not implemented")}setSelection(e){}text(e){throw new Error("not implemented")}textWithCurrentSuggestion(){throw new Error("not implemented")}setText(e){}line(e){throw new Error("not implemented")}newlineAndIndent(){}addKeyDownHandler(e){}configureAutocomplete(e){}clearAutocomplete(){}visualCoordinates(e,t){throw new Error("not implemented")}tokenAtTextPosition(e,t){throw new Error("not implemented")}setPlaceholder(e){}}const Ro={CursorChanged:Symbol("CursorChanged"),TextChanged:Symbol("TextChanged"),SuggestionChanged:Symbol("SuggestionChanged")};var Oo=Object.freeze({__proto__:null,TextEditorFactory:class{createEditor(e){throw new Error("not implemented")}},TextEditor:Ao,Events:Ro,Options:undefined,AutocompleteConfig:undefined});var Bo=Object.freeze({__proto__:null,ThrottledWidget:class extends Pt{constructor(e,t){super(e),this._updateThrottler=new n.Throttler(void 0===t?100:t),this._updateWhenVisible=!1}doUpdate(){return Promise.resolve()}update(){this._updateWhenVisible=!this.isShowing(),this._updateWhenVisible||this._updateThrottler.schedule((()=>this.isShowing()?this.doUpdate():(this._updateWhenVisible=!0,Promise.resolve())))}wasShown(){super.wasShown(),this._updateWhenVisible&&this.update()}}});const Fo=new WeakMap;class zo extends e.ObjectWrapper{constructor(){super(),this._rootElement=this._createRootElement(),this._renderSelection=!1,this.selectedTreeElement=null,this.expandTreeElementsWhenArrowing=!1,this._comparator=null,this.contentElement=this._rootElement._childrenListNode,this.contentElement.addEventListener("keydown",this._treeKeyDown.bind(this),!1),this._preventTabOrder=!1,this._showSelectionOnKeyboardFocus=!1,this._focusable=!0,this.setFocusable(!0),this.element=this.contentElement,X(this.element),this._useLightSelectionColor=!1,this._treeElementToScrollIntoView=null,this._centerUponScrollIntoView=!1}setShowSelectionOnKeyboardFocus(e,t){this.contentElement.classList.toggle("hide-selection-when-blurred",e),this._preventTabOrder=Boolean(t),this._focusable&&(this.contentElement.tabIndex=Boolean(t)?-1:0),this._showSelectionOnKeyboardFocus=e}_createRootElement(){const e=new Ho;return e.treeOutline=this,e.root=!0,e.selectable=!1,e.expanded=!0,e._childrenListNode.classList.remove("children"),e}rootElement(){return this._rootElement}firstChild(){return this._rootElement.firstChild()}_lastDescendent(){let e=this._rootElement.lastChild();for(;e&&e.expanded&&e.childCount();)e=e.lastChild();return e}appendChild(e,t){this._rootElement.appendChild(e,t)}insertChild(e,t){this._rootElement.insertChild(e,t)}removeChild(e){this._rootElement.removeChild(e)}removeChildren(){this._rootElement.removeChildren()}treeElementFromPoint(e,t){const i=gn(this.contentElement.ownerDocument,e,t);if(!i)return null;const s=pn(i,["ol","li"]);return s&&(Fo.get(s)||No.get(s))||null}treeElementFromEvent(e){return e?this.treeElementFromPoint(e.pageX,e.pageY):null}setComparator(e){this._comparator=e}setFocusable(e){this._focusable=e,this.updateFocusable()}updateFocusable(){this._focusable?(this.contentElement.tabIndex=this._preventTabOrder||Boolean(this.selectedTreeElement)?-1:0,this.selectedTreeElement&&this.selectedTreeElement._setFocusable(!0)):(this.contentElement.removeAttribute("tabIndex"),this.selectedTreeElement&&this.selectedTreeElement._setFocusable(!1))}focus(){this.selectedTreeElement?this.selectedTreeElement.listItemElement.focus():this.contentElement.focus()}useLightSelectionColor(){this._useLightSelectionColor=!0}_bindTreeElement(e){e.treeOutline&&console.error("Binding element for the second time: "+(new Error).stack),e.treeOutline=this,e.onbind()}_unbindTreeElement(e){e.treeOutline||console.error("Unbinding element that was not bound: "+(new Error).stack),e.deselect(),e.onunbind(),e.treeOutline=null}selectPrevious(){let e=this.selectedTreeElement&&this.selectedTreeElement.traversePreviousTreeElement(!0);for(;e&&!e.selectable;)e=e.traversePreviousTreeElement(!this.expandTreeElementsWhenArrowing);return!!e&&(e.select(!1,!0),!0)}selectNext(){let e=this.selectedTreeElement&&this.selectedTreeElement.traverseNextTreeElement(!0);for(;e&&!e.selectable;)e=e.traverseNextTreeElement(!this.expandTreeElementsWhenArrowing);return!!e&&(e.select(!1,!0),!0)}forceSelect(e=!1,t=!0){this.selectedTreeElement&&this.selectedTreeElement.deselect(),this._selectFirst(e,t)}_selectFirst(e=!1,t=!0){let i=this.firstChild();for(;i&&!i.selectable;)i=i.traverseNextTreeElement(!0);return!!i&&(i.select(e,t),!0)}_selectLast(){let e=this._lastDescendent();for(;e&&!e.selectable;)e=e.traversePreviousTreeElement(!0);return!!e&&(e.select(!1,!0),!0)}_treeKeyDown(e){if(e.shiftKey||e.metaKey||e.ctrlKey||Ss())return;let t=!1;this.selectedTreeElement?"ArrowUp"!==e.key||e.altKey?"ArrowDown"!==e.key||e.altKey?"ArrowLeft"===e.key?t=this.selectedTreeElement.collapseOrAscend(e.altKey):"ArrowRight"===e.key?this.selectedTreeElement.revealed()?t=this.selectedTreeElement.descendOrExpand(e.altKey):(this.selectedTreeElement.reveal(),t=!0):8===e.keyCode||46===e.keyCode?t=this.selectedTreeElement.ondelete():"Enter"===e.key?t=this.selectedTreeElement.onenter():e.keyCode===et.Space.code?t=this.selectedTreeElement.onspace():"Home"===e.key?t=this._selectFirst():"End"===e.key&&(t=this._selectLast()):t=this.selectNext():t=this.selectPrevious():"ArrowUp"!==e.key||e.altKey?"ArrowDown"!==e.key||e.altKey||(t=this._selectFirst()):t=this._selectLast(),t&&e.consume(!0)}_deferredScrollIntoView(e,t){const i=()=>{if(!this._treeElementToScrollIntoView)return;const e=this._treeElementToScrollIntoView.listItemElement.getBoundingClientRect(),t=this.contentElement.getBoundingClientRect(),i=this.element.getBoundingClientRect(),s=i.left-t.left,n=i.top-t.top;let o=e.left-t.left;o>s&&o<s+i.width?o=s:this._centerUponScrollIntoView&&(o-=i.width/2);let r=e.top-t.top;r>n&&r<n+i.height?r=n:this._centerUponScrollIntoView&&(r-=i.height/2),this.element.scrollTo(o,r),this._treeElementToScrollIntoView=null};this._treeElementToScrollIntoView||this.element.window().requestAnimationFrame(i),this._treeElementToScrollIntoView=e,this._centerUponScrollIntoView=t}onStartedEditingTitle(e){}}const Wo={ElementAttached:Symbol("ElementAttached"),ElementsDetached:Symbol("ElementsDetached"),ElementExpanded:Symbol("ElementExpanded"),ElementCollapsed:Symbol("ElementCollapsed"),ElementSelected:Symbol("ElementSelected")};const No=new WeakMap;class Ho{constructor(e,t){this.treeOutline=null,this.parent=null,this.previousSibling=null,this.nextSibling=null,this._boundOnFocus=this._onFocus.bind(this),this._boundOnBlur=this._onBlur.bind(this),this._listItemNode=document.createElement("li"),this.titleElement=this._listItemNode.createChild("span","tree-element-title"),No.set(this._listItemNode,this),this._title="",e&&(this.title=e),this._listItemNode.addEventListener("mousedown",this._handleMouseDown.bind(this),!1),this._listItemNode.addEventListener("click",this._treeElementToggled.bind(this),!1),this._listItemNode.addEventListener("dblclick",this._handleDoubleClick.bind(this),!1),Y(this._listItemNode),this._children=null,this._childrenListNode=document.createElement("ol"),Fo.set(this._childrenListNode,this),this._childrenListNode.classList.add("children"),K(this._childrenListNode),this._hidden=!1,this._selectable=!0,this.expanded=!1,this.selected=!1,this._expandable,this.setExpandable(t||!1),this._collapsible=!0,this.toggleOnClick=!1,this.button=null,this.root=!1,this._tooltip="",this._leadingIconsElement=null,this._trailingIconsElement=null,this._selectionElement=null}static getTreeElementBylistItemNode(e){return No.get(e)}hasAncestor(e){if(!e)return!1;let t=this.parent;for(;t;){if(e===t)return!0;t=t.parent}return!1}hasAncestorOrSelf(e){return this===e||this.hasAncestor(e)}isHidden(){if(this.hidden)return!0;let e=this.parent;for(;e;){if(e.hidden)return!0;e=e.parent}return!1}children(){return this._children||[]}childCount(){return this._children?this._children.length:0}firstChild(){return this._children?this._children[0]:null}lastChild(){return this._children?this._children[this._children.length-1]:null}childAt(e){return this._children?this._children[e]:null}indexOfChild(e){return this._children?this._children.indexOf(e):-1}appendChild(e,t){let i;this._children||(this._children=[]),i=t?l.lowerBound(this._children,e,t):this.treeOutline&&this.treeOutline._comparator?l.lowerBound(this._children,e,this.treeOutline._comparator):this._children.length,this.insertChild(e,i)}insertChild(e,t){if(this._children||(this._children=[]),!e)throw"child can't be undefined or null";console.assert(!e.parent,"Attempting to insert a child that is already in the tree, reparenting is not supported.");const i=t>0?this._children[t-1]:null;i?(i.nextSibling=e,e.previousSibling=i):e.previousSibling=null;const s=this._children[t];s?(s.previousSibling=e,e.nextSibling=s):e.nextSibling=null,this._children.splice(t,0,e),this.setExpandable(!0),e.parent=this,this.treeOutline&&this.treeOutline._bindTreeElement(e);for(let t=e.firstChild();this.treeOutline&&t;t=t.traverseNextTreeElement(!1,e,!0))this.treeOutline._bindTreeElement(t);e.onattach(),e._ensureSelection(),this.treeOutline&&this.treeOutline.dispatchEventToListeners(Wo.ElementAttached,e);const n=e.nextSibling?e.nextSibling._listItemNode:null;this._childrenListNode.insertBefore(e._listItemNode,n),this._childrenListNode.insertBefore(e._childrenListNode,n),e.selected&&e.select(),e.expanded&&e.expand()}removeChildAtIndex(e){if(!this._children||e<0||e>=this._children.length)throw"childIndex out of range";const t=this._children[e];this._children.splice(e,1);const i=t.parent;this.treeOutline&&this.treeOutline.selectedTreeElement&&this.treeOutline.selectedTreeElement.hasAncestorOrSelf(t)&&(t.nextSibling?t.nextSibling.select(!0):t.previousSibling?t.previousSibling.select(!0):i&&i.select(!0)),t.previousSibling&&(t.previousSibling.nextSibling=t.nextSibling),t.nextSibling&&(t.nextSibling.previousSibling=t.previousSibling),t.parent=null,this.treeOutline&&this.treeOutline._unbindTreeElement(t);for(let e=t.firstChild();this.treeOutline&&e;e=e.traverseNextTreeElement(!1,t,!0))this.treeOutline._unbindTreeElement(e);t._detach(),this.treeOutline&&this.treeOutline.dispatchEventToListeners(Wo.ElementsDetached)}removeChild(e){if(!e)throw"child can't be undefined or null";if(e.parent!==this)return;const t=this._children?this._children.indexOf(e):-1;if(-1===t)throw"child not found in this node's children";this.removeChildAtIndex(t)}removeChildren(){if(!this.root&&this.treeOutline&&this.treeOutline.selectedTreeElement&&this.treeOutline.selectedTreeElement.hasAncestorOrSelf(this)&&this.select(!0),this._children)for(const e of this._children){e.previousSibling=null,e.nextSibling=null,e.parent=null,this.treeOutline&&this.treeOutline._unbindTreeElement(e);for(let t=e.firstChild();this.treeOutline&&t;t=t.traverseNextTreeElement(!1,e,!0))this.treeOutline._unbindTreeElement(t);e._detach()}this._children=[],this.treeOutline&&this.treeOutline.dispatchEventToListeners(Wo.ElementsDetached)}get selectable(){return!this.isHidden()&&this._selectable}set selectable(e){this._selectable=e}get listItemElement(){return this._listItemNode}get childrenListElement(){return this._childrenListNode}get title(){return this._title}set title(e){this._title!==e&&(this._title=e,"string"==typeof e?(this.titleElement.textContent=e,this.tooltip=e):(this.titleElement=e,this.tooltip=""),this._listItemNode.removeChildren(),this._leadingIconsElement&&this._listItemNode.appendChild(this._leadingIconsElement),this._listItemNode.appendChild(this.titleElement),this._trailingIconsElement&&this._listItemNode.appendChild(this._trailingIconsElement),this._ensureSelection())}titleAsText(){return this._title?"string"==typeof this._title?this._title:this._title.textContent||"":""}startEditingTitle(e){co.startEditing(this.titleElement,e),this.treeOutline&&this.treeOutline.onStartedEditingTitle(this)}setLeadingIcons(e){if(this._leadingIconsElement||e.length){this._leadingIconsElement||(this._leadingIconsElement=document.createElement("div"),this._leadingIconsElement.classList.add("leading-icons"),this._leadingIconsElement.classList.add("icons-container"),this._listItemNode.insertBefore(this._leadingIconsElement,this.titleElement),this._ensureSelection()),this._leadingIconsElement.removeChildren();for(const t of e)this._leadingIconsElement.appendChild(t)}}setTrailingIcons(e){if(this._trailingIconsElement||e.length){this._trailingIconsElement||(this._trailingIconsElement=document.createElement("div"),this._trailingIconsElement.classList.add("trailing-icons"),this._trailingIconsElement.classList.add("icons-container"),this._listItemNode.appendChild(this._trailingIconsElement),this._ensureSelection()),this._trailingIconsElement.removeChildren();for(const t of e)this._trailingIconsElement.appendChild(t)}}get tooltip(){return this._tooltip}set tooltip(e){this._tooltip!==e&&(this._tooltip=e,qt.install(this._listItemNode,e))}isExpandable(){return this._expandable}setExpandable(e){this._expandable!==e&&(this._expandable=e,this._listItemNode.classList.toggle("parent",e),e?de(this._listItemNode,!1):(this.collapse(),ce(this._listItemNode)))}setCollapsible(e){this._collapsible!==e&&(this._collapsible=e,this._listItemNode.classList.toggle("always-parent",!e),e||this.expand())}get hidden(){return this._hidden}set hidden(e){if(this._hidden!==e&&(this._hidden=e,this._listItemNode.classList.toggle("hidden",e),this._childrenListNode.classList.toggle("hidden",e),e&&this.treeOutline&&this.treeOutline.selectedTreeElement&&this.treeOutline.selectedTreeElement.hasAncestorOrSelf(this))){const e=this.treeOutline.selectedTreeElement.listItemElement.hasFocus();this.treeOutline.forceSelect(!e,!1)}}invalidateChildren(){this._children&&(this.removeChildren(),this._children=null)}_ensureSelection(){this.treeOutline&&this.treeOutline._renderSelection&&(this._selectionElement||(this._selectionElement=document.createElement("div"),this._selectionElement.classList.add("selection"),this._selectionElement.classList.add("fill")),this._listItemNode.insertBefore(this._selectionElement,this.listItemElement.firstChild))}_treeElementToggled(e){const t=e.currentTarget;if(!t||No.get(t)!==this||t.hasSelection())return;console.assert(Boolean(this.treeOutline));const i=!!this.treeOutline&&this.treeOutline._showSelectionOnKeyboardFocus,s=this.toggleOnClick&&(i||!this.selectable),n=this.isEventWithinDisclosureTriangle(e);(s||n)&&(this.expanded?e.altKey?this.collapseRecursively():this.collapse():e.altKey?this.expandRecursively():this.expand(),e.consume())}_handleMouseDown(e){const t=e.currentTarget;t&&this.selectable&&No.get(t)===this&&(this.isEventWithinDisclosureTriangle(e)||this.selectOnMouseDown(e))}_handleDoubleClick(e){const t=e.currentTarget;if(!t||No.get(t)!==this)return;this.ondblclick(e)||this._expandable&&!this.expanded&&this.expand()}_detach(){this._listItemNode.remove(),this._childrenListNode.remove()}collapse(){if(!this.expanded||!this._collapsible)return;this._listItemNode.classList.remove("expanded"),this._childrenListNode.classList.remove("expanded"),de(this._listItemNode,!1),this.expanded=!1,this.oncollapse(),this.treeOutline&&this.treeOutline.dispatchEventToListeners(Wo.ElementCollapsed,this);const e=this.treeOutline&&this.treeOutline.selectedTreeElement;e&&e.hasAncestor(this)&&this.select(!0,!0)}collapseRecursively(){let e=this;for(;e;)e.expanded&&e.collapse(),e=e.traverseNextTreeElement(!1,this,!0)}collapseChildren(){if(this._children)for(const e of this._children)e.collapseRecursively()}expand(){!this._expandable||this.expanded&&this._children||(this.expanded=!0,this._populateIfNeeded(),this._listItemNode.classList.add("expanded"),this._childrenListNode.classList.add("expanded"),de(this._listItemNode,!0),this.treeOutline&&(this.onexpand(),this.treeOutline.dispatchEventToListeners(Wo.ElementExpanded,this)))}async expandRecursively(e){let t=this;const i={depthChange:0};let s=0;for((void 0===e||isNaN(e))&&(e=3);t;)await t._populateIfNeeded(),s<e&&t.expand(),t=t.traverseNextTreeElement(!1,this,s>=e,i),s+=i.depthChange}collapseOrAscend(e){if(this.expanded&&this._collapsible)return e?this.collapseRecursively():this.collapse(),!0;if(!this.parent||this.parent.root)return!1;if(!this.parent.selectable)return this.parent.collapse(),!0;let t=this.parent;for(;t&&!t.selectable;)t=t.parent;return!!t&&(t.select(!1,!0),!0)}descendOrExpand(e){if(!this._expandable)return!1;if(!this.expanded)return e?this.expandRecursively():this.expand(),!0;let t=this.firstChild();for(;t&&!t.selectable;)t=t.nextSibling;return!!t&&(t.select(!1,!0),!0)}reveal(e){let t=this.parent;for(;t&&!t.root;)t.expanded||t.expand(),t=t.parent;this.treeOutline&&this.treeOutline._deferredScrollIntoView(this,Boolean(e))}revealed(){let e=this.parent;for(;e&&!e.root;){if(!e.expanded)return!1;e=e.parent}return!0}selectOnMouseDown(e){if(this.select(!1,!0)&&e.consume(!0),this._listItemNode.draggable&&this._selectionElement&&this.treeOutline){const e=this.treeOutline.element.getBoundingClientRect().left-this._listItemNode.getBoundingClientRect().left;this._selectionElement.style.setProperty("margin-left",e+"px")}}select(e,t){if(!this.treeOutline||!this.selectable||this.selected)return e||this.listItemElement.focus(),!1;const i=this.treeOutline.selectedTreeElement;return this.treeOutline.selectedTreeElement=null,this.treeOutline._rootElement===this?(i&&i.deselect(),e||this.listItemElement.focus(),!1):(this.selected=!0,this.treeOutline.selectedTreeElement=this,this.treeOutline.updateFocusable(),e&&!this.treeOutline.contentElement.hasFocus()||this.listItemElement.focus(),this._listItemNode.classList.add("selected"),me(this._listItemNode,!0),this.treeOutline.dispatchEventToListeners(Wo.ElementSelected,this),i&&i.deselect(),this.onselect(t))}_setFocusable(e){e?(this._listItemNode.setAttribute("tabIndex",this.treeOutline&&this.treeOutline._preventTabOrder?"-1":"0"),this._listItemNode.addEventListener("focus",this._boundOnFocus,!1),this._listItemNode.addEventListener("blur",this._boundOnBlur,!1)):(this._listItemNode.removeAttribute("tabIndex"),this._listItemNode.removeEventListener("focus",this._boundOnFocus,!1),this._listItemNode.removeEventListener("blur",this._boundOnBlur,!1))}_onFocus(){this.treeOutline&&!this.treeOutline._useLightSelectionColor&&(this.treeOutline.contentElement.classList.contains("hide-selection-when-blurred")||this._listItemNode.classList.add("force-white-icons"))}_onBlur(){this.treeOutline&&!this.treeOutline._useLightSelectionColor&&(this.treeOutline.contentElement.classList.contains("hide-selection-when-blurred")||this._listItemNode.classList.remove("force-white-icons"))}revealAndSelect(e){this.reveal(!0),this.select(e)}deselect(){const e=this._listItemNode.hasFocus();this.selected=!1,this._listItemNode.classList.remove("selected"),_e(this._listItemNode),this._setFocusable(!1),this.treeOutline&&this.treeOutline.selectedTreeElement===this&&(this.treeOutline.selectedTreeElement=null,this.treeOutline.updateFocusable(),e&&this.treeOutline.focus())}async _populateIfNeeded(){this.treeOutline&&this._expandable&&!this._children&&(this._children=[],await this.onpopulate())}async onpopulate(){}onenter(){return!1}ondelete(){return!1}onspace(){return!1}onbind(){}onunbind(){}onattach(){}onexpand(){}oncollapse(){}ondblclick(e){return!1}onselect(e){return!1}traverseNextTreeElement(e,t,i,s){i||this._populateIfNeeded(),s&&(s.depthChange=0);let n=e?this.revealed()?this.firstChild():null:this.firstChild();if(n&&(!e||e&&this.expanded))return s&&(s.depthChange=1),n;if(this===t)return null;if(n=e?this.revealed()?this.nextSibling:null:this.nextSibling,n)return n;for(n=this;n&&!n.root&&!(e?n.revealed()&&n.nextSibling:n.nextSibling)&&n.parent!==t;)s&&(s.depthChange-=1),n=n.parent;return!n||n.root?null:e?n.revealed()?n.nextSibling:null:n.nextSibling}traversePreviousTreeElement(e,t){let i=e?this.revealed()?this.previousSibling:null:this.previousSibling;for(!t&&i&&i._populateIfNeeded();i&&(e?i.revealed()&&i.expanded&&i.lastChild():i.lastChild());)t||i._populateIfNeeded(),i=e?i.revealed()&&i.expanded?i.lastChild():null:i.lastChild();return i||(!this.parent||this.parent.root?null:this.parent)}isEventWithinDisclosureTriangle(e){const t=window.getComputedStyle(this._listItemNode).paddingLeft;console.assert(t.endsWith("px"));const i=parseFloat(t),s=this._listItemNode.totalOffsetLeft()+i;return e.pageX>=s&&e.pageX<=s+10&&this._expandable}}var Vo=Object.freeze({__proto__:null,TreeOutline:zo,Events:Wo,TreeOutlineInShadow:class extends zo{constructor(){super(),this.contentElement.classList.add("tree-outline"),this.element=document.createElement("div"),this._shadowRoot=mt(this.element,{cssFile:"ui/treeoutline.css",enableLegacyPatching:!0,delegatesFocus:void 0}),this._disclosureElement=this._shadowRoot.createChild("div","tree-outline-disclosure"),this._disclosureElement.appendChild(this.contentElement),this._renderSelection=!0}registerRequiredCSS(e,t){dt(this._shadowRoot,e,t)}hideOverflow(){this._disclosureElement.classList.add("tree-outline-disclosure-hide-overflow")}makeDense(){this.contentElement.classList.add("tree-outline-dense")}onStartedEditingTitle(e){const t=this._shadowRoot.getSelection();t&&t.selectAllChildren(e.titleElement)}},treeElementBylistItemNode:No,TreeElement:Ho});export{Ce as ARIAUtils,R as ActionRegistration,F as ActionRegistry,T as Context,S as ContextFlavorListener,Gn as ContextMenu,Ln as Dialog,ht as DockController,Xn as DropTarget,Yn as EmptyWidget,io as FilterBar,so as FilterSuggestionBuilder,oo as ForwardedInputEventHandler,gs as Fragment,Ke as Geometry,In as GlassPane,lo as HistoryInput,De as Icon,gt as Infobar,mo as InplaceEditor,Mi as InspectorView,st as KeyboardShortcut,zi as ListControl,Oi as ListModel,_o as ListWidget,go as Panel,fo as PopoverHelper,wo as ProgressIndicator,Eo as RemoteDebuggingTerminatedScreen,yo as ReportView,vt as ResizerWidget,xo as RootView,ko as SearchableView,Mo as SegmentedButton,Di as SettingsUI,zn as ShortcutRegistry,Nn as SoftContextMenu,Lo as SoftDropDown,jt as SplitWidget,Vi as SuggestBox,Po as SyntaxHighlighter,ii as TabbedPane,Do as TargetCrashedScreen,Oo as TextEditor,qi as TextPrompt,Bo as ThrottledWidget,rs as Toolbar,Qt as Tooltip,Vo as TreeOutline,fn as UIUtils,oi as View,xi as ViewManager,Ot as Widget,yt as XElement,fs as XLink,It as XWidget,Wt as ZoomManager};